/*** Autogenerated by WIDL 11.6 from include/mshtml.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __mshtml_h__
#define __mshtml_h__

/* Forward declarations */

#ifndef __IHTMLFiltersCollection_FWD_DEFINED__
#define __IHTMLFiltersCollection_FWD_DEFINED__
typedef interface IHTMLFiltersCollection IHTMLFiltersCollection;
#ifdef __cplusplus
interface IHTMLFiltersCollection;
#endif /* __cplusplus */
#endif

#ifndef __IIE70DispatchEx_FWD_DEFINED__
#define __IIE70DispatchEx_FWD_DEFINED__
typedef interface IIE70DispatchEx IIE70DispatchEx;
#ifdef __cplusplus
interface IIE70DispatchEx;
#endif /* __cplusplus */
#endif

#ifndef __IIE80DispatchEx_FWD_DEFINED__
#define __IIE80DispatchEx_FWD_DEFINED__
typedef interface IIE80DispatchEx IIE80DispatchEx;
#ifdef __cplusplus
interface IIE80DispatchEx;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMConstructor_FWD_DEFINED__
#define __IHTMLDOMConstructor_FWD_DEFINED__
typedef interface IHTMLDOMConstructor IHTMLDOMConstructor;
#ifdef __cplusplus
interface IHTMLDOMConstructor;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCSSStyleDeclaration_FWD_DEFINED__
#define __IHTMLCSSStyleDeclaration_FWD_DEFINED__
typedef interface IHTMLCSSStyleDeclaration IHTMLCSSStyleDeclaration;
#ifdef __cplusplus
interface IHTMLCSSStyleDeclaration;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCSSStyleDeclaration2_FWD_DEFINED__
#define __IHTMLCSSStyleDeclaration2_FWD_DEFINED__
typedef interface IHTMLCSSStyleDeclaration2 IHTMLCSSStyleDeclaration2;
#ifdef __cplusplus
interface IHTMLCSSStyleDeclaration2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleEnabled_FWD_DEFINED__
#define __IHTMLStyleEnabled_FWD_DEFINED__
typedef interface IHTMLStyleEnabled IHTMLStyleEnabled;
#ifdef __cplusplus
interface IHTMLStyleEnabled;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLCSSStyleDeclaration_FWD_DEFINED__
#define __DispHTMLCSSStyleDeclaration_FWD_DEFINED__
typedef interface DispHTMLCSSStyleDeclaration DispHTMLCSSStyleDeclaration;
#ifdef __cplusplus
interface DispHTMLCSSStyleDeclaration;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCSSStyleDeclaration_FWD_DEFINED__
#define __HTMLCSSStyleDeclaration_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCSSStyleDeclaration HTMLCSSStyleDeclaration;
#else
typedef struct HTMLCSSStyleDeclaration HTMLCSSStyleDeclaration;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCSSStyleDeclaration_FWD_DEFINED__ */

#ifndef __IHTMLStyle_FWD_DEFINED__
#define __IHTMLStyle_FWD_DEFINED__
typedef interface IHTMLStyle IHTMLStyle;
#ifdef __cplusplus
interface IHTMLStyle;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyle2_FWD_DEFINED__
#define __IHTMLStyle2_FWD_DEFINED__
typedef interface IHTMLStyle2 IHTMLStyle2;
#ifdef __cplusplus
interface IHTMLStyle2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyle3_FWD_DEFINED__
#define __IHTMLStyle3_FWD_DEFINED__
typedef interface IHTMLStyle3 IHTMLStyle3;
#ifdef __cplusplus
interface IHTMLStyle3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyle4_FWD_DEFINED__
#define __IHTMLStyle4_FWD_DEFINED__
typedef interface IHTMLStyle4 IHTMLStyle4;
#ifdef __cplusplus
interface IHTMLStyle4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyle5_FWD_DEFINED__
#define __IHTMLStyle5_FWD_DEFINED__
typedef interface IHTMLStyle5 IHTMLStyle5;
#ifdef __cplusplus
interface IHTMLStyle5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyle6_FWD_DEFINED__
#define __IHTMLStyle6_FWD_DEFINED__
typedef interface IHTMLStyle6 IHTMLStyle6;
#ifdef __cplusplus
interface IHTMLStyle6;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRuleStyle_FWD_DEFINED__
#define __IHTMLRuleStyle_FWD_DEFINED__
typedef interface IHTMLRuleStyle IHTMLRuleStyle;
#ifdef __cplusplus
interface IHTMLRuleStyle;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRuleStyle2_FWD_DEFINED__
#define __IHTMLRuleStyle2_FWD_DEFINED__
typedef interface IHTMLRuleStyle2 IHTMLRuleStyle2;
#ifdef __cplusplus
interface IHTMLRuleStyle2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRuleStyle3_FWD_DEFINED__
#define __IHTMLRuleStyle3_FWD_DEFINED__
typedef interface IHTMLRuleStyle3 IHTMLRuleStyle3;
#ifdef __cplusplus
interface IHTMLRuleStyle3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRuleStyle4_FWD_DEFINED__
#define __IHTMLRuleStyle4_FWD_DEFINED__
typedef interface IHTMLRuleStyle4 IHTMLRuleStyle4;
#ifdef __cplusplus
interface IHTMLRuleStyle4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRuleStyle5_FWD_DEFINED__
#define __IHTMLRuleStyle5_FWD_DEFINED__
typedef interface IHTMLRuleStyle5 IHTMLRuleStyle5;
#ifdef __cplusplus
interface IHTMLRuleStyle5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRuleStyle6_FWD_DEFINED__
#define __IHTMLRuleStyle6_FWD_DEFINED__
typedef interface IHTMLRuleStyle6 IHTMLRuleStyle6;
#ifdef __cplusplus
interface IHTMLRuleStyle6;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyle_FWD_DEFINED__
#define __DispHTMLStyle_FWD_DEFINED__
typedef interface DispHTMLStyle DispHTMLStyle;
#ifdef __cplusplus
interface DispHTMLStyle;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyle_FWD_DEFINED__
#define __HTMLStyle_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyle HTMLStyle;
#else
typedef struct HTMLStyle HTMLStyle;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyle_FWD_DEFINED__ */

#ifndef __DispHTMLRuleStyle_FWD_DEFINED__
#define __DispHTMLRuleStyle_FWD_DEFINED__
typedef interface DispHTMLRuleStyle DispHTMLRuleStyle;
#ifdef __cplusplus
interface DispHTMLRuleStyle;
#endif /* __cplusplus */
#endif

#ifndef __HTMLRuleStyle_FWD_DEFINED__
#define __HTMLRuleStyle_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLRuleStyle HTMLRuleStyle;
#else
typedef struct HTMLRuleStyle HTMLRuleStyle;
#endif /* defined __cplusplus */
#endif /* defined __HTMLRuleStyle_FWD_DEFINED__ */

#ifndef __IHTMLCSSRule_FWD_DEFINED__
#define __IHTMLCSSRule_FWD_DEFINED__
typedef interface IHTMLCSSRule IHTMLCSSRule;
#ifdef __cplusplus
interface IHTMLCSSRule;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCSSImportRule_FWD_DEFINED__
#define __IHTMLCSSImportRule_FWD_DEFINED__
typedef interface IHTMLCSSImportRule IHTMLCSSImportRule;
#ifdef __cplusplus
interface IHTMLCSSImportRule;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCSSMediaRule_FWD_DEFINED__
#define __IHTMLCSSMediaRule_FWD_DEFINED__
typedef interface IHTMLCSSMediaRule IHTMLCSSMediaRule;
#ifdef __cplusplus
interface IHTMLCSSMediaRule;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCSSMediaList_FWD_DEFINED__
#define __IHTMLCSSMediaList_FWD_DEFINED__
typedef interface IHTMLCSSMediaList IHTMLCSSMediaList;
#ifdef __cplusplus
interface IHTMLCSSMediaList;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCSSNamespaceRule_FWD_DEFINED__
#define __IHTMLCSSNamespaceRule_FWD_DEFINED__
typedef interface IHTMLCSSNamespaceRule IHTMLCSSNamespaceRule;
#ifdef __cplusplus
interface IHTMLCSSNamespaceRule;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMSCSSKeyframeRule_FWD_DEFINED__
#define __IHTMLMSCSSKeyframeRule_FWD_DEFINED__
typedef interface IHTMLMSCSSKeyframeRule IHTMLMSCSSKeyframeRule;
#ifdef __cplusplus
interface IHTMLMSCSSKeyframeRule;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMSCSSKeyframesRule_FWD_DEFINED__
#define __IHTMLMSCSSKeyframesRule_FWD_DEFINED__
typedef interface IHTMLMSCSSKeyframesRule IHTMLMSCSSKeyframesRule;
#ifdef __cplusplus
interface IHTMLMSCSSKeyframesRule;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLCSSRule_FWD_DEFINED__
#define __DispHTMLCSSRule_FWD_DEFINED__
typedef interface DispHTMLCSSRule DispHTMLCSSRule;
#ifdef __cplusplus
interface DispHTMLCSSRule;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCSSRule_FWD_DEFINED__
#define __HTMLCSSRule_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCSSRule HTMLCSSRule;
#else
typedef struct HTMLCSSRule HTMLCSSRule;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCSSRule_FWD_DEFINED__ */

#ifndef __DispHTMLCSSImportRule_FWD_DEFINED__
#define __DispHTMLCSSImportRule_FWD_DEFINED__
typedef interface DispHTMLCSSImportRule DispHTMLCSSImportRule;
#ifdef __cplusplus
interface DispHTMLCSSImportRule;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCSSImportRule_FWD_DEFINED__
#define __HTMLCSSImportRule_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCSSImportRule HTMLCSSImportRule;
#else
typedef struct HTMLCSSImportRule HTMLCSSImportRule;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCSSImportRule_FWD_DEFINED__ */

#ifndef __DispHTMLCSSMediaRule_FWD_DEFINED__
#define __DispHTMLCSSMediaRule_FWD_DEFINED__
typedef interface DispHTMLCSSMediaRule DispHTMLCSSMediaRule;
#ifdef __cplusplus
interface DispHTMLCSSMediaRule;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCSSMediaRule_FWD_DEFINED__
#define __HTMLCSSMediaRule_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCSSMediaRule HTMLCSSMediaRule;
#else
typedef struct HTMLCSSMediaRule HTMLCSSMediaRule;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCSSMediaRule_FWD_DEFINED__ */

#ifndef __DispHTMLCSSMediaList_FWD_DEFINED__
#define __DispHTMLCSSMediaList_FWD_DEFINED__
typedef interface DispHTMLCSSMediaList DispHTMLCSSMediaList;
#ifdef __cplusplus
interface DispHTMLCSSMediaList;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCSSMediaList_FWD_DEFINED__
#define __HTMLCSSMediaList_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCSSMediaList HTMLCSSMediaList;
#else
typedef struct HTMLCSSMediaList HTMLCSSMediaList;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCSSMediaList_FWD_DEFINED__ */

#ifndef __DispHTMLCSSNamespaceRule_FWD_DEFINED__
#define __DispHTMLCSSNamespaceRule_FWD_DEFINED__
typedef interface DispHTMLCSSNamespaceRule DispHTMLCSSNamespaceRule;
#ifdef __cplusplus
interface DispHTMLCSSNamespaceRule;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCSSNamespaceRule_FWD_DEFINED__
#define __HTMLCSSNamespaceRule_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCSSNamespaceRule HTMLCSSNamespaceRule;
#else
typedef struct HTMLCSSNamespaceRule HTMLCSSNamespaceRule;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCSSNamespaceRule_FWD_DEFINED__ */

#ifndef __DispHTMLMSCSSKeyframeRule_FWD_DEFINED__
#define __DispHTMLMSCSSKeyframeRule_FWD_DEFINED__
typedef interface DispHTMLMSCSSKeyframeRule DispHTMLMSCSSKeyframeRule;
#ifdef __cplusplus
interface DispHTMLMSCSSKeyframeRule;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMSCSSKeyframeRule_FWD_DEFINED__
#define __HTMLMSCSSKeyframeRule_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLMSCSSKeyframeRule HTMLMSCSSKeyframeRule;
#else
typedef struct HTMLMSCSSKeyframeRule HTMLMSCSSKeyframeRule;
#endif /* defined __cplusplus */
#endif /* defined __HTMLMSCSSKeyframeRule_FWD_DEFINED__ */

#ifndef __DispHTMLMSCSSKeyframesRule_FWD_DEFINED__
#define __DispHTMLMSCSSKeyframesRule_FWD_DEFINED__
typedef interface DispHTMLMSCSSKeyframesRule DispHTMLMSCSSKeyframesRule;
#ifdef __cplusplus
interface DispHTMLMSCSSKeyframesRule;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMSCSSKeyframesRule_FWD_DEFINED__
#define __HTMLMSCSSKeyframesRule_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLMSCSSKeyframesRule HTMLMSCSSKeyframesRule;
#else
typedef struct HTMLMSCSSKeyframesRule HTMLMSCSSKeyframesRule;
#endif /* defined __cplusplus */
#endif /* defined __HTMLMSCSSKeyframesRule_FWD_DEFINED__ */

#ifndef __IHTMLRenderStyle_FWD_DEFINED__
#define __IHTMLRenderStyle_FWD_DEFINED__
typedef interface IHTMLRenderStyle IHTMLRenderStyle;
#ifdef __cplusplus
interface IHTMLRenderStyle;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLRenderStyle_FWD_DEFINED__
#define __DispHTMLRenderStyle_FWD_DEFINED__
typedef interface DispHTMLRenderStyle DispHTMLRenderStyle;
#ifdef __cplusplus
interface DispHTMLRenderStyle;
#endif /* __cplusplus */
#endif

#ifndef __HTMLRenderStyle_FWD_DEFINED__
#define __HTMLRenderStyle_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLRenderStyle HTMLRenderStyle;
#else
typedef struct HTMLRenderStyle HTMLRenderStyle;
#endif /* defined __cplusplus */
#endif /* defined __HTMLRenderStyle_FWD_DEFINED__ */

#ifndef __IHTMLCurrentStyle_FWD_DEFINED__
#define __IHTMLCurrentStyle_FWD_DEFINED__
typedef interface IHTMLCurrentStyle IHTMLCurrentStyle;
#ifdef __cplusplus
interface IHTMLCurrentStyle;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCurrentStyle2_FWD_DEFINED__
#define __IHTMLCurrentStyle2_FWD_DEFINED__
typedef interface IHTMLCurrentStyle2 IHTMLCurrentStyle2;
#ifdef __cplusplus
interface IHTMLCurrentStyle2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCurrentStyle3_FWD_DEFINED__
#define __IHTMLCurrentStyle3_FWD_DEFINED__
typedef interface IHTMLCurrentStyle3 IHTMLCurrentStyle3;
#ifdef __cplusplus
interface IHTMLCurrentStyle3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCurrentStyle4_FWD_DEFINED__
#define __IHTMLCurrentStyle4_FWD_DEFINED__
typedef interface IHTMLCurrentStyle4 IHTMLCurrentStyle4;
#ifdef __cplusplus
interface IHTMLCurrentStyle4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCurrentStyle5_FWD_DEFINED__
#define __IHTMLCurrentStyle5_FWD_DEFINED__
typedef interface IHTMLCurrentStyle5 IHTMLCurrentStyle5;
#ifdef __cplusplus
interface IHTMLCurrentStyle5;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLCurrentStyle_FWD_DEFINED__
#define __DispHTMLCurrentStyle_FWD_DEFINED__
typedef interface DispHTMLCurrentStyle DispHTMLCurrentStyle;
#ifdef __cplusplus
interface DispHTMLCurrentStyle;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCurrentStyle_FWD_DEFINED__
#define __HTMLCurrentStyle_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCurrentStyle HTMLCurrentStyle;
#else
typedef struct HTMLCurrentStyle HTMLCurrentStyle;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCurrentStyle_FWD_DEFINED__ */

#ifndef __IHTMLRect_FWD_DEFINED__
#define __IHTMLRect_FWD_DEFINED__
typedef interface IHTMLRect IHTMLRect;
#ifdef __cplusplus
interface IHTMLRect;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRect2_FWD_DEFINED__
#define __IHTMLRect2_FWD_DEFINED__
typedef interface IHTMLRect2 IHTMLRect2;
#ifdef __cplusplus
interface IHTMLRect2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRectCollection_FWD_DEFINED__
#define __IHTMLRectCollection_FWD_DEFINED__
typedef interface IHTMLRectCollection IHTMLRectCollection;
#ifdef __cplusplus
interface IHTMLRectCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMNode_FWD_DEFINED__
#define __IHTMLDOMNode_FWD_DEFINED__
typedef interface IHTMLDOMNode IHTMLDOMNode;
#ifdef __cplusplus
interface IHTMLDOMNode;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMNode2_FWD_DEFINED__
#define __IHTMLDOMNode2_FWD_DEFINED__
typedef interface IHTMLDOMNode2 IHTMLDOMNode2;
#ifdef __cplusplus
interface IHTMLDOMNode2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMNode3_FWD_DEFINED__
#define __IHTMLDOMNode3_FWD_DEFINED__
typedef interface IHTMLDOMNode3 IHTMLDOMNode3;
#ifdef __cplusplus
interface IHTMLDOMNode3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMAttribute_FWD_DEFINED__
#define __IHTMLDOMAttribute_FWD_DEFINED__
typedef interface IHTMLDOMAttribute IHTMLDOMAttribute;
#ifdef __cplusplus
interface IHTMLDOMAttribute;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMAttribute2_FWD_DEFINED__
#define __IHTMLDOMAttribute2_FWD_DEFINED__
typedef interface IHTMLDOMAttribute2 IHTMLDOMAttribute2;
#ifdef __cplusplus
interface IHTMLDOMAttribute2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMAttribute3_FWD_DEFINED__
#define __IHTMLDOMAttribute3_FWD_DEFINED__
typedef interface IHTMLDOMAttribute3 IHTMLDOMAttribute3;
#ifdef __cplusplus
interface IHTMLDOMAttribute3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMAttribute4_FWD_DEFINED__
#define __IHTMLDOMAttribute4_FWD_DEFINED__
typedef interface IHTMLDOMAttribute4 IHTMLDOMAttribute4;
#ifdef __cplusplus
interface IHTMLDOMAttribute4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMTextNode_FWD_DEFINED__
#define __IHTMLDOMTextNode_FWD_DEFINED__
typedef interface IHTMLDOMTextNode IHTMLDOMTextNode;
#ifdef __cplusplus
interface IHTMLDOMTextNode;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMTextNode2_FWD_DEFINED__
#define __IHTMLDOMTextNode2_FWD_DEFINED__
typedef interface IHTMLDOMTextNode2 IHTMLDOMTextNode2;
#ifdef __cplusplus
interface IHTMLDOMTextNode2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMTextNode3_FWD_DEFINED__
#define __IHTMLDOMTextNode3_FWD_DEFINED__
typedef interface IHTMLDOMTextNode3 IHTMLDOMTextNode3;
#ifdef __cplusplus
interface IHTMLDOMTextNode3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMImplementation_FWD_DEFINED__
#define __IHTMLDOMImplementation_FWD_DEFINED__
typedef interface IHTMLDOMImplementation IHTMLDOMImplementation;
#ifdef __cplusplus
interface IHTMLDOMImplementation;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMImplementation2_FWD_DEFINED__
#define __IHTMLDOMImplementation2_FWD_DEFINED__
typedef interface IHTMLDOMImplementation2 IHTMLDOMImplementation2;
#ifdef __cplusplus
interface IHTMLDOMImplementation2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDOMAttribute_FWD_DEFINED__
#define __DispHTMLDOMAttribute_FWD_DEFINED__
typedef interface DispHTMLDOMAttribute DispHTMLDOMAttribute;
#ifdef __cplusplus
interface DispHTMLDOMAttribute;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDOMAttribute_FWD_DEFINED__
#define __HTMLDOMAttribute_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDOMAttribute HTMLDOMAttribute;
#else
typedef struct HTMLDOMAttribute HTMLDOMAttribute;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDOMAttribute_FWD_DEFINED__ */

#ifndef __DispHTMLDOMTextNode_FWD_DEFINED__
#define __DispHTMLDOMTextNode_FWD_DEFINED__
typedef interface DispHTMLDOMTextNode DispHTMLDOMTextNode;
#ifdef __cplusplus
interface DispHTMLDOMTextNode;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDOMTextNode_FWD_DEFINED__
#define __HTMLDOMTextNode_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDOMTextNode HTMLDOMTextNode;
#else
typedef struct HTMLDOMTextNode HTMLDOMTextNode;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDOMTextNode_FWD_DEFINED__ */

#ifndef __DispHTMLDOMImplementation_FWD_DEFINED__
#define __DispHTMLDOMImplementation_FWD_DEFINED__
typedef interface DispHTMLDOMImplementation DispHTMLDOMImplementation;
#ifdef __cplusplus
interface DispHTMLDOMImplementation;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDOMImplementation_FWD_DEFINED__
#define __HTMLDOMImplementation_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDOMImplementation HTMLDOMImplementation;
#else
typedef struct HTMLDOMImplementation HTMLDOMImplementation;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDOMImplementation_FWD_DEFINED__ */

#ifndef __IHTMLAttributeCollection_FWD_DEFINED__
#define __IHTMLAttributeCollection_FWD_DEFINED__
typedef interface IHTMLAttributeCollection IHTMLAttributeCollection;
#ifdef __cplusplus
interface IHTMLAttributeCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAttributeCollection2_FWD_DEFINED__
#define __IHTMLAttributeCollection2_FWD_DEFINED__
typedef interface IHTMLAttributeCollection2 IHTMLAttributeCollection2;
#ifdef __cplusplus
interface IHTMLAttributeCollection2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAttributeCollection3_FWD_DEFINED__
#define __IHTMLAttributeCollection3_FWD_DEFINED__
typedef interface IHTMLAttributeCollection3 IHTMLAttributeCollection3;
#ifdef __cplusplus
interface IHTMLAttributeCollection3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAttributeCollection4_FWD_DEFINED__
#define __IHTMLAttributeCollection4_FWD_DEFINED__
typedef interface IHTMLAttributeCollection4 IHTMLAttributeCollection4;
#ifdef __cplusplus
interface IHTMLAttributeCollection4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMChildrenCollection_FWD_DEFINED__
#define __IHTMLDOMChildrenCollection_FWD_DEFINED__
typedef interface IHTMLDOMChildrenCollection IHTMLDOMChildrenCollection;
#ifdef __cplusplus
interface IHTMLDOMChildrenCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMChildrenCollection2_FWD_DEFINED__
#define __IHTMLDOMChildrenCollection2_FWD_DEFINED__
typedef interface IHTMLDOMChildrenCollection2 IHTMLDOMChildrenCollection2;
#ifdef __cplusplus
interface IHTMLDOMChildrenCollection2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLAttributeCollection_FWD_DEFINED__
#define __DispHTMLAttributeCollection_FWD_DEFINED__
typedef interface DispHTMLAttributeCollection DispHTMLAttributeCollection;
#ifdef __cplusplus
interface DispHTMLAttributeCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAttributeCollection_FWD_DEFINED__
#define __HTMLAttributeCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLAttributeCollection HTMLAttributeCollection;
#else
typedef struct HTMLAttributeCollection HTMLAttributeCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLAttributeCollection_FWD_DEFINED__ */

#ifndef __DispStaticNodeList_FWD_DEFINED__
#define __DispStaticNodeList_FWD_DEFINED__
typedef interface DispStaticNodeList DispStaticNodeList;
#ifdef __cplusplus
interface DispStaticNodeList;
#endif /* __cplusplus */
#endif

#ifndef __StaticNodeList_FWD_DEFINED__
#define __StaticNodeList_FWD_DEFINED__
#ifdef __cplusplus
typedef class StaticNodeList StaticNodeList;
#else
typedef struct StaticNodeList StaticNodeList;
#endif /* defined __cplusplus */
#endif /* defined __StaticNodeList_FWD_DEFINED__ */

#ifndef __DispDOMChildrenCollection_FWD_DEFINED__
#define __DispDOMChildrenCollection_FWD_DEFINED__
typedef interface DispDOMChildrenCollection DispDOMChildrenCollection;
#ifdef __cplusplus
interface DispDOMChildrenCollection;
#endif /* __cplusplus */
#endif

#ifndef __DOMChildrenCollection_FWD_DEFINED__
#define __DOMChildrenCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMChildrenCollection DOMChildrenCollection;
#else
typedef struct DOMChildrenCollection DOMChildrenCollection;
#endif /* defined __cplusplus */
#endif /* defined __DOMChildrenCollection_FWD_DEFINED__ */

#ifndef __HTMLElementEvents4_FWD_DEFINED__
#define __HTMLElementEvents4_FWD_DEFINED__
typedef interface HTMLElementEvents4 HTMLElementEvents4;
#ifdef __cplusplus
interface HTMLElementEvents4;
#endif /* __cplusplus */
#endif

#ifndef __HTMLElementEvents3_FWD_DEFINED__
#define __HTMLElementEvents3_FWD_DEFINED__
typedef interface HTMLElementEvents3 HTMLElementEvents3;
#ifdef __cplusplus
interface HTMLElementEvents3;
#endif /* __cplusplus */
#endif

#ifndef __HTMLElementEvents2_FWD_DEFINED__
#define __HTMLElementEvents2_FWD_DEFINED__
typedef interface HTMLElementEvents2 HTMLElementEvents2;
#ifdef __cplusplus
interface HTMLElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLElementEvents_FWD_DEFINED__
#define __HTMLElementEvents_FWD_DEFINED__
typedef interface HTMLElementEvents HTMLElementEvents;
#ifdef __cplusplus
interface HTMLElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement_FWD_DEFINED__
#define __IHTMLElement_FWD_DEFINED__
typedef interface IHTMLElement IHTMLElement;
#ifdef __cplusplus
interface IHTMLElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement2_FWD_DEFINED__
#define __IHTMLElement2_FWD_DEFINED__
typedef interface IHTMLElement2 IHTMLElement2;
#ifdef __cplusplus
interface IHTMLElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement3_FWD_DEFINED__
#define __IHTMLElement3_FWD_DEFINED__
typedef interface IHTMLElement3 IHTMLElement3;
#ifdef __cplusplus
interface IHTMLElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement4_FWD_DEFINED__
#define __IHTMLElement4_FWD_DEFINED__
typedef interface IHTMLElement4 IHTMLElement4;
#ifdef __cplusplus
interface IHTMLElement4;
#endif /* __cplusplus */
#endif

#ifndef __IElementSelector_FWD_DEFINED__
#define __IElementSelector_FWD_DEFINED__
typedef interface IElementSelector IElementSelector;
#ifdef __cplusplus
interface IElementSelector;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementRender_FWD_DEFINED__
#define __IHTMLElementRender_FWD_DEFINED__
typedef interface IHTMLElementRender IHTMLElementRender;
#ifdef __cplusplus
interface IHTMLElementRender;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLUniqueName_FWD_DEFINED__
#define __IHTMLUniqueName_FWD_DEFINED__
typedef interface IHTMLUniqueName IHTMLUniqueName;
#ifdef __cplusplus
interface IHTMLUniqueName;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement5_FWD_DEFINED__
#define __IHTMLElement5_FWD_DEFINED__
typedef interface IHTMLElement5 IHTMLElement5;
#ifdef __cplusplus
interface IHTMLElement5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement6_FWD_DEFINED__
#define __IHTMLElement6_FWD_DEFINED__
typedef interface IHTMLElement6 IHTMLElement6;
#ifdef __cplusplus
interface IHTMLElement6;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement7_FWD_DEFINED__
#define __IHTMLElement7_FWD_DEFINED__
typedef interface IHTMLElement7 IHTMLElement7;
#ifdef __cplusplus
interface IHTMLElement7;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementAppliedStyles_FWD_DEFINED__
#define __IHTMLElementAppliedStyles_FWD_DEFINED__
typedef interface IHTMLElementAppliedStyles IHTMLElementAppliedStyles;
#ifdef __cplusplus
interface IHTMLElementAppliedStyles;
#endif /* __cplusplus */
#endif

#ifndef __IElementTraversal_FWD_DEFINED__
#define __IElementTraversal_FWD_DEFINED__
typedef interface IElementTraversal IElementTraversal;
#ifdef __cplusplus
interface IElementTraversal;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDatabinding_FWD_DEFINED__
#define __IHTMLDatabinding_FWD_DEFINED__
typedef interface IHTMLDatabinding IHTMLDatabinding;
#ifdef __cplusplus
interface IHTMLDatabinding;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementDefaults_FWD_DEFINED__
#define __IHTMLElementDefaults_FWD_DEFINED__
typedef interface IHTMLElementDefaults IHTMLElementDefaults;
#ifdef __cplusplus
interface IHTMLElementDefaults;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDefaults_FWD_DEFINED__
#define __DispHTMLDefaults_FWD_DEFINED__
typedef interface DispHTMLDefaults DispHTMLDefaults;
#ifdef __cplusplus
interface DispHTMLDefaults;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDefaults_FWD_DEFINED__
#define __HTMLDefaults_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDefaults HTMLDefaults;
#else
typedef struct HTMLDefaults HTMLDefaults;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDefaults_FWD_DEFINED__ */

#ifndef __IHTCDefaultDispatch_FWD_DEFINED__
#define __IHTCDefaultDispatch_FWD_DEFINED__
typedef interface IHTCDefaultDispatch IHTCDefaultDispatch;
#ifdef __cplusplus
interface IHTCDefaultDispatch;
#endif /* __cplusplus */
#endif

#ifndef __IHTCPropertyBehavior_FWD_DEFINED__
#define __IHTCPropertyBehavior_FWD_DEFINED__
typedef interface IHTCPropertyBehavior IHTCPropertyBehavior;
#ifdef __cplusplus
interface IHTCPropertyBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IHTCMethodBehavior_FWD_DEFINED__
#define __IHTCMethodBehavior_FWD_DEFINED__
typedef interface IHTCMethodBehavior IHTCMethodBehavior;
#ifdef __cplusplus
interface IHTCMethodBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IHTCEventBehavior_FWD_DEFINED__
#define __IHTCEventBehavior_FWD_DEFINED__
typedef interface IHTCEventBehavior IHTCEventBehavior;
#ifdef __cplusplus
interface IHTCEventBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IHTCAttachBehavior_FWD_DEFINED__
#define __IHTCAttachBehavior_FWD_DEFINED__
typedef interface IHTCAttachBehavior IHTCAttachBehavior;
#ifdef __cplusplus
interface IHTCAttachBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IHTCAttachBehavior2_FWD_DEFINED__
#define __IHTCAttachBehavior2_FWD_DEFINED__
typedef interface IHTCAttachBehavior2 IHTCAttachBehavior2;
#ifdef __cplusplus
interface IHTCAttachBehavior2;
#endif /* __cplusplus */
#endif

#ifndef __IHTCDescBehavior_FWD_DEFINED__
#define __IHTCDescBehavior_FWD_DEFINED__
typedef interface IHTCDescBehavior IHTCDescBehavior;
#ifdef __cplusplus
interface IHTCDescBehavior;
#endif /* __cplusplus */
#endif

#ifndef __DispHTCDefaultDispatch_FWD_DEFINED__
#define __DispHTCDefaultDispatch_FWD_DEFINED__
typedef interface DispHTCDefaultDispatch DispHTCDefaultDispatch;
#ifdef __cplusplus
interface DispHTCDefaultDispatch;
#endif /* __cplusplus */
#endif

#ifndef __HTCDefaultDispatch_FWD_DEFINED__
#define __HTCDefaultDispatch_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTCDefaultDispatch HTCDefaultDispatch;
#else
typedef struct HTCDefaultDispatch HTCDefaultDispatch;
#endif /* defined __cplusplus */
#endif /* defined __HTCDefaultDispatch_FWD_DEFINED__ */

#ifndef __DispHTCPropertyBehavior_FWD_DEFINED__
#define __DispHTCPropertyBehavior_FWD_DEFINED__
typedef interface DispHTCPropertyBehavior DispHTCPropertyBehavior;
#ifdef __cplusplus
interface DispHTCPropertyBehavior;
#endif /* __cplusplus */
#endif

#ifndef __HTCPropertyBehavior_FWD_DEFINED__
#define __HTCPropertyBehavior_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTCPropertyBehavior HTCPropertyBehavior;
#else
typedef struct HTCPropertyBehavior HTCPropertyBehavior;
#endif /* defined __cplusplus */
#endif /* defined __HTCPropertyBehavior_FWD_DEFINED__ */

#ifndef __DispHTCMethodBehavior_FWD_DEFINED__
#define __DispHTCMethodBehavior_FWD_DEFINED__
typedef interface DispHTCMethodBehavior DispHTCMethodBehavior;
#ifdef __cplusplus
interface DispHTCMethodBehavior;
#endif /* __cplusplus */
#endif

#ifndef __HTCMethodBehavior_FWD_DEFINED__
#define __HTCMethodBehavior_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTCMethodBehavior HTCMethodBehavior;
#else
typedef struct HTCMethodBehavior HTCMethodBehavior;
#endif /* defined __cplusplus */
#endif /* defined __HTCMethodBehavior_FWD_DEFINED__ */

#ifndef __DispHTCEventBehavior_FWD_DEFINED__
#define __DispHTCEventBehavior_FWD_DEFINED__
typedef interface DispHTCEventBehavior DispHTCEventBehavior;
#ifdef __cplusplus
interface DispHTCEventBehavior;
#endif /* __cplusplus */
#endif

#ifndef __HTCEventBehavior_FWD_DEFINED__
#define __HTCEventBehavior_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTCEventBehavior HTCEventBehavior;
#else
typedef struct HTCEventBehavior HTCEventBehavior;
#endif /* defined __cplusplus */
#endif /* defined __HTCEventBehavior_FWD_DEFINED__ */

#ifndef __DispHTCAttachBehavior_FWD_DEFINED__
#define __DispHTCAttachBehavior_FWD_DEFINED__
typedef interface DispHTCAttachBehavior DispHTCAttachBehavior;
#ifdef __cplusplus
interface DispHTCAttachBehavior;
#endif /* __cplusplus */
#endif

#ifndef __HTCAttachBehavior_FWD_DEFINED__
#define __HTCAttachBehavior_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTCAttachBehavior HTCAttachBehavior;
#else
typedef struct HTCAttachBehavior HTCAttachBehavior;
#endif /* defined __cplusplus */
#endif /* defined __HTCAttachBehavior_FWD_DEFINED__ */

#ifndef __DispHTCDescBehavior_FWD_DEFINED__
#define __DispHTCDescBehavior_FWD_DEFINED__
typedef interface DispHTCDescBehavior DispHTCDescBehavior;
#ifdef __cplusplus
interface DispHTCDescBehavior;
#endif /* __cplusplus */
#endif

#ifndef __HTCDescBehavior_FWD_DEFINED__
#define __HTCDescBehavior_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTCDescBehavior HTCDescBehavior;
#else
typedef struct HTCDescBehavior HTCDescBehavior;
#endif /* defined __cplusplus */
#endif /* defined __HTCDescBehavior_FWD_DEFINED__ */

#ifndef __IHTMLUrnCollection_FWD_DEFINED__
#define __IHTMLUrnCollection_FWD_DEFINED__
typedef interface IHTMLUrnCollection IHTMLUrnCollection;
#ifdef __cplusplus
interface IHTMLUrnCollection;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLUrnCollection_FWD_DEFINED__
#define __DispHTMLUrnCollection_FWD_DEFINED__
typedef interface DispHTMLUrnCollection DispHTMLUrnCollection;
#ifdef __cplusplus
interface DispHTMLUrnCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLUrnCollection_FWD_DEFINED__
#define __HTMLUrnCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLUrnCollection HTMLUrnCollection;
#else
typedef struct HTMLUrnCollection HTMLUrnCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLUrnCollection_FWD_DEFINED__ */

#ifndef __IHTMLGenericElement_FWD_DEFINED__
#define __IHTMLGenericElement_FWD_DEFINED__
typedef interface IHTMLGenericElement IHTMLGenericElement;
#ifdef __cplusplus
interface IHTMLGenericElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLGenericElement_FWD_DEFINED__
#define __DispHTMLGenericElement_FWD_DEFINED__
typedef interface DispHTMLGenericElement DispHTMLGenericElement;
#ifdef __cplusplus
interface DispHTMLGenericElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLGenericElement_FWD_DEFINED__
#define __HTMLGenericElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLGenericElement HTMLGenericElement;
#else
typedef struct HTMLGenericElement HTMLGenericElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLGenericElement_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheetRule_FWD_DEFINED__
#define __IHTMLStyleSheetRule_FWD_DEFINED__
typedef interface IHTMLStyleSheetRule IHTMLStyleSheetRule;
#ifdef __cplusplus
interface IHTMLStyleSheetRule;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetRuleApplied_FWD_DEFINED__
#define __IHTMLStyleSheetRuleApplied_FWD_DEFINED__
typedef interface IHTMLStyleSheetRuleApplied IHTMLStyleSheetRuleApplied;
#ifdef __cplusplus
interface IHTMLStyleSheetRuleApplied;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetRule2_FWD_DEFINED__
#define __IHTMLStyleSheetRule2_FWD_DEFINED__
typedef interface IHTMLStyleSheetRule2 IHTMLStyleSheetRule2;
#ifdef __cplusplus
interface IHTMLStyleSheetRule2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesCollection IHTMLStyleSheetRulesCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetRulesCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetRulesCollection2_FWD_DEFINED__
#define __IHTMLStyleSheetRulesCollection2_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesCollection2 IHTMLStyleSheetRulesCollection2;
#ifdef __cplusplus
interface IHTMLStyleSheetRulesCollection2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleSheetRule_FWD_DEFINED__
#define __DispHTMLStyleSheetRule_FWD_DEFINED__
typedef interface DispHTMLStyleSheetRule DispHTMLStyleSheetRule;
#ifdef __cplusplus
interface DispHTMLStyleSheetRule;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleSheetRule_FWD_DEFINED__
#define __HTMLStyleSheetRule_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleSheetRule HTMLStyleSheetRule;
#else
typedef struct HTMLStyleSheetRule HTMLStyleSheetRule;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleSheetRule_FWD_DEFINED__ */

#ifndef __DispHTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetRulesCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetRulesCollection DispHTMLStyleSheetRulesCollection;
#ifdef __cplusplus
interface DispHTMLStyleSheetRulesCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __HTMLStyleSheetRulesCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleSheetRulesCollection HTMLStyleSheetRulesCollection;
#else
typedef struct HTMLStyleSheetRulesCollection HTMLStyleSheetRulesCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleSheetRulesCollection_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheetPage_FWD_DEFINED__
#define __IHTMLStyleSheetPage_FWD_DEFINED__
typedef interface IHTMLStyleSheetPage IHTMLStyleSheetPage;
#ifdef __cplusplus
interface IHTMLStyleSheetPage;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetPage2_FWD_DEFINED__
#define __IHTMLStyleSheetPage2_FWD_DEFINED__
typedef interface IHTMLStyleSheetPage2 IHTMLStyleSheetPage2;
#ifdef __cplusplus
interface IHTMLStyleSheetPage2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetPagesCollection_FWD_DEFINED__
#define __IHTMLStyleSheetPagesCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetPagesCollection IHTMLStyleSheetPagesCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetPagesCollection;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleSheetPage_FWD_DEFINED__
#define __DispHTMLStyleSheetPage_FWD_DEFINED__
typedef interface DispHTMLStyleSheetPage DispHTMLStyleSheetPage;
#ifdef __cplusplus
interface DispHTMLStyleSheetPage;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleSheetPage_FWD_DEFINED__
#define __HTMLStyleSheetPage_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleSheetPage HTMLStyleSheetPage;
#else
typedef struct HTMLStyleSheetPage HTMLStyleSheetPage;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleSheetPage_FWD_DEFINED__ */

#ifndef __DispHTMLStyleSheetPagesCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetPagesCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetPagesCollection DispHTMLStyleSheetPagesCollection;
#ifdef __cplusplus
interface DispHTMLStyleSheetPagesCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleSheetPagesCollection_FWD_DEFINED__
#define __HTMLStyleSheetPagesCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleSheetPagesCollection HTMLStyleSheetPagesCollection;
#else
typedef struct HTMLStyleSheetPagesCollection HTMLStyleSheetPagesCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleSheetPagesCollection_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheet_FWD_DEFINED__
#define __IHTMLStyleSheet_FWD_DEFINED__
typedef interface IHTMLStyleSheet IHTMLStyleSheet;
#ifdef __cplusplus
interface IHTMLStyleSheet;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheet2_FWD_DEFINED__
#define __IHTMLStyleSheet2_FWD_DEFINED__
typedef interface IHTMLStyleSheet2 IHTMLStyleSheet2;
#ifdef __cplusplus
interface IHTMLStyleSheet2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheet3_FWD_DEFINED__
#define __IHTMLStyleSheet3_FWD_DEFINED__
typedef interface IHTMLStyleSheet3 IHTMLStyleSheet3;
#ifdef __cplusplus
interface IHTMLStyleSheet3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheet4_FWD_DEFINED__
#define __IHTMLStyleSheet4_FWD_DEFINED__
typedef interface IHTMLStyleSheet4 IHTMLStyleSheet4;
#ifdef __cplusplus
interface IHTMLStyleSheet4;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleSheet_FWD_DEFINED__
#define __DispHTMLStyleSheet_FWD_DEFINED__
typedef interface DispHTMLStyleSheet DispHTMLStyleSheet;
#ifdef __cplusplus
interface DispHTMLStyleSheet;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleSheet_FWD_DEFINED__
#define __HTMLStyleSheet_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleSheet HTMLStyleSheet;
#else
typedef struct HTMLStyleSheet HTMLStyleSheet;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleSheet_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheetsCollection_FWD_DEFINED__
#define __IHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetsCollection IHTMLStyleSheetsCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetsCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetsCollection2_FWD_DEFINED__
#define __IHTMLStyleSheetsCollection2_FWD_DEFINED__
typedef interface IHTMLStyleSheetsCollection2 IHTMLStyleSheetsCollection2;
#ifdef __cplusplus
interface IHTMLStyleSheetsCollection2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleSheetsCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetsCollection DispHTMLStyleSheetsCollection;
#ifdef __cplusplus
interface DispHTMLStyleSheetsCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleSheetsCollection_FWD_DEFINED__
#define __HTMLStyleSheetsCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleSheetsCollection HTMLStyleSheetsCollection;
#else
typedef struct HTMLStyleSheetsCollection HTMLStyleSheetsCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleSheetsCollection_FWD_DEFINED__ */

#ifndef __HTMLLinkElementEvents2_FWD_DEFINED__
#define __HTMLLinkElementEvents2_FWD_DEFINED__
typedef interface HTMLLinkElementEvents2 HTMLLinkElementEvents2;
#ifdef __cplusplus
interface HTMLLinkElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLLinkElementEvents_FWD_DEFINED__
#define __HTMLLinkElementEvents_FWD_DEFINED__
typedef interface HTMLLinkElementEvents HTMLLinkElementEvents;
#ifdef __cplusplus
interface HTMLLinkElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLinkElement_FWD_DEFINED__
#define __IHTMLLinkElement_FWD_DEFINED__
typedef interface IHTMLLinkElement IHTMLLinkElement;
#ifdef __cplusplus
interface IHTMLLinkElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLinkElement2_FWD_DEFINED__
#define __IHTMLLinkElement2_FWD_DEFINED__
typedef interface IHTMLLinkElement2 IHTMLLinkElement2;
#ifdef __cplusplus
interface IHTMLLinkElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLinkElement3_FWD_DEFINED__
#define __IHTMLLinkElement3_FWD_DEFINED__
typedef interface IHTMLLinkElement3 IHTMLLinkElement3;
#ifdef __cplusplus
interface IHTMLLinkElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLinkElement4_FWD_DEFINED__
#define __IHTMLLinkElement4_FWD_DEFINED__
typedef interface IHTMLLinkElement4 IHTMLLinkElement4;
#ifdef __cplusplus
interface IHTMLLinkElement4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLinkElement5_FWD_DEFINED__
#define __IHTMLLinkElement5_FWD_DEFINED__
typedef interface IHTMLLinkElement5 IHTMLLinkElement5;
#ifdef __cplusplus
interface IHTMLLinkElement5;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLLinkElement_FWD_DEFINED__
#define __DispHTMLLinkElement_FWD_DEFINED__
typedef interface DispHTMLLinkElement DispHTMLLinkElement;
#ifdef __cplusplus
interface DispHTMLLinkElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLLinkElement_FWD_DEFINED__
#define __HTMLLinkElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLLinkElement HTMLLinkElement;
#else
typedef struct HTMLLinkElement HTMLLinkElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLLinkElement_FWD_DEFINED__ */

#ifndef __IHTMLTxtRange_FWD_DEFINED__
#define __IHTMLTxtRange_FWD_DEFINED__
typedef interface IHTMLTxtRange IHTMLTxtRange;
#ifdef __cplusplus
interface IHTMLTxtRange;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTextRangeMetrics_FWD_DEFINED__
#define __IHTMLTextRangeMetrics_FWD_DEFINED__
typedef interface IHTMLTextRangeMetrics IHTMLTextRangeMetrics;
#ifdef __cplusplus
interface IHTMLTextRangeMetrics;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTextRangeMetrics2_FWD_DEFINED__
#define __IHTMLTextRangeMetrics2_FWD_DEFINED__
typedef interface IHTMLTextRangeMetrics2 IHTMLTextRangeMetrics2;
#ifdef __cplusplus
interface IHTMLTextRangeMetrics2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTxtRangeCollection_FWD_DEFINED__
#define __IHTMLTxtRangeCollection_FWD_DEFINED__
typedef interface IHTMLTxtRangeCollection IHTMLTxtRangeCollection;
#ifdef __cplusplus
interface IHTMLTxtRangeCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMRange_FWD_DEFINED__
#define __IHTMLDOMRange_FWD_DEFINED__
typedef interface IHTMLDOMRange IHTMLDOMRange;
#ifdef __cplusplus
interface IHTMLDOMRange;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDOMRange_FWD_DEFINED__
#define __DispHTMLDOMRange_FWD_DEFINED__
typedef interface DispHTMLDOMRange DispHTMLDOMRange;
#ifdef __cplusplus
interface DispHTMLDOMRange;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDOMRange_FWD_DEFINED__
#define __HTMLDOMRange_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDOMRange HTMLDOMRange;
#else
typedef struct HTMLDOMRange HTMLDOMRange;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDOMRange_FWD_DEFINED__ */

#ifndef __HTMLFormElementEvents2_FWD_DEFINED__
#define __HTMLFormElementEvents2_FWD_DEFINED__
typedef interface HTMLFormElementEvents2 HTMLFormElementEvents2;
#ifdef __cplusplus
interface HTMLFormElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFormElementEvents_FWD_DEFINED__
#define __HTMLFormElementEvents_FWD_DEFINED__
typedef interface HTMLFormElementEvents HTMLFormElementEvents;
#ifdef __cplusplus
interface HTMLFormElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFormElement_FWD_DEFINED__
#define __IHTMLFormElement_FWD_DEFINED__
typedef interface IHTMLFormElement IHTMLFormElement;
#ifdef __cplusplus
interface IHTMLFormElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFormElement2_FWD_DEFINED__
#define __IHTMLFormElement2_FWD_DEFINED__
typedef interface IHTMLFormElement2 IHTMLFormElement2;
#ifdef __cplusplus
interface IHTMLFormElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFormElement3_FWD_DEFINED__
#define __IHTMLFormElement3_FWD_DEFINED__
typedef interface IHTMLFormElement3 IHTMLFormElement3;
#ifdef __cplusplus
interface IHTMLFormElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSubmitData_FWD_DEFINED__
#define __IHTMLSubmitData_FWD_DEFINED__
typedef interface IHTMLSubmitData IHTMLSubmitData;
#ifdef __cplusplus
interface IHTMLSubmitData;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFormElement4_FWD_DEFINED__
#define __IHTMLFormElement4_FWD_DEFINED__
typedef interface IHTMLFormElement4 IHTMLFormElement4;
#ifdef __cplusplus
interface IHTMLFormElement4;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLFormElement_FWD_DEFINED__
#define __DispHTMLFormElement_FWD_DEFINED__
typedef interface DispHTMLFormElement DispHTMLFormElement;
#ifdef __cplusplus
interface DispHTMLFormElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFormElement_FWD_DEFINED__
#define __HTMLFormElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLFormElement HTMLFormElement;
#else
typedef struct HTMLFormElement HTMLFormElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLFormElement_FWD_DEFINED__ */

#ifndef __HTMLControlElementEvents2_FWD_DEFINED__
#define __HTMLControlElementEvents2_FWD_DEFINED__
typedef interface HTMLControlElementEvents2 HTMLControlElementEvents2;
#ifdef __cplusplus
interface HTMLControlElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLControlElementEvents_FWD_DEFINED__
#define __HTMLControlElementEvents_FWD_DEFINED__
typedef interface HTMLControlElementEvents HTMLControlElementEvents;
#ifdef __cplusplus
interface HTMLControlElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLControlElement_FWD_DEFINED__
#define __IHTMLControlElement_FWD_DEFINED__
typedef interface IHTMLControlElement IHTMLControlElement;
#ifdef __cplusplus
interface IHTMLControlElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTextElement_FWD_DEFINED__
#define __IHTMLTextElement_FWD_DEFINED__
typedef interface IHTMLTextElement IHTMLTextElement;
#ifdef __cplusplus
interface IHTMLTextElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLTextElement_FWD_DEFINED__
#define __DispHTMLTextElement_FWD_DEFINED__
typedef interface DispHTMLTextElement DispHTMLTextElement;
#ifdef __cplusplus
interface DispHTMLTextElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTextElement_FWD_DEFINED__
#define __HTMLTextElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTextElement HTMLTextElement;
#else
typedef struct HTMLTextElement HTMLTextElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTextElement_FWD_DEFINED__ */

#ifndef __HTMLTextContainerEvents2_FWD_DEFINED__
#define __HTMLTextContainerEvents2_FWD_DEFINED__
typedef interface HTMLTextContainerEvents2 HTMLTextContainerEvents2;
#ifdef __cplusplus
interface HTMLTextContainerEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTextContainerEvents_FWD_DEFINED__
#define __HTMLTextContainerEvents_FWD_DEFINED__
typedef interface HTMLTextContainerEvents HTMLTextContainerEvents;
#ifdef __cplusplus
interface HTMLTextContainerEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTextContainer_FWD_DEFINED__
#define __IHTMLTextContainer_FWD_DEFINED__
typedef interface IHTMLTextContainer IHTMLTextContainer;
#ifdef __cplusplus
interface IHTMLTextContainer;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLControlRange_FWD_DEFINED__
#define __IHTMLControlRange_FWD_DEFINED__
typedef interface IHTMLControlRange IHTMLControlRange;
#ifdef __cplusplus
interface IHTMLControlRange;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLControlRange2_FWD_DEFINED__
#define __IHTMLControlRange2_FWD_DEFINED__
typedef interface IHTMLControlRange2 IHTMLControlRange2;
#ifdef __cplusplus
interface IHTMLControlRange2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLImgEvents2_FWD_DEFINED__
#define __HTMLImgEvents2_FWD_DEFINED__
typedef interface HTMLImgEvents2 HTMLImgEvents2;
#ifdef __cplusplus
interface HTMLImgEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLImgEvents_FWD_DEFINED__
#define __HTMLImgEvents_FWD_DEFINED__
typedef interface HTMLImgEvents HTMLImgEvents;
#ifdef __cplusplus
interface HTMLImgEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLImgElement_FWD_DEFINED__
#define __IHTMLImgElement_FWD_DEFINED__
typedef interface IHTMLImgElement IHTMLImgElement;
#ifdef __cplusplus
interface IHTMLImgElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLImgElement2_FWD_DEFINED__
#define __IHTMLImgElement2_FWD_DEFINED__
typedef interface IHTMLImgElement2 IHTMLImgElement2;
#ifdef __cplusplus
interface IHTMLImgElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLImgElement3_FWD_DEFINED__
#define __IHTMLImgElement3_FWD_DEFINED__
typedef interface IHTMLImgElement3 IHTMLImgElement3;
#ifdef __cplusplus
interface IHTMLImgElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLImgElement4_FWD_DEFINED__
#define __IHTMLImgElement4_FWD_DEFINED__
typedef interface IHTMLImgElement4 IHTMLImgElement4;
#ifdef __cplusplus
interface IHTMLImgElement4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMSImgElement_FWD_DEFINED__
#define __IHTMLMSImgElement_FWD_DEFINED__
typedef interface IHTMLMSImgElement IHTMLMSImgElement;
#ifdef __cplusplus
interface IHTMLMSImgElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLImageElementFactory_FWD_DEFINED__
#define __IHTMLImageElementFactory_FWD_DEFINED__
typedef interface IHTMLImageElementFactory IHTMLImageElementFactory;
#ifdef __cplusplus
interface IHTMLImageElementFactory;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLImg_FWD_DEFINED__
#define __DispHTMLImg_FWD_DEFINED__
typedef interface DispHTMLImg DispHTMLImg;
#ifdef __cplusplus
interface DispHTMLImg;
#endif /* __cplusplus */
#endif

#ifndef __HTMLImg_FWD_DEFINED__
#define __HTMLImg_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLImg HTMLImg;
#else
typedef struct HTMLImg HTMLImg;
#endif /* defined __cplusplus */
#endif /* defined __HTMLImg_FWD_DEFINED__ */

#ifndef __HTMLImageElementFactory_FWD_DEFINED__
#define __HTMLImageElementFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLImageElementFactory HTMLImageElementFactory;
#else
typedef struct HTMLImageElementFactory HTMLImageElementFactory;
#endif /* defined __cplusplus */
#endif /* defined __HTMLImageElementFactory_FWD_DEFINED__ */

#ifndef __IHTMLBodyElement_FWD_DEFINED__
#define __IHTMLBodyElement_FWD_DEFINED__
typedef interface IHTMLBodyElement IHTMLBodyElement;
#ifdef __cplusplus
interface IHTMLBodyElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBodyElement2_FWD_DEFINED__
#define __IHTMLBodyElement2_FWD_DEFINED__
typedef interface IHTMLBodyElement2 IHTMLBodyElement2;
#ifdef __cplusplus
interface IHTMLBodyElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBodyElement3_FWD_DEFINED__
#define __IHTMLBodyElement3_FWD_DEFINED__
typedef interface IHTMLBodyElement3 IHTMLBodyElement3;
#ifdef __cplusplus
interface IHTMLBodyElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBodyElement4_FWD_DEFINED__
#define __IHTMLBodyElement4_FWD_DEFINED__
typedef interface IHTMLBodyElement4 IHTMLBodyElement4;
#ifdef __cplusplus
interface IHTMLBodyElement4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBodyElement5_FWD_DEFINED__
#define __IHTMLBodyElement5_FWD_DEFINED__
typedef interface IHTMLBodyElement5 IHTMLBodyElement5;
#ifdef __cplusplus
interface IHTMLBodyElement5;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLBody_FWD_DEFINED__
#define __DispHTMLBody_FWD_DEFINED__
typedef interface DispHTMLBody DispHTMLBody;
#ifdef __cplusplus
interface DispHTMLBody;
#endif /* __cplusplus */
#endif

#ifndef __HTMLBody_FWD_DEFINED__
#define __HTMLBody_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLBody HTMLBody;
#else
typedef struct HTMLBody HTMLBody;
#endif /* defined __cplusplus */
#endif /* defined __HTMLBody_FWD_DEFINED__ */

#ifndef __IHTMLFontElement_FWD_DEFINED__
#define __IHTMLFontElement_FWD_DEFINED__
typedef interface IHTMLFontElement IHTMLFontElement;
#ifdef __cplusplus
interface IHTMLFontElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLFontElement_FWD_DEFINED__
#define __DispHTMLFontElement_FWD_DEFINED__
typedef interface DispHTMLFontElement DispHTMLFontElement;
#ifdef __cplusplus
interface DispHTMLFontElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFontElement_FWD_DEFINED__
#define __HTMLFontElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLFontElement HTMLFontElement;
#else
typedef struct HTMLFontElement HTMLFontElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLFontElement_FWD_DEFINED__ */

#ifndef __HTMLAnchorEvents2_FWD_DEFINED__
#define __HTMLAnchorEvents2_FWD_DEFINED__
typedef interface HTMLAnchorEvents2 HTMLAnchorEvents2;
#ifdef __cplusplus
interface HTMLAnchorEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAnchorEvents_FWD_DEFINED__
#define __HTMLAnchorEvents_FWD_DEFINED__
typedef interface HTMLAnchorEvents HTMLAnchorEvents;
#ifdef __cplusplus
interface HTMLAnchorEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAnchorElement_FWD_DEFINED__
#define __IHTMLAnchorElement_FWD_DEFINED__
typedef interface IHTMLAnchorElement IHTMLAnchorElement;
#ifdef __cplusplus
interface IHTMLAnchorElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAnchorElement2_FWD_DEFINED__
#define __IHTMLAnchorElement2_FWD_DEFINED__
typedef interface IHTMLAnchorElement2 IHTMLAnchorElement2;
#ifdef __cplusplus
interface IHTMLAnchorElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAnchorElement3_FWD_DEFINED__
#define __IHTMLAnchorElement3_FWD_DEFINED__
typedef interface IHTMLAnchorElement3 IHTMLAnchorElement3;
#ifdef __cplusplus
interface IHTMLAnchorElement3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLAnchorElement_FWD_DEFINED__
#define __DispHTMLAnchorElement_FWD_DEFINED__
typedef interface DispHTMLAnchorElement DispHTMLAnchorElement;
#ifdef __cplusplus
interface DispHTMLAnchorElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAnchorElement_FWD_DEFINED__
#define __HTMLAnchorElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLAnchorElement HTMLAnchorElement;
#else
typedef struct HTMLAnchorElement HTMLAnchorElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLAnchorElement_FWD_DEFINED__ */

#ifndef __HTMLLabelEvents2_FWD_DEFINED__
#define __HTMLLabelEvents2_FWD_DEFINED__
typedef interface HTMLLabelEvents2 HTMLLabelEvents2;
#ifdef __cplusplus
interface HTMLLabelEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLLabelEvents_FWD_DEFINED__
#define __HTMLLabelEvents_FWD_DEFINED__
typedef interface HTMLLabelEvents HTMLLabelEvents;
#ifdef __cplusplus
interface HTMLLabelEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLabelElement_FWD_DEFINED__
#define __IHTMLLabelElement_FWD_DEFINED__
typedef interface IHTMLLabelElement IHTMLLabelElement;
#ifdef __cplusplus
interface IHTMLLabelElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLabelElement2_FWD_DEFINED__
#define __IHTMLLabelElement2_FWD_DEFINED__
typedef interface IHTMLLabelElement2 IHTMLLabelElement2;
#ifdef __cplusplus
interface IHTMLLabelElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLLabelElement_FWD_DEFINED__
#define __DispHTMLLabelElement_FWD_DEFINED__
typedef interface DispHTMLLabelElement DispHTMLLabelElement;
#ifdef __cplusplus
interface DispHTMLLabelElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLLabelElement_FWD_DEFINED__
#define __HTMLLabelElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLLabelElement HTMLLabelElement;
#else
typedef struct HTMLLabelElement HTMLLabelElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLLabelElement_FWD_DEFINED__ */

#ifndef __IHTMLListElement_FWD_DEFINED__
#define __IHTMLListElement_FWD_DEFINED__
typedef interface IHTMLListElement IHTMLListElement;
#ifdef __cplusplus
interface IHTMLListElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLListElement2_FWD_DEFINED__
#define __IHTMLListElement2_FWD_DEFINED__
typedef interface IHTMLListElement2 IHTMLListElement2;
#ifdef __cplusplus
interface IHTMLListElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLListElement_FWD_DEFINED__
#define __DispHTMLListElement_FWD_DEFINED__
typedef interface DispHTMLListElement DispHTMLListElement;
#ifdef __cplusplus
interface DispHTMLListElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLListElement_FWD_DEFINED__
#define __HTMLListElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLListElement HTMLListElement;
#else
typedef struct HTMLListElement HTMLListElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLListElement_FWD_DEFINED__ */

#ifndef __IHTMLUListElement_FWD_DEFINED__
#define __IHTMLUListElement_FWD_DEFINED__
typedef interface IHTMLUListElement IHTMLUListElement;
#ifdef __cplusplus
interface IHTMLUListElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLUListElement_FWD_DEFINED__
#define __DispHTMLUListElement_FWD_DEFINED__
typedef interface DispHTMLUListElement DispHTMLUListElement;
#ifdef __cplusplus
interface DispHTMLUListElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLUListElement_FWD_DEFINED__
#define __HTMLUListElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLUListElement HTMLUListElement;
#else
typedef struct HTMLUListElement HTMLUListElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLUListElement_FWD_DEFINED__ */

#ifndef __IHTMLOListElement_FWD_DEFINED__
#define __IHTMLOListElement_FWD_DEFINED__
typedef interface IHTMLOListElement IHTMLOListElement;
#ifdef __cplusplus
interface IHTMLOListElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLOListElement_FWD_DEFINED__
#define __DispHTMLOListElement_FWD_DEFINED__
typedef interface DispHTMLOListElement DispHTMLOListElement;
#ifdef __cplusplus
interface DispHTMLOListElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLOListElement_FWD_DEFINED__
#define __HTMLOListElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLOListElement HTMLOListElement;
#else
typedef struct HTMLOListElement HTMLOListElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLOListElement_FWD_DEFINED__ */

#ifndef __IHTMLLIElement_FWD_DEFINED__
#define __IHTMLLIElement_FWD_DEFINED__
typedef interface IHTMLLIElement IHTMLLIElement;
#ifdef __cplusplus
interface IHTMLLIElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLLIElement_FWD_DEFINED__
#define __DispHTMLLIElement_FWD_DEFINED__
typedef interface DispHTMLLIElement DispHTMLLIElement;
#ifdef __cplusplus
interface DispHTMLLIElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLLIElement_FWD_DEFINED__
#define __HTMLLIElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLLIElement HTMLLIElement;
#else
typedef struct HTMLLIElement HTMLLIElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLLIElement_FWD_DEFINED__ */

#ifndef __IHTMLBlockElement_FWD_DEFINED__
#define __IHTMLBlockElement_FWD_DEFINED__
typedef interface IHTMLBlockElement IHTMLBlockElement;
#ifdef __cplusplus
interface IHTMLBlockElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBlockElement2_FWD_DEFINED__
#define __IHTMLBlockElement2_FWD_DEFINED__
typedef interface IHTMLBlockElement2 IHTMLBlockElement2;
#ifdef __cplusplus
interface IHTMLBlockElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBlockElement3_FWD_DEFINED__
#define __IHTMLBlockElement3_FWD_DEFINED__
typedef interface IHTMLBlockElement3 IHTMLBlockElement3;
#ifdef __cplusplus
interface IHTMLBlockElement3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLBlockElement_FWD_DEFINED__
#define __DispHTMLBlockElement_FWD_DEFINED__
typedef interface DispHTMLBlockElement DispHTMLBlockElement;
#ifdef __cplusplus
interface DispHTMLBlockElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLBlockElement_FWD_DEFINED__
#define __HTMLBlockElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLBlockElement HTMLBlockElement;
#else
typedef struct HTMLBlockElement HTMLBlockElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLBlockElement_FWD_DEFINED__ */

#ifndef __IHTMLDivElement_FWD_DEFINED__
#define __IHTMLDivElement_FWD_DEFINED__
typedef interface IHTMLDivElement IHTMLDivElement;
#ifdef __cplusplus
interface IHTMLDivElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDivElement_FWD_DEFINED__
#define __DispHTMLDivElement_FWD_DEFINED__
typedef interface DispHTMLDivElement DispHTMLDivElement;
#ifdef __cplusplus
interface DispHTMLDivElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDivElement_FWD_DEFINED__
#define __HTMLDivElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDivElement HTMLDivElement;
#else
typedef struct HTMLDivElement HTMLDivElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDivElement_FWD_DEFINED__ */

#ifndef __IHTMLDDElement_FWD_DEFINED__
#define __IHTMLDDElement_FWD_DEFINED__
typedef interface IHTMLDDElement IHTMLDDElement;
#ifdef __cplusplus
interface IHTMLDDElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDDElement_FWD_DEFINED__
#define __DispHTMLDDElement_FWD_DEFINED__
typedef interface DispHTMLDDElement DispHTMLDDElement;
#ifdef __cplusplus
interface DispHTMLDDElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDDElement_FWD_DEFINED__
#define __HTMLDDElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDDElement HTMLDDElement;
#else
typedef struct HTMLDDElement HTMLDDElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDDElement_FWD_DEFINED__ */

#ifndef __IHTMLDTElement_FWD_DEFINED__
#define __IHTMLDTElement_FWD_DEFINED__
typedef interface IHTMLDTElement IHTMLDTElement;
#ifdef __cplusplus
interface IHTMLDTElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDTElement_FWD_DEFINED__
#define __DispHTMLDTElement_FWD_DEFINED__
typedef interface DispHTMLDTElement DispHTMLDTElement;
#ifdef __cplusplus
interface DispHTMLDTElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDTElement_FWD_DEFINED__
#define __HTMLDTElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDTElement HTMLDTElement;
#else
typedef struct HTMLDTElement HTMLDTElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDTElement_FWD_DEFINED__ */

#ifndef __IHTMLBRElement_FWD_DEFINED__
#define __IHTMLBRElement_FWD_DEFINED__
typedef interface IHTMLBRElement IHTMLBRElement;
#ifdef __cplusplus
interface IHTMLBRElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLBRElement_FWD_DEFINED__
#define __DispHTMLBRElement_FWD_DEFINED__
typedef interface DispHTMLBRElement DispHTMLBRElement;
#ifdef __cplusplus
interface DispHTMLBRElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLBRElement_FWD_DEFINED__
#define __HTMLBRElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLBRElement HTMLBRElement;
#else
typedef struct HTMLBRElement HTMLBRElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLBRElement_FWD_DEFINED__ */

#ifndef __IHTMLDListElement_FWD_DEFINED__
#define __IHTMLDListElement_FWD_DEFINED__
typedef interface IHTMLDListElement IHTMLDListElement;
#ifdef __cplusplus
interface IHTMLDListElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDListElement_FWD_DEFINED__
#define __DispHTMLDListElement_FWD_DEFINED__
typedef interface DispHTMLDListElement DispHTMLDListElement;
#ifdef __cplusplus
interface DispHTMLDListElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDListElement_FWD_DEFINED__
#define __HTMLDListElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDListElement HTMLDListElement;
#else
typedef struct HTMLDListElement HTMLDListElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDListElement_FWD_DEFINED__ */

#ifndef __IHTMLHRElement_FWD_DEFINED__
#define __IHTMLHRElement_FWD_DEFINED__
typedef interface IHTMLHRElement IHTMLHRElement;
#ifdef __cplusplus
interface IHTMLHRElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLHRElement_FWD_DEFINED__
#define __DispHTMLHRElement_FWD_DEFINED__
typedef interface DispHTMLHRElement DispHTMLHRElement;
#ifdef __cplusplus
interface DispHTMLHRElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLHRElement_FWD_DEFINED__
#define __HTMLHRElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLHRElement HTMLHRElement;
#else
typedef struct HTMLHRElement HTMLHRElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLHRElement_FWD_DEFINED__ */

#ifndef __IHTMLParaElement_FWD_DEFINED__
#define __IHTMLParaElement_FWD_DEFINED__
typedef interface IHTMLParaElement IHTMLParaElement;
#ifdef __cplusplus
interface IHTMLParaElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLParaElement_FWD_DEFINED__
#define __DispHTMLParaElement_FWD_DEFINED__
typedef interface DispHTMLParaElement DispHTMLParaElement;
#ifdef __cplusplus
interface DispHTMLParaElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLParaElement_FWD_DEFINED__
#define __HTMLParaElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLParaElement HTMLParaElement;
#else
typedef struct HTMLParaElement HTMLParaElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLParaElement_FWD_DEFINED__ */

#ifndef __IHTMLElementCollection_FWD_DEFINED__
#define __IHTMLElementCollection_FWD_DEFINED__
typedef interface IHTMLElementCollection IHTMLElementCollection;
#ifdef __cplusplus
interface IHTMLElementCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementCollection2_FWD_DEFINED__
#define __IHTMLElementCollection2_FWD_DEFINED__
typedef interface IHTMLElementCollection2 IHTMLElementCollection2;
#ifdef __cplusplus
interface IHTMLElementCollection2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementCollection3_FWD_DEFINED__
#define __IHTMLElementCollection3_FWD_DEFINED__
typedef interface IHTMLElementCollection3 IHTMLElementCollection3;
#ifdef __cplusplus
interface IHTMLElementCollection3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementCollection4_FWD_DEFINED__
#define __IHTMLElementCollection4_FWD_DEFINED__
typedef interface IHTMLElementCollection4 IHTMLElementCollection4;
#ifdef __cplusplus
interface IHTMLElementCollection4;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLElementCollection_FWD_DEFINED__
#define __DispHTMLElementCollection_FWD_DEFINED__
typedef interface DispHTMLElementCollection DispHTMLElementCollection;
#ifdef __cplusplus
interface DispHTMLElementCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLElementCollection_FWD_DEFINED__
#define __HTMLElementCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLElementCollection HTMLElementCollection;
#else
typedef struct HTMLElementCollection HTMLElementCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLElementCollection_FWD_DEFINED__ */

#ifndef __IHTMLHeaderElement_FWD_DEFINED__
#define __IHTMLHeaderElement_FWD_DEFINED__
typedef interface IHTMLHeaderElement IHTMLHeaderElement;
#ifdef __cplusplus
interface IHTMLHeaderElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLHeaderElement_FWD_DEFINED__
#define __DispHTMLHeaderElement_FWD_DEFINED__
typedef interface DispHTMLHeaderElement DispHTMLHeaderElement;
#ifdef __cplusplus
interface DispHTMLHeaderElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLHeaderElement_FWD_DEFINED__
#define __HTMLHeaderElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLHeaderElement HTMLHeaderElement;
#else
typedef struct HTMLHeaderElement HTMLHeaderElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLHeaderElement_FWD_DEFINED__ */

#ifndef __HTMLSelectElementEvents2_FWD_DEFINED__
#define __HTMLSelectElementEvents2_FWD_DEFINED__
typedef interface HTMLSelectElementEvents2 HTMLSelectElementEvents2;
#ifdef __cplusplus
interface HTMLSelectElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLSelectElementEvents_FWD_DEFINED__
#define __HTMLSelectElementEvents_FWD_DEFINED__
typedef interface HTMLSelectElementEvents HTMLSelectElementEvents;
#ifdef __cplusplus
interface HTMLSelectElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelectElementEx_FWD_DEFINED__
#define __IHTMLSelectElementEx_FWD_DEFINED__
typedef interface IHTMLSelectElementEx IHTMLSelectElementEx;
#ifdef __cplusplus
interface IHTMLSelectElementEx;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelectElement_FWD_DEFINED__
#define __IHTMLSelectElement_FWD_DEFINED__
typedef interface IHTMLSelectElement IHTMLSelectElement;
#ifdef __cplusplus
interface IHTMLSelectElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelectElement2_FWD_DEFINED__
#define __IHTMLSelectElement2_FWD_DEFINED__
typedef interface IHTMLSelectElement2 IHTMLSelectElement2;
#ifdef __cplusplus
interface IHTMLSelectElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelectElement4_FWD_DEFINED__
#define __IHTMLSelectElement4_FWD_DEFINED__
typedef interface IHTMLSelectElement4 IHTMLSelectElement4;
#ifdef __cplusplus
interface IHTMLSelectElement4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelectElement5_FWD_DEFINED__
#define __IHTMLSelectElement5_FWD_DEFINED__
typedef interface IHTMLSelectElement5 IHTMLSelectElement5;
#ifdef __cplusplus
interface IHTMLSelectElement5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelectElement6_FWD_DEFINED__
#define __IHTMLSelectElement6_FWD_DEFINED__
typedef interface IHTMLSelectElement6 IHTMLSelectElement6;
#ifdef __cplusplus
interface IHTMLSelectElement6;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLSelectElement_FWD_DEFINED__
#define __DispHTMLSelectElement_FWD_DEFINED__
typedef interface DispHTMLSelectElement DispHTMLSelectElement;
#ifdef __cplusplus
interface DispHTMLSelectElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLSelectElement_FWD_DEFINED__
#define __HTMLSelectElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLSelectElement HTMLSelectElement;
#else
typedef struct HTMLSelectElement HTMLSelectElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLSelectElement_FWD_DEFINED__ */

#ifndef __DispHTMLWndSelectElement_FWD_DEFINED__
#define __DispHTMLWndSelectElement_FWD_DEFINED__
typedef interface DispHTMLWndSelectElement DispHTMLWndSelectElement;
#ifdef __cplusplus
interface DispHTMLWndSelectElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLWndSelectElement_FWD_DEFINED__
#define __HTMLWndSelectElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLWndSelectElement HTMLWndSelectElement;
#else
typedef struct HTMLWndSelectElement HTMLWndSelectElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLWndSelectElement_FWD_DEFINED__ */

#ifndef __IHTMLSelectionObject_FWD_DEFINED__
#define __IHTMLSelectionObject_FWD_DEFINED__
typedef interface IHTMLSelectionObject IHTMLSelectionObject;
#ifdef __cplusplus
interface IHTMLSelectionObject;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelectionObject2_FWD_DEFINED__
#define __IHTMLSelectionObject2_FWD_DEFINED__
typedef interface IHTMLSelectionObject2 IHTMLSelectionObject2;
#ifdef __cplusplus
interface IHTMLSelectionObject2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSelection_FWD_DEFINED__
#define __IHTMLSelection_FWD_DEFINED__
typedef interface IHTMLSelection IHTMLSelection;
#ifdef __cplusplus
interface IHTMLSelection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLOptionElement_FWD_DEFINED__
#define __IHTMLOptionElement_FWD_DEFINED__
typedef interface IHTMLOptionElement IHTMLOptionElement;
#ifdef __cplusplus
interface IHTMLOptionElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLOptionElement3_FWD_DEFINED__
#define __IHTMLOptionElement3_FWD_DEFINED__
typedef interface IHTMLOptionElement3 IHTMLOptionElement3;
#ifdef __cplusplus
interface IHTMLOptionElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLOptionElement4_FWD_DEFINED__
#define __IHTMLOptionElement4_FWD_DEFINED__
typedef interface IHTMLOptionElement4 IHTMLOptionElement4;
#ifdef __cplusplus
interface IHTMLOptionElement4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLOptionElementFactory_FWD_DEFINED__
#define __IHTMLOptionElementFactory_FWD_DEFINED__
typedef interface IHTMLOptionElementFactory IHTMLOptionElementFactory;
#ifdef __cplusplus
interface IHTMLOptionElementFactory;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLOptionElement_FWD_DEFINED__
#define __DispHTMLOptionElement_FWD_DEFINED__
typedef interface DispHTMLOptionElement DispHTMLOptionElement;
#ifdef __cplusplus
interface DispHTMLOptionElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLOptionElement_FWD_DEFINED__
#define __HTMLOptionElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLOptionElement HTMLOptionElement;
#else
typedef struct HTMLOptionElement HTMLOptionElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLOptionElement_FWD_DEFINED__ */

#ifndef __HTMLOptionElementFactory_FWD_DEFINED__
#define __HTMLOptionElementFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLOptionElementFactory HTMLOptionElementFactory;
#else
typedef struct HTMLOptionElementFactory HTMLOptionElementFactory;
#endif /* defined __cplusplus */
#endif /* defined __HTMLOptionElementFactory_FWD_DEFINED__ */

#ifndef __DispHTMLWndOptionElement_FWD_DEFINED__
#define __DispHTMLWndOptionElement_FWD_DEFINED__
typedef interface DispHTMLWndOptionElement DispHTMLWndOptionElement;
#ifdef __cplusplus
interface DispHTMLWndOptionElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLWndOptionElement_FWD_DEFINED__
#define __HTMLWndOptionElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLWndOptionElement HTMLWndOptionElement;
#else
typedef struct HTMLWndOptionElement HTMLWndOptionElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLWndOptionElement_FWD_DEFINED__ */

#ifndef __HTMLButtonElementEvents2_FWD_DEFINED__
#define __HTMLButtonElementEvents2_FWD_DEFINED__
typedef interface HTMLButtonElementEvents2 HTMLButtonElementEvents2;
#ifdef __cplusplus
interface HTMLButtonElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLButtonElementEvents_FWD_DEFINED__
#define __HTMLButtonElementEvents_FWD_DEFINED__
typedef interface HTMLButtonElementEvents HTMLButtonElementEvents;
#ifdef __cplusplus
interface HTMLButtonElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputTextElementEvents2_FWD_DEFINED__
#define __HTMLInputTextElementEvents2_FWD_DEFINED__
typedef interface HTMLInputTextElementEvents2 HTMLInputTextElementEvents2;
#ifdef __cplusplus
interface HTMLInputTextElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLOptionButtonElementEvents2_FWD_DEFINED__
#define __HTMLOptionButtonElementEvents2_FWD_DEFINED__
typedef interface HTMLOptionButtonElementEvents2 HTMLOptionButtonElementEvents2;
#ifdef __cplusplus
interface HTMLOptionButtonElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputFileElementEvents2_FWD_DEFINED__
#define __HTMLInputFileElementEvents2_FWD_DEFINED__
typedef interface HTMLInputFileElementEvents2 HTMLInputFileElementEvents2;
#ifdef __cplusplus
interface HTMLInputFileElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputImageEvents2_FWD_DEFINED__
#define __HTMLInputImageEvents2_FWD_DEFINED__
typedef interface HTMLInputImageEvents2 HTMLInputImageEvents2;
#ifdef __cplusplus
interface HTMLInputImageEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputTextElementEvents_FWD_DEFINED__
#define __HTMLInputTextElementEvents_FWD_DEFINED__
typedef interface HTMLInputTextElementEvents HTMLInputTextElementEvents;
#ifdef __cplusplus
interface HTMLInputTextElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __HTMLOptionButtonElementEvents_FWD_DEFINED__
#define __HTMLOptionButtonElementEvents_FWD_DEFINED__
typedef interface HTMLOptionButtonElementEvents HTMLOptionButtonElementEvents;
#ifdef __cplusplus
interface HTMLOptionButtonElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputFileElementEvents_FWD_DEFINED__
#define __HTMLInputFileElementEvents_FWD_DEFINED__
typedef interface HTMLInputFileElementEvents HTMLInputFileElementEvents;
#ifdef __cplusplus
interface HTMLInputFileElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputImageEvents_FWD_DEFINED__
#define __HTMLInputImageEvents_FWD_DEFINED__
typedef interface HTMLInputImageEvents HTMLInputImageEvents;
#ifdef __cplusplus
interface HTMLInputImageEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputElement_FWD_DEFINED__
#define __IHTMLInputElement_FWD_DEFINED__
typedef interface IHTMLInputElement IHTMLInputElement;
#ifdef __cplusplus
interface IHTMLInputElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputElement2_FWD_DEFINED__
#define __IHTMLInputElement2_FWD_DEFINED__
typedef interface IHTMLInputElement2 IHTMLInputElement2;
#ifdef __cplusplus
interface IHTMLInputElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputElement3_FWD_DEFINED__
#define __IHTMLInputElement3_FWD_DEFINED__
typedef interface IHTMLInputElement3 IHTMLInputElement3;
#ifdef __cplusplus
interface IHTMLInputElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputButtonElement_FWD_DEFINED__
#define __IHTMLInputButtonElement_FWD_DEFINED__
typedef interface IHTMLInputButtonElement IHTMLInputButtonElement;
#ifdef __cplusplus
interface IHTMLInputButtonElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputHiddenElement_FWD_DEFINED__
#define __IHTMLInputHiddenElement_FWD_DEFINED__
typedef interface IHTMLInputHiddenElement IHTMLInputHiddenElement;
#ifdef __cplusplus
interface IHTMLInputHiddenElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputTextElement_FWD_DEFINED__
#define __IHTMLInputTextElement_FWD_DEFINED__
typedef interface IHTMLInputTextElement IHTMLInputTextElement;
#ifdef __cplusplus
interface IHTMLInputTextElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputTextElement2_FWD_DEFINED__
#define __IHTMLInputTextElement2_FWD_DEFINED__
typedef interface IHTMLInputTextElement2 IHTMLInputTextElement2;
#ifdef __cplusplus
interface IHTMLInputTextElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputFileElement_FWD_DEFINED__
#define __IHTMLInputFileElement_FWD_DEFINED__
typedef interface IHTMLInputFileElement IHTMLInputFileElement;
#ifdef __cplusplus
interface IHTMLInputFileElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLOptionButtonElement_FWD_DEFINED__
#define __IHTMLOptionButtonElement_FWD_DEFINED__
typedef interface IHTMLOptionButtonElement IHTMLOptionButtonElement;
#ifdef __cplusplus
interface IHTMLOptionButtonElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputImage_FWD_DEFINED__
#define __IHTMLInputImage_FWD_DEFINED__
typedef interface IHTMLInputImage IHTMLInputImage;
#ifdef __cplusplus
interface IHTMLInputImage;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLInputRangeElement_FWD_DEFINED__
#define __IHTMLInputRangeElement_FWD_DEFINED__
typedef interface IHTMLInputRangeElement IHTMLInputRangeElement;
#ifdef __cplusplus
interface IHTMLInputRangeElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLInputElement_FWD_DEFINED__
#define __DispHTMLInputElement_FWD_DEFINED__
typedef interface DispHTMLInputElement DispHTMLInputElement;
#ifdef __cplusplus
interface DispHTMLInputElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputElement_FWD_DEFINED__
#define __HTMLInputElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLInputElement HTMLInputElement;
#else
typedef struct HTMLInputElement HTMLInputElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLInputElement_FWD_DEFINED__ */

#ifndef __IHTMLTextAreaElement_FWD_DEFINED__
#define __IHTMLTextAreaElement_FWD_DEFINED__
typedef interface IHTMLTextAreaElement IHTMLTextAreaElement;
#ifdef __cplusplus
interface IHTMLTextAreaElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTextAreaElement2_FWD_DEFINED__
#define __IHTMLTextAreaElement2_FWD_DEFINED__
typedef interface IHTMLTextAreaElement2 IHTMLTextAreaElement2;
#ifdef __cplusplus
interface IHTMLTextAreaElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLTextAreaElement_FWD_DEFINED__
#define __DispHTMLTextAreaElement_FWD_DEFINED__
typedef interface DispHTMLTextAreaElement DispHTMLTextAreaElement;
#ifdef __cplusplus
interface DispHTMLTextAreaElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTextAreaElement_FWD_DEFINED__
#define __HTMLTextAreaElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTextAreaElement HTMLTextAreaElement;
#else
typedef struct HTMLTextAreaElement HTMLTextAreaElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTextAreaElement_FWD_DEFINED__ */

#ifndef __DispHTMLRichtextElement_FWD_DEFINED__
#define __DispHTMLRichtextElement_FWD_DEFINED__
typedef interface DispHTMLRichtextElement DispHTMLRichtextElement;
#ifdef __cplusplus
interface DispHTMLRichtextElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLRichtextElement_FWD_DEFINED__
#define __HTMLRichtextElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLRichtextElement HTMLRichtextElement;
#else
typedef struct HTMLRichtextElement HTMLRichtextElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLRichtextElement_FWD_DEFINED__ */

#ifndef __IHTMLButtonElement_FWD_DEFINED__
#define __IHTMLButtonElement_FWD_DEFINED__
typedef interface IHTMLButtonElement IHTMLButtonElement;
#ifdef __cplusplus
interface IHTMLButtonElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLButtonElement2_FWD_DEFINED__
#define __IHTMLButtonElement2_FWD_DEFINED__
typedef interface IHTMLButtonElement2 IHTMLButtonElement2;
#ifdef __cplusplus
interface IHTMLButtonElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLButtonElement_FWD_DEFINED__
#define __DispHTMLButtonElement_FWD_DEFINED__
typedef interface DispHTMLButtonElement DispHTMLButtonElement;
#ifdef __cplusplus
interface DispHTMLButtonElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLButtonElement_FWD_DEFINED__
#define __HTMLButtonElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLButtonElement HTMLButtonElement;
#else
typedef struct HTMLButtonElement HTMLButtonElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLButtonElement_FWD_DEFINED__ */

#ifndef __HTMLMarqueeElementEvents2_FWD_DEFINED__
#define __HTMLMarqueeElementEvents2_FWD_DEFINED__
typedef interface HTMLMarqueeElementEvents2 HTMLMarqueeElementEvents2;
#ifdef __cplusplus
interface HTMLMarqueeElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMarqueeElementEvents_FWD_DEFINED__
#define __HTMLMarqueeElementEvents_FWD_DEFINED__
typedef interface HTMLMarqueeElementEvents HTMLMarqueeElementEvents;
#ifdef __cplusplus
interface HTMLMarqueeElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMarqueeElement_FWD_DEFINED__
#define __IHTMLMarqueeElement_FWD_DEFINED__
typedef interface IHTMLMarqueeElement IHTMLMarqueeElement;
#ifdef __cplusplus
interface IHTMLMarqueeElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLMarqueeElement_FWD_DEFINED__
#define __DispHTMLMarqueeElement_FWD_DEFINED__
typedef interface DispHTMLMarqueeElement DispHTMLMarqueeElement;
#ifdef __cplusplus
interface DispHTMLMarqueeElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMarqueeElement_FWD_DEFINED__
#define __HTMLMarqueeElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLMarqueeElement HTMLMarqueeElement;
#else
typedef struct HTMLMarqueeElement HTMLMarqueeElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLMarqueeElement_FWD_DEFINED__ */

#ifndef __IHTMLHtmlElement_FWD_DEFINED__
#define __IHTMLHtmlElement_FWD_DEFINED__
typedef interface IHTMLHtmlElement IHTMLHtmlElement;
#ifdef __cplusplus
interface IHTMLHtmlElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLHeadElement_FWD_DEFINED__
#define __IHTMLHeadElement_FWD_DEFINED__
typedef interface IHTMLHeadElement IHTMLHeadElement;
#ifdef __cplusplus
interface IHTMLHeadElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLHeadElement2_FWD_DEFINED__
#define __IHTMLHeadElement2_FWD_DEFINED__
typedef interface IHTMLHeadElement2 IHTMLHeadElement2;
#ifdef __cplusplus
interface IHTMLHeadElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTitleElement_FWD_DEFINED__
#define __IHTMLTitleElement_FWD_DEFINED__
typedef interface IHTMLTitleElement IHTMLTitleElement;
#ifdef __cplusplus
interface IHTMLTitleElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMetaElement_FWD_DEFINED__
#define __IHTMLMetaElement_FWD_DEFINED__
typedef interface IHTMLMetaElement IHTMLMetaElement;
#ifdef __cplusplus
interface IHTMLMetaElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMetaElement2_FWD_DEFINED__
#define __IHTMLMetaElement2_FWD_DEFINED__
typedef interface IHTMLMetaElement2 IHTMLMetaElement2;
#ifdef __cplusplus
interface IHTMLMetaElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMetaElement3_FWD_DEFINED__
#define __IHTMLMetaElement3_FWD_DEFINED__
typedef interface IHTMLMetaElement3 IHTMLMetaElement3;
#ifdef __cplusplus
interface IHTMLMetaElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBaseElement_FWD_DEFINED__
#define __IHTMLBaseElement_FWD_DEFINED__
typedef interface IHTMLBaseElement IHTMLBaseElement;
#ifdef __cplusplus
interface IHTMLBaseElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLBaseElement2_FWD_DEFINED__
#define __IHTMLBaseElement2_FWD_DEFINED__
typedef interface IHTMLBaseElement2 IHTMLBaseElement2;
#ifdef __cplusplus
interface IHTMLBaseElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLIsIndexElement_FWD_DEFINED__
#define __IHTMLIsIndexElement_FWD_DEFINED__
typedef interface IHTMLIsIndexElement IHTMLIsIndexElement;
#ifdef __cplusplus
interface IHTMLIsIndexElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLIsIndexElement2_FWD_DEFINED__
#define __IHTMLIsIndexElement2_FWD_DEFINED__
typedef interface IHTMLIsIndexElement2 IHTMLIsIndexElement2;
#ifdef __cplusplus
interface IHTMLIsIndexElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLNextIdElement_FWD_DEFINED__
#define __IHTMLNextIdElement_FWD_DEFINED__
typedef interface IHTMLNextIdElement IHTMLNextIdElement;
#ifdef __cplusplus
interface IHTMLNextIdElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLHtmlElement_FWD_DEFINED__
#define __DispHTMLHtmlElement_FWD_DEFINED__
typedef interface DispHTMLHtmlElement DispHTMLHtmlElement;
#ifdef __cplusplus
interface DispHTMLHtmlElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLHtmlElement_FWD_DEFINED__
#define __HTMLHtmlElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLHtmlElement HTMLHtmlElement;
#else
typedef struct HTMLHtmlElement HTMLHtmlElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLHtmlElement_FWD_DEFINED__ */

#ifndef __DispHTMLHeadElement_FWD_DEFINED__
#define __DispHTMLHeadElement_FWD_DEFINED__
typedef interface DispHTMLHeadElement DispHTMLHeadElement;
#ifdef __cplusplus
interface DispHTMLHeadElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLHeadElement_FWD_DEFINED__
#define __HTMLHeadElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLHeadElement HTMLHeadElement;
#else
typedef struct HTMLHeadElement HTMLHeadElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLHeadElement_FWD_DEFINED__ */

#ifndef __DispHTMLTitleElement_FWD_DEFINED__
#define __DispHTMLTitleElement_FWD_DEFINED__
typedef interface DispHTMLTitleElement DispHTMLTitleElement;
#ifdef __cplusplus
interface DispHTMLTitleElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTitleElement_FWD_DEFINED__
#define __HTMLTitleElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTitleElement HTMLTitleElement;
#else
typedef struct HTMLTitleElement HTMLTitleElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTitleElement_FWD_DEFINED__ */

#ifndef __DispHTMLMetaElement_FWD_DEFINED__
#define __DispHTMLMetaElement_FWD_DEFINED__
typedef interface DispHTMLMetaElement DispHTMLMetaElement;
#ifdef __cplusplus
interface DispHTMLMetaElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMetaElement_FWD_DEFINED__
#define __HTMLMetaElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLMetaElement HTMLMetaElement;
#else
typedef struct HTMLMetaElement HTMLMetaElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLMetaElement_FWD_DEFINED__ */

#ifndef __DispHTMLBaseElement_FWD_DEFINED__
#define __DispHTMLBaseElement_FWD_DEFINED__
typedef interface DispHTMLBaseElement DispHTMLBaseElement;
#ifdef __cplusplus
interface DispHTMLBaseElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLBaseElement_FWD_DEFINED__
#define __HTMLBaseElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLBaseElement HTMLBaseElement;
#else
typedef struct HTMLBaseElement HTMLBaseElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLBaseElement_FWD_DEFINED__ */

#ifndef __DispHTMLIsIndexElement_FWD_DEFINED__
#define __DispHTMLIsIndexElement_FWD_DEFINED__
typedef interface DispHTMLIsIndexElement DispHTMLIsIndexElement;
#ifdef __cplusplus
interface DispHTMLIsIndexElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLIsIndexElement_FWD_DEFINED__
#define __HTMLIsIndexElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLIsIndexElement HTMLIsIndexElement;
#else
typedef struct HTMLIsIndexElement HTMLIsIndexElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLIsIndexElement_FWD_DEFINED__ */

#ifndef __DispHTMLNextIdElement_FWD_DEFINED__
#define __DispHTMLNextIdElement_FWD_DEFINED__
typedef interface DispHTMLNextIdElement DispHTMLNextIdElement;
#ifdef __cplusplus
interface DispHTMLNextIdElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLNextIdElement_FWD_DEFINED__
#define __HTMLNextIdElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLNextIdElement HTMLNextIdElement;
#else
typedef struct HTMLNextIdElement HTMLNextIdElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLNextIdElement_FWD_DEFINED__ */

#ifndef __IHTMLBaseFontElement_FWD_DEFINED__
#define __IHTMLBaseFontElement_FWD_DEFINED__
typedef interface IHTMLBaseFontElement IHTMLBaseFontElement;
#ifdef __cplusplus
interface IHTMLBaseFontElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLBaseFontElement_FWD_DEFINED__
#define __DispHTMLBaseFontElement_FWD_DEFINED__
typedef interface DispHTMLBaseFontElement DispHTMLBaseFontElement;
#ifdef __cplusplus
interface DispHTMLBaseFontElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLBaseFontElement_FWD_DEFINED__
#define __HTMLBaseFontElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLBaseFontElement HTMLBaseFontElement;
#else
typedef struct HTMLBaseFontElement HTMLBaseFontElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLBaseFontElement_FWD_DEFINED__ */

#ifndef __IHTMLUnknownElement_FWD_DEFINED__
#define __IHTMLUnknownElement_FWD_DEFINED__
typedef interface IHTMLUnknownElement IHTMLUnknownElement;
#ifdef __cplusplus
interface IHTMLUnknownElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLUnknownElement_FWD_DEFINED__
#define __DispHTMLUnknownElement_FWD_DEFINED__
typedef interface DispHTMLUnknownElement DispHTMLUnknownElement;
#ifdef __cplusplus
interface DispHTMLUnknownElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLUnknownElement_FWD_DEFINED__
#define __HTMLUnknownElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLUnknownElement HTMLUnknownElement;
#else
typedef struct HTMLUnknownElement HTMLUnknownElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLUnknownElement_FWD_DEFINED__ */

#ifndef __IOmHistory_FWD_DEFINED__
#define __IOmHistory_FWD_DEFINED__
typedef interface IOmHistory IOmHistory;
#ifdef __cplusplus
interface IOmHistory;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMimeTypesCollection_FWD_DEFINED__
#define __IHTMLMimeTypesCollection_FWD_DEFINED__
typedef interface IHTMLMimeTypesCollection IHTMLMimeTypesCollection;
#ifdef __cplusplus
interface IHTMLMimeTypesCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPluginsCollection_FWD_DEFINED__
#define __IHTMLPluginsCollection_FWD_DEFINED__
typedef interface IHTMLPluginsCollection IHTMLPluginsCollection;
#ifdef __cplusplus
interface IHTMLPluginsCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLOpsProfile_FWD_DEFINED__
#define __IHTMLOpsProfile_FWD_DEFINED__
typedef interface IHTMLOpsProfile IHTMLOpsProfile;
#ifdef __cplusplus
interface IHTMLOpsProfile;
#endif /* __cplusplus */
#endif

#ifndef __IOmNavigator_FWD_DEFINED__
#define __IOmNavigator_FWD_DEFINED__
typedef interface IOmNavigator IOmNavigator;
#ifdef __cplusplus
interface IOmNavigator;
#endif /* __cplusplus */
#endif

#ifndef __INavigatorGeolocation_FWD_DEFINED__
#define __INavigatorGeolocation_FWD_DEFINED__
typedef interface INavigatorGeolocation INavigatorGeolocation;
#ifdef __cplusplus
interface INavigatorGeolocation;
#endif /* __cplusplus */
#endif

#ifndef __INavigatorDoNotTrack_FWD_DEFINED__
#define __INavigatorDoNotTrack_FWD_DEFINED__
typedef interface INavigatorDoNotTrack INavigatorDoNotTrack;
#ifdef __cplusplus
interface INavigatorDoNotTrack;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLocation_FWD_DEFINED__
#define __IHTMLLocation_FWD_DEFINED__
typedef interface IHTMLLocation IHTMLLocation;
#ifdef __cplusplus
interface IHTMLLocation;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLHistory_FWD_DEFINED__
#define __DispHTMLHistory_FWD_DEFINED__
typedef interface DispHTMLHistory DispHTMLHistory;
#ifdef __cplusplus
interface DispHTMLHistory;
#endif /* __cplusplus */
#endif

#ifndef __HTMLHistory_FWD_DEFINED__
#define __HTMLHistory_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLHistory HTMLHistory;
#else
typedef struct HTMLHistory HTMLHistory;
#endif /* defined __cplusplus */
#endif /* defined __HTMLHistory_FWD_DEFINED__ */

#ifndef __CMimeTypes_FWD_DEFINED__
#define __CMimeTypes_FWD_DEFINED__
#ifdef __cplusplus
typedef class CMimeTypes CMimeTypes;
#else
typedef struct CMimeTypes CMimeTypes;
#endif /* defined __cplusplus */
#endif /* defined __CMimeTypes_FWD_DEFINED__ */

#ifndef __DispCPlugins_FWD_DEFINED__
#define __DispCPlugins_FWD_DEFINED__
typedef interface DispCPlugins DispCPlugins;
#ifdef __cplusplus
interface DispCPlugins;
#endif /* __cplusplus */
#endif

#ifndef __CPlugins_FWD_DEFINED__
#define __CPlugins_FWD_DEFINED__
#ifdef __cplusplus
typedef class CPlugins CPlugins;
#else
typedef struct CPlugins CPlugins;
#endif /* defined __cplusplus */
#endif /* defined __CPlugins_FWD_DEFINED__ */

#ifndef __COpsProfile_FWD_DEFINED__
#define __COpsProfile_FWD_DEFINED__
#ifdef __cplusplus
typedef class COpsProfile COpsProfile;
#else
typedef struct COpsProfile COpsProfile;
#endif /* defined __cplusplus */
#endif /* defined __COpsProfile_FWD_DEFINED__ */

#ifndef __DispHTMLNavigator_FWD_DEFINED__
#define __DispHTMLNavigator_FWD_DEFINED__
typedef interface DispHTMLNavigator DispHTMLNavigator;
#ifdef __cplusplus
interface DispHTMLNavigator;
#endif /* __cplusplus */
#endif

#ifndef __HTMLNavigator_FWD_DEFINED__
#define __HTMLNavigator_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLNavigator HTMLNavigator;
#else
typedef struct HTMLNavigator HTMLNavigator;
#endif /* defined __cplusplus */
#endif /* defined __HTMLNavigator_FWD_DEFINED__ */

#ifndef __DispHTMLLocation_FWD_DEFINED__
#define __DispHTMLLocation_FWD_DEFINED__
typedef interface DispHTMLLocation DispHTMLLocation;
#ifdef __cplusplus
interface DispHTMLLocation;
#endif /* __cplusplus */
#endif

#ifndef __HTMLLocation_FWD_DEFINED__
#define __HTMLLocation_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLLocation HTMLLocation;
#else
typedef struct HTMLLocation HTMLLocation;
#endif /* defined __cplusplus */
#endif /* defined __HTMLLocation_FWD_DEFINED__ */

#ifndef __IHTMLBookmarkCollection_FWD_DEFINED__
#define __IHTMLBookmarkCollection_FWD_DEFINED__
typedef interface IHTMLBookmarkCollection IHTMLBookmarkCollection;
#ifdef __cplusplus
interface IHTMLBookmarkCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDataTransfer_FWD_DEFINED__
#define __IHTMLDataTransfer_FWD_DEFINED__
typedef interface IHTMLDataTransfer IHTMLDataTransfer;
#ifdef __cplusplus
interface IHTMLDataTransfer;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEventObj_FWD_DEFINED__
#define __IHTMLEventObj_FWD_DEFINED__
typedef interface IHTMLEventObj IHTMLEventObj;
#ifdef __cplusplus
interface IHTMLEventObj;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEventObj2_FWD_DEFINED__
#define __IHTMLEventObj2_FWD_DEFINED__
typedef interface IHTMLEventObj2 IHTMLEventObj2;
#ifdef __cplusplus
interface IHTMLEventObj2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEventObj3_FWD_DEFINED__
#define __IHTMLEventObj3_FWD_DEFINED__
typedef interface IHTMLEventObj3 IHTMLEventObj3;
#ifdef __cplusplus
interface IHTMLEventObj3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEventObj4_FWD_DEFINED__
#define __IHTMLEventObj4_FWD_DEFINED__
typedef interface IHTMLEventObj4 IHTMLEventObj4;
#ifdef __cplusplus
interface IHTMLEventObj4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEventObj5_FWD_DEFINED__
#define __IHTMLEventObj5_FWD_DEFINED__
typedef interface IHTMLEventObj5 IHTMLEventObj5;
#ifdef __cplusplus
interface IHTMLEventObj5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEventObj6_FWD_DEFINED__
#define __IHTMLEventObj6_FWD_DEFINED__
typedef interface IHTMLEventObj6 IHTMLEventObj6;
#ifdef __cplusplus
interface IHTMLEventObj6;
#endif /* __cplusplus */
#endif

#ifndef __DispCEventObj_FWD_DEFINED__
#define __DispCEventObj_FWD_DEFINED__
typedef interface DispCEventObj DispCEventObj;
#ifdef __cplusplus
interface DispCEventObj;
#endif /* __cplusplus */
#endif

#ifndef __CEventObj_FWD_DEFINED__
#define __CEventObj_FWD_DEFINED__
#ifdef __cplusplus
typedef class CEventObj CEventObj;
#else
typedef struct CEventObj CEventObj;
#endif /* defined __cplusplus */
#endif /* defined __CEventObj_FWD_DEFINED__ */

#ifndef __IHTMLStyleMedia_FWD_DEFINED__
#define __IHTMLStyleMedia_FWD_DEFINED__
typedef interface IHTMLStyleMedia IHTMLStyleMedia;
#ifdef __cplusplus
interface IHTMLStyleMedia;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleMedia_FWD_DEFINED__
#define __DispHTMLStyleMedia_FWD_DEFINED__
typedef interface DispHTMLStyleMedia DispHTMLStyleMedia;
#ifdef __cplusplus
interface DispHTMLStyleMedia;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleMedia_FWD_DEFINED__
#define __HTMLStyleMedia_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleMedia HTMLStyleMedia;
#else
typedef struct HTMLStyleMedia HTMLStyleMedia;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleMedia_FWD_DEFINED__ */

#ifndef __HTMLWindowEvents3_FWD_DEFINED__
#define __HTMLWindowEvents3_FWD_DEFINED__
typedef interface HTMLWindowEvents3 HTMLWindowEvents3;
#ifdef __cplusplus
interface HTMLWindowEvents3;
#endif /* __cplusplus */
#endif

#ifndef __HTMLWindowEvents2_FWD_DEFINED__
#define __HTMLWindowEvents2_FWD_DEFINED__
typedef interface HTMLWindowEvents2 HTMLWindowEvents2;
#ifdef __cplusplus
interface HTMLWindowEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLWindowEvents_FWD_DEFINED__
#define __HTMLWindowEvents_FWD_DEFINED__
typedef interface HTMLWindowEvents HTMLWindowEvents;
#ifdef __cplusplus
interface HTMLWindowEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFramesCollection2_FWD_DEFINED__
#define __IHTMLFramesCollection2_FWD_DEFINED__
typedef interface IHTMLFramesCollection2 IHTMLFramesCollection2;
#ifdef __cplusplus
interface IHTMLFramesCollection2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScreen_FWD_DEFINED__
#define __IHTMLScreen_FWD_DEFINED__
typedef interface IHTMLScreen IHTMLScreen;
#ifdef __cplusplus
interface IHTMLScreen;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScreen2_FWD_DEFINED__
#define __IHTMLScreen2_FWD_DEFINED__
typedef interface IHTMLScreen2 IHTMLScreen2;
#ifdef __cplusplus
interface IHTMLScreen2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScreen3_FWD_DEFINED__
#define __IHTMLScreen3_FWD_DEFINED__
typedef interface IHTMLScreen3 IHTMLScreen3;
#ifdef __cplusplus
interface IHTMLScreen3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScreen4_FWD_DEFINED__
#define __IHTMLScreen4_FWD_DEFINED__
typedef interface IHTMLScreen4 IHTMLScreen4;
#ifdef __cplusplus
interface IHTMLScreen4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow2_FWD_DEFINED__
#define __IHTMLWindow2_FWD_DEFINED__
typedef interface IHTMLWindow2 IHTMLWindow2;
#ifdef __cplusplus
interface IHTMLWindow2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow3_FWD_DEFINED__
#define __IHTMLWindow3_FWD_DEFINED__
typedef interface IHTMLWindow3 IHTMLWindow3;
#ifdef __cplusplus
interface IHTMLWindow3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow4_FWD_DEFINED__
#define __IHTMLWindow4_FWD_DEFINED__
typedef interface IHTMLWindow4 IHTMLWindow4;
#ifdef __cplusplus
interface IHTMLWindow4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow5_FWD_DEFINED__
#define __IHTMLWindow5_FWD_DEFINED__
typedef interface IHTMLWindow5 IHTMLWindow5;
#ifdef __cplusplus
interface IHTMLWindow5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow6_FWD_DEFINED__
#define __IHTMLWindow6_FWD_DEFINED__
typedef interface IHTMLWindow6 IHTMLWindow6;
#ifdef __cplusplus
interface IHTMLWindow6;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow7_FWD_DEFINED__
#define __IHTMLWindow7_FWD_DEFINED__
typedef interface IHTMLWindow7 IHTMLWindow7;
#ifdef __cplusplus
interface IHTMLWindow7;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow8_FWD_DEFINED__
#define __IHTMLWindow8_FWD_DEFINED__
typedef interface IHTMLWindow8 IHTMLWindow8;
#ifdef __cplusplus
interface IHTMLWindow8;
#endif /* __cplusplus */
#endif

#ifndef __FramesCollection_FWD_DEFINED__
#define __FramesCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class FramesCollection FramesCollection;
#else
typedef struct FramesCollection FramesCollection;
#endif /* defined __cplusplus */
#endif /* defined __FramesCollection_FWD_DEFINED__ */

#ifndef __DispHTMLScreen_FWD_DEFINED__
#define __DispHTMLScreen_FWD_DEFINED__
typedef interface DispHTMLScreen DispHTMLScreen;
#ifdef __cplusplus
interface DispHTMLScreen;
#endif /* __cplusplus */
#endif

#ifndef __HTMLScreen_FWD_DEFINED__
#define __HTMLScreen_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLScreen HTMLScreen;
#else
typedef struct HTMLScreen HTMLScreen;
#endif /* defined __cplusplus */
#endif /* defined __HTMLScreen_FWD_DEFINED__ */

#ifndef __DispHTMLWindow2_FWD_DEFINED__
#define __DispHTMLWindow2_FWD_DEFINED__
typedef interface DispHTMLWindow2 DispHTMLWindow2;
#ifdef __cplusplus
interface DispHTMLWindow2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLWindow2_FWD_DEFINED__
#define __HTMLWindow2_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLWindow2 HTMLWindow2;
#else
typedef struct HTMLWindow2 HTMLWindow2;
#endif /* defined __cplusplus */
#endif /* defined __HTMLWindow2_FWD_DEFINED__ */

#ifndef __DispHTMLWindowProxy_FWD_DEFINED__
#define __DispHTMLWindowProxy_FWD_DEFINED__
typedef interface DispHTMLWindowProxy DispHTMLWindowProxy;
#ifdef __cplusplus
interface DispHTMLWindowProxy;
#endif /* __cplusplus */
#endif

#ifndef __HTMLWindowProxy_FWD_DEFINED__
#define __HTMLWindowProxy_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLWindowProxy HTMLWindowProxy;
#else
typedef struct HTMLWindowProxy HTMLWindowProxy;
#endif /* defined __cplusplus */
#endif /* defined __HTMLWindowProxy_FWD_DEFINED__ */

#ifndef __IHTMLDocumentCompatibleInfo_FWD_DEFINED__
#define __IHTMLDocumentCompatibleInfo_FWD_DEFINED__
typedef interface IHTMLDocumentCompatibleInfo IHTMLDocumentCompatibleInfo;
#ifdef __cplusplus
interface IHTMLDocumentCompatibleInfo;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
#define __IHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
typedef interface IHTMLDocumentCompatibleInfoCollection IHTMLDocumentCompatibleInfoCollection;
#ifdef __cplusplus
interface IHTMLDocumentCompatibleInfoCollection;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDocumentCompatibleInfo_FWD_DEFINED__
#define __DispHTMLDocumentCompatibleInfo_FWD_DEFINED__
typedef interface DispHTMLDocumentCompatibleInfo DispHTMLDocumentCompatibleInfo;
#ifdef __cplusplus
interface DispHTMLDocumentCompatibleInfo;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDocumentCompatibleInfo_FWD_DEFINED__
#define __HTMLDocumentCompatibleInfo_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDocumentCompatibleInfo HTMLDocumentCompatibleInfo;
#else
typedef struct HTMLDocumentCompatibleInfo HTMLDocumentCompatibleInfo;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDocumentCompatibleInfo_FWD_DEFINED__ */

#ifndef __DispHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
#define __DispHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
typedef interface DispHTMLDocumentCompatibleInfoCollection DispHTMLDocumentCompatibleInfoCollection;
#ifdef __cplusplus
interface DispHTMLDocumentCompatibleInfoCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
#define __HTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDocumentCompatibleInfoCollection HTMLDocumentCompatibleInfoCollection;
#else
typedef struct HTMLDocumentCompatibleInfoCollection HTMLDocumentCompatibleInfoCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDocumentCompatibleInfoCollection_FWD_DEFINED__ */

#ifndef __HTMLDocumentEvents4_FWD_DEFINED__
#define __HTMLDocumentEvents4_FWD_DEFINED__
typedef interface HTMLDocumentEvents4 HTMLDocumentEvents4;
#ifdef __cplusplus
interface HTMLDocumentEvents4;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDocumentEvents3_FWD_DEFINED__
#define __HTMLDocumentEvents3_FWD_DEFINED__
typedef interface HTMLDocumentEvents3 HTMLDocumentEvents3;
#ifdef __cplusplus
interface HTMLDocumentEvents3;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDocumentEvents2_FWD_DEFINED__
#define __HTMLDocumentEvents2_FWD_DEFINED__
typedef interface HTMLDocumentEvents2 HTMLDocumentEvents2;
#ifdef __cplusplus
interface HTMLDocumentEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDocumentEvents_FWD_DEFINED__
#define __HTMLDocumentEvents_FWD_DEFINED__
typedef interface HTMLDocumentEvents HTMLDocumentEvents;
#ifdef __cplusplus
interface HTMLDocumentEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument_FWD_DEFINED__
#define __IHTMLDocument_FWD_DEFINED__
typedef interface IHTMLDocument IHTMLDocument;
#ifdef __cplusplus
interface IHTMLDocument;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument2_FWD_DEFINED__
#define __IHTMLDocument2_FWD_DEFINED__
typedef interface IHTMLDocument2 IHTMLDocument2;
#ifdef __cplusplus
interface IHTMLDocument2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument3_FWD_DEFINED__
#define __IHTMLDocument3_FWD_DEFINED__
typedef interface IHTMLDocument3 IHTMLDocument3;
#ifdef __cplusplus
interface IHTMLDocument3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument4_FWD_DEFINED__
#define __IHTMLDocument4_FWD_DEFINED__
typedef interface IHTMLDocument4 IHTMLDocument4;
#ifdef __cplusplus
interface IHTMLDocument4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument5_FWD_DEFINED__
#define __IHTMLDocument5_FWD_DEFINED__
typedef interface IHTMLDocument5 IHTMLDocument5;
#ifdef __cplusplus
interface IHTMLDocument5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument6_FWD_DEFINED__
#define __IHTMLDocument6_FWD_DEFINED__
typedef interface IHTMLDocument6 IHTMLDocument6;
#ifdef __cplusplus
interface IHTMLDocument6;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument7_FWD_DEFINED__
#define __IHTMLDocument7_FWD_DEFINED__
typedef interface IHTMLDocument7 IHTMLDocument7;
#ifdef __cplusplus
interface IHTMLDocument7;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument8_FWD_DEFINED__
#define __IHTMLDocument8_FWD_DEFINED__
typedef interface IHTMLDocument8 IHTMLDocument8;
#ifdef __cplusplus
interface IHTMLDocument8;
#endif /* __cplusplus */
#endif

#ifndef __IDocumentEvent_FWD_DEFINED__
#define __IDocumentEvent_FWD_DEFINED__
typedef interface IDocumentEvent IDocumentEvent;
#ifdef __cplusplus
interface IDocumentEvent;
#endif /* __cplusplus */
#endif

#ifndef __IDocumentRange_FWD_DEFINED__
#define __IDocumentRange_FWD_DEFINED__
typedef interface IDocumentRange IDocumentRange;
#ifdef __cplusplus
interface IDocumentRange;
#endif /* __cplusplus */
#endif

#ifndef __IDocumentSelector_FWD_DEFINED__
#define __IDocumentSelector_FWD_DEFINED__
typedef interface IDocumentSelector IDocumentSelector;
#ifdef __cplusplus
interface IDocumentSelector;
#endif /* __cplusplus */
#endif

#ifndef __IDocumentTraversal_FWD_DEFINED__
#define __IDocumentTraversal_FWD_DEFINED__
typedef interface IDocumentTraversal IDocumentTraversal;
#ifdef __cplusplus
interface IDocumentTraversal;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDocument_FWD_DEFINED__
#define __DispHTMLDocument_FWD_DEFINED__
typedef interface DispHTMLDocument DispHTMLDocument;
#ifdef __cplusplus
interface DispHTMLDocument;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDocument_FWD_DEFINED__
#define __HTMLDocument_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDocument HTMLDocument;
#else
typedef struct HTMLDocument HTMLDocument;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDocument_FWD_DEFINED__ */

#ifndef __DWebBridgeEvents_FWD_DEFINED__
#define __DWebBridgeEvents_FWD_DEFINED__
typedef interface DWebBridgeEvents DWebBridgeEvents;
#ifdef __cplusplus
interface DWebBridgeEvents;
#endif /* __cplusplus */
#endif

#ifndef __IWebBridge_FWD_DEFINED__
#define __IWebBridge_FWD_DEFINED__
typedef interface IWebBridge IWebBridge;
#ifdef __cplusplus
interface IWebBridge;
#endif /* __cplusplus */
#endif

#ifndef __IWBScriptControl_FWD_DEFINED__
#define __IWBScriptControl_FWD_DEFINED__
typedef interface IWBScriptControl IWBScriptControl;
#ifdef __cplusplus
interface IWBScriptControl;
#endif /* __cplusplus */
#endif

#ifndef __Scriptlet_FWD_DEFINED__
#define __Scriptlet_FWD_DEFINED__
#ifdef __cplusplus
typedef class Scriptlet Scriptlet;
#else
typedef struct Scriptlet Scriptlet;
#endif /* defined __cplusplus */
#endif /* defined __Scriptlet_FWD_DEFINED__ */

#ifndef __IHTMLEmbedElement_FWD_DEFINED__
#define __IHTMLEmbedElement_FWD_DEFINED__
typedef interface IHTMLEmbedElement IHTMLEmbedElement;
#ifdef __cplusplus
interface IHTMLEmbedElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEmbedElement2_FWD_DEFINED__
#define __IHTMLEmbedElement2_FWD_DEFINED__
typedef interface IHTMLEmbedElement2 IHTMLEmbedElement2;
#ifdef __cplusplus
interface IHTMLEmbedElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLEmbed_FWD_DEFINED__
#define __DispHTMLEmbed_FWD_DEFINED__
typedef interface DispHTMLEmbed DispHTMLEmbed;
#ifdef __cplusplus
interface DispHTMLEmbed;
#endif /* __cplusplus */
#endif

#ifndef __HTMLEmbed_FWD_DEFINED__
#define __HTMLEmbed_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLEmbed HTMLEmbed;
#else
typedef struct HTMLEmbed HTMLEmbed;
#endif /* defined __cplusplus */
#endif /* defined __HTMLEmbed_FWD_DEFINED__ */

#ifndef __HTMLMapEvents2_FWD_DEFINED__
#define __HTMLMapEvents2_FWD_DEFINED__
typedef interface HTMLMapEvents2 HTMLMapEvents2;
#ifdef __cplusplus
interface HTMLMapEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMapEvents_FWD_DEFINED__
#define __HTMLMapEvents_FWD_DEFINED__
typedef interface HTMLMapEvents HTMLMapEvents;
#ifdef __cplusplus
interface HTMLMapEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAreasCollection_FWD_DEFINED__
#define __IHTMLAreasCollection_FWD_DEFINED__
typedef interface IHTMLAreasCollection IHTMLAreasCollection;
#ifdef __cplusplus
interface IHTMLAreasCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAreasCollection2_FWD_DEFINED__
#define __IHTMLAreasCollection2_FWD_DEFINED__
typedef interface IHTMLAreasCollection2 IHTMLAreasCollection2;
#ifdef __cplusplus
interface IHTMLAreasCollection2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAreasCollection3_FWD_DEFINED__
#define __IHTMLAreasCollection3_FWD_DEFINED__
typedef interface IHTMLAreasCollection3 IHTMLAreasCollection3;
#ifdef __cplusplus
interface IHTMLAreasCollection3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAreasCollection4_FWD_DEFINED__
#define __IHTMLAreasCollection4_FWD_DEFINED__
typedef interface IHTMLAreasCollection4 IHTMLAreasCollection4;
#ifdef __cplusplus
interface IHTMLAreasCollection4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMapElement_FWD_DEFINED__
#define __IHTMLMapElement_FWD_DEFINED__
typedef interface IHTMLMapElement IHTMLMapElement;
#ifdef __cplusplus
interface IHTMLMapElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLAreasCollection_FWD_DEFINED__
#define __DispHTMLAreasCollection_FWD_DEFINED__
typedef interface DispHTMLAreasCollection DispHTMLAreasCollection;
#ifdef __cplusplus
interface DispHTMLAreasCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAreasCollection_FWD_DEFINED__
#define __HTMLAreasCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLAreasCollection HTMLAreasCollection;
#else
typedef struct HTMLAreasCollection HTMLAreasCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLAreasCollection_FWD_DEFINED__ */

#ifndef __DispHTMLMapElement_FWD_DEFINED__
#define __DispHTMLMapElement_FWD_DEFINED__
typedef interface DispHTMLMapElement DispHTMLMapElement;
#ifdef __cplusplus
interface DispHTMLMapElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMapElement_FWD_DEFINED__
#define __HTMLMapElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLMapElement HTMLMapElement;
#else
typedef struct HTMLMapElement HTMLMapElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLMapElement_FWD_DEFINED__ */

#ifndef __HTMLAreaEvents2_FWD_DEFINED__
#define __HTMLAreaEvents2_FWD_DEFINED__
typedef interface HTMLAreaEvents2 HTMLAreaEvents2;
#ifdef __cplusplus
interface HTMLAreaEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAreaEvents_FWD_DEFINED__
#define __HTMLAreaEvents_FWD_DEFINED__
typedef interface HTMLAreaEvents HTMLAreaEvents;
#ifdef __cplusplus
interface HTMLAreaEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAreaElement_FWD_DEFINED__
#define __IHTMLAreaElement_FWD_DEFINED__
typedef interface IHTMLAreaElement IHTMLAreaElement;
#ifdef __cplusplus
interface IHTMLAreaElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAreaElement2_FWD_DEFINED__
#define __IHTMLAreaElement2_FWD_DEFINED__
typedef interface IHTMLAreaElement2 IHTMLAreaElement2;
#ifdef __cplusplus
interface IHTMLAreaElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLAreaElement_FWD_DEFINED__
#define __DispHTMLAreaElement_FWD_DEFINED__
typedef interface DispHTMLAreaElement DispHTMLAreaElement;
#ifdef __cplusplus
interface DispHTMLAreaElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAreaElement_FWD_DEFINED__
#define __HTMLAreaElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLAreaElement HTMLAreaElement;
#else
typedef struct HTMLAreaElement HTMLAreaElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLAreaElement_FWD_DEFINED__ */

#ifndef __IHTMLTableCaption_FWD_DEFINED__
#define __IHTMLTableCaption_FWD_DEFINED__
typedef interface IHTMLTableCaption IHTMLTableCaption;
#ifdef __cplusplus
interface IHTMLTableCaption;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLTableCaption_FWD_DEFINED__
#define __DispHTMLTableCaption_FWD_DEFINED__
typedef interface DispHTMLTableCaption DispHTMLTableCaption;
#ifdef __cplusplus
interface DispHTMLTableCaption;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTableCaption_FWD_DEFINED__
#define __HTMLTableCaption_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTableCaption HTMLTableCaption;
#else
typedef struct HTMLTableCaption HTMLTableCaption;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTableCaption_FWD_DEFINED__ */

#ifndef __IHTMLCommentElement_FWD_DEFINED__
#define __IHTMLCommentElement_FWD_DEFINED__
typedef interface IHTMLCommentElement IHTMLCommentElement;
#ifdef __cplusplus
interface IHTMLCommentElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCommentElement2_FWD_DEFINED__
#define __IHTMLCommentElement2_FWD_DEFINED__
typedef interface IHTMLCommentElement2 IHTMLCommentElement2;
#ifdef __cplusplus
interface IHTMLCommentElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCommentElement3_FWD_DEFINED__
#define __IHTMLCommentElement3_FWD_DEFINED__
typedef interface IHTMLCommentElement3 IHTMLCommentElement3;
#ifdef __cplusplus
interface IHTMLCommentElement3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLCommentElement_FWD_DEFINED__
#define __DispHTMLCommentElement_FWD_DEFINED__
typedef interface DispHTMLCommentElement DispHTMLCommentElement;
#ifdef __cplusplus
interface DispHTMLCommentElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCommentElement_FWD_DEFINED__
#define __HTMLCommentElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCommentElement HTMLCommentElement;
#else
typedef struct HTMLCommentElement HTMLCommentElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCommentElement_FWD_DEFINED__ */

#ifndef __IHTMLPhraseElement_FWD_DEFINED__
#define __IHTMLPhraseElement_FWD_DEFINED__
typedef interface IHTMLPhraseElement IHTMLPhraseElement;
#ifdef __cplusplus
interface IHTMLPhraseElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPhraseElement2_FWD_DEFINED__
#define __IHTMLPhraseElement2_FWD_DEFINED__
typedef interface IHTMLPhraseElement2 IHTMLPhraseElement2;
#ifdef __cplusplus
interface IHTMLPhraseElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPhraseElement3_FWD_DEFINED__
#define __IHTMLPhraseElement3_FWD_DEFINED__
typedef interface IHTMLPhraseElement3 IHTMLPhraseElement3;
#ifdef __cplusplus
interface IHTMLPhraseElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSpanElement_FWD_DEFINED__
#define __IHTMLSpanElement_FWD_DEFINED__
typedef interface IHTMLSpanElement IHTMLSpanElement;
#ifdef __cplusplus
interface IHTMLSpanElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLPhraseElement_FWD_DEFINED__
#define __DispHTMLPhraseElement_FWD_DEFINED__
typedef interface DispHTMLPhraseElement DispHTMLPhraseElement;
#ifdef __cplusplus
interface DispHTMLPhraseElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLPhraseElement_FWD_DEFINED__
#define __HTMLPhraseElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLPhraseElement HTMLPhraseElement;
#else
typedef struct HTMLPhraseElement HTMLPhraseElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLPhraseElement_FWD_DEFINED__ */

#ifndef __DispHTMLSpanElement_FWD_DEFINED__
#define __DispHTMLSpanElement_FWD_DEFINED__
typedef interface DispHTMLSpanElement DispHTMLSpanElement;
#ifdef __cplusplus
interface DispHTMLSpanElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLSpanElement_FWD_DEFINED__
#define __HTMLSpanElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLSpanElement HTMLSpanElement;
#else
typedef struct HTMLSpanElement HTMLSpanElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLSpanElement_FWD_DEFINED__ */

#ifndef __HTMLTableEvents2_FWD_DEFINED__
#define __HTMLTableEvents2_FWD_DEFINED__
typedef interface HTMLTableEvents2 HTMLTableEvents2;
#ifdef __cplusplus
interface HTMLTableEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTableEvents_FWD_DEFINED__
#define __HTMLTableEvents_FWD_DEFINED__
typedef interface HTMLTableEvents HTMLTableEvents;
#ifdef __cplusplus
interface HTMLTableEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTable_FWD_DEFINED__
#define __IHTMLTable_FWD_DEFINED__
typedef interface IHTMLTable IHTMLTable;
#ifdef __cplusplus
interface IHTMLTable;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTable2_FWD_DEFINED__
#define __IHTMLTable2_FWD_DEFINED__
typedef interface IHTMLTable2 IHTMLTable2;
#ifdef __cplusplus
interface IHTMLTable2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTable3_FWD_DEFINED__
#define __IHTMLTable3_FWD_DEFINED__
typedef interface IHTMLTable3 IHTMLTable3;
#ifdef __cplusplus
interface IHTMLTable3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTable4_FWD_DEFINED__
#define __IHTMLTable4_FWD_DEFINED__
typedef interface IHTMLTable4 IHTMLTable4;
#ifdef __cplusplus
interface IHTMLTable4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableCol_FWD_DEFINED__
#define __IHTMLTableCol_FWD_DEFINED__
typedef interface IHTMLTableCol IHTMLTableCol;
#ifdef __cplusplus
interface IHTMLTableCol;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableCol2_FWD_DEFINED__
#define __IHTMLTableCol2_FWD_DEFINED__
typedef interface IHTMLTableCol2 IHTMLTableCol2;
#ifdef __cplusplus
interface IHTMLTableCol2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableCol3_FWD_DEFINED__
#define __IHTMLTableCol3_FWD_DEFINED__
typedef interface IHTMLTableCol3 IHTMLTableCol3;
#ifdef __cplusplus
interface IHTMLTableCol3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableSection_FWD_DEFINED__
#define __IHTMLTableSection_FWD_DEFINED__
typedef interface IHTMLTableSection IHTMLTableSection;
#ifdef __cplusplus
interface IHTMLTableSection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableSection2_FWD_DEFINED__
#define __IHTMLTableSection2_FWD_DEFINED__
typedef interface IHTMLTableSection2 IHTMLTableSection2;
#ifdef __cplusplus
interface IHTMLTableSection2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableSection3_FWD_DEFINED__
#define __IHTMLTableSection3_FWD_DEFINED__
typedef interface IHTMLTableSection3 IHTMLTableSection3;
#ifdef __cplusplus
interface IHTMLTableSection3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableSection4_FWD_DEFINED__
#define __IHTMLTableSection4_FWD_DEFINED__
typedef interface IHTMLTableSection4 IHTMLTableSection4;
#ifdef __cplusplus
interface IHTMLTableSection4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableRow_FWD_DEFINED__
#define __IHTMLTableRow_FWD_DEFINED__
typedef interface IHTMLTableRow IHTMLTableRow;
#ifdef __cplusplus
interface IHTMLTableRow;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableRow2_FWD_DEFINED__
#define __IHTMLTableRow2_FWD_DEFINED__
typedef interface IHTMLTableRow2 IHTMLTableRow2;
#ifdef __cplusplus
interface IHTMLTableRow2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableRow3_FWD_DEFINED__
#define __IHTMLTableRow3_FWD_DEFINED__
typedef interface IHTMLTableRow3 IHTMLTableRow3;
#ifdef __cplusplus
interface IHTMLTableRow3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableRow4_FWD_DEFINED__
#define __IHTMLTableRow4_FWD_DEFINED__
typedef interface IHTMLTableRow4 IHTMLTableRow4;
#ifdef __cplusplus
interface IHTMLTableRow4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableRowMetrics_FWD_DEFINED__
#define __IHTMLTableRowMetrics_FWD_DEFINED__
typedef interface IHTMLTableRowMetrics IHTMLTableRowMetrics;
#ifdef __cplusplus
interface IHTMLTableRowMetrics;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableCell_FWD_DEFINED__
#define __IHTMLTableCell_FWD_DEFINED__
typedef interface IHTMLTableCell IHTMLTableCell;
#ifdef __cplusplus
interface IHTMLTableCell;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableCell2_FWD_DEFINED__
#define __IHTMLTableCell2_FWD_DEFINED__
typedef interface IHTMLTableCell2 IHTMLTableCell2;
#ifdef __cplusplus
interface IHTMLTableCell2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTableCell3_FWD_DEFINED__
#define __IHTMLTableCell3_FWD_DEFINED__
typedef interface IHTMLTableCell3 IHTMLTableCell3;
#ifdef __cplusplus
interface IHTMLTableCell3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLTable_FWD_DEFINED__
#define __DispHTMLTable_FWD_DEFINED__
typedef interface DispHTMLTable DispHTMLTable;
#ifdef __cplusplus
interface DispHTMLTable;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTable_FWD_DEFINED__
#define __HTMLTable_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTable HTMLTable;
#else
typedef struct HTMLTable HTMLTable;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTable_FWD_DEFINED__ */

#ifndef __DispHTMLTableCol_FWD_DEFINED__
#define __DispHTMLTableCol_FWD_DEFINED__
typedef interface DispHTMLTableCol DispHTMLTableCol;
#ifdef __cplusplus
interface DispHTMLTableCol;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTableCol_FWD_DEFINED__
#define __HTMLTableCol_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTableCol HTMLTableCol;
#else
typedef struct HTMLTableCol HTMLTableCol;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTableCol_FWD_DEFINED__ */

#ifndef __DispHTMLTableSection_FWD_DEFINED__
#define __DispHTMLTableSection_FWD_DEFINED__
typedef interface DispHTMLTableSection DispHTMLTableSection;
#ifdef __cplusplus
interface DispHTMLTableSection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTableSection_FWD_DEFINED__
#define __HTMLTableSection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTableSection HTMLTableSection;
#else
typedef struct HTMLTableSection HTMLTableSection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTableSection_FWD_DEFINED__ */

#ifndef __DispHTMLTableRow_FWD_DEFINED__
#define __DispHTMLTableRow_FWD_DEFINED__
typedef interface DispHTMLTableRow DispHTMLTableRow;
#ifdef __cplusplus
interface DispHTMLTableRow;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTableRow_FWD_DEFINED__
#define __HTMLTableRow_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTableRow HTMLTableRow;
#else
typedef struct HTMLTableRow HTMLTableRow;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTableRow_FWD_DEFINED__ */

#ifndef __DispHTMLTableCell_FWD_DEFINED__
#define __DispHTMLTableCell_FWD_DEFINED__
typedef interface DispHTMLTableCell DispHTMLTableCell;
#ifdef __cplusplus
interface DispHTMLTableCell;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTableCell_FWD_DEFINED__
#define __HTMLTableCell_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTableCell HTMLTableCell;
#else
typedef struct HTMLTableCell HTMLTableCell;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTableCell_FWD_DEFINED__ */

#ifndef __HTMLScriptEvents2_FWD_DEFINED__
#define __HTMLScriptEvents2_FWD_DEFINED__
typedef interface HTMLScriptEvents2 HTMLScriptEvents2;
#ifdef __cplusplus
interface HTMLScriptEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLScriptEvents_FWD_DEFINED__
#define __HTMLScriptEvents_FWD_DEFINED__
typedef interface HTMLScriptEvents HTMLScriptEvents;
#ifdef __cplusplus
interface HTMLScriptEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScriptElement_FWD_DEFINED__
#define __IHTMLScriptElement_FWD_DEFINED__
typedef interface IHTMLScriptElement IHTMLScriptElement;
#ifdef __cplusplus
interface IHTMLScriptElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScriptElement2_FWD_DEFINED__
#define __IHTMLScriptElement2_FWD_DEFINED__
typedef interface IHTMLScriptElement2 IHTMLScriptElement2;
#ifdef __cplusplus
interface IHTMLScriptElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScriptElement3_FWD_DEFINED__
#define __IHTMLScriptElement3_FWD_DEFINED__
typedef interface IHTMLScriptElement3 IHTMLScriptElement3;
#ifdef __cplusplus
interface IHTMLScriptElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLScriptElement4_FWD_DEFINED__
#define __IHTMLScriptElement4_FWD_DEFINED__
typedef interface IHTMLScriptElement4 IHTMLScriptElement4;
#ifdef __cplusplus
interface IHTMLScriptElement4;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLScriptElement_FWD_DEFINED__
#define __DispHTMLScriptElement_FWD_DEFINED__
typedef interface DispHTMLScriptElement DispHTMLScriptElement;
#ifdef __cplusplus
interface DispHTMLScriptElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLScriptElement_FWD_DEFINED__
#define __HTMLScriptElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLScriptElement HTMLScriptElement;
#else
typedef struct HTMLScriptElement HTMLScriptElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLScriptElement_FWD_DEFINED__ */

#ifndef __IHTMLNoShowElement_FWD_DEFINED__
#define __IHTMLNoShowElement_FWD_DEFINED__
typedef interface IHTMLNoShowElement IHTMLNoShowElement;
#ifdef __cplusplus
interface IHTMLNoShowElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLNoShowElement_FWD_DEFINED__
#define __DispHTMLNoShowElement_FWD_DEFINED__
typedef interface DispHTMLNoShowElement DispHTMLNoShowElement;
#ifdef __cplusplus
interface DispHTMLNoShowElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLNoShowElement_FWD_DEFINED__
#define __HTMLNoShowElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLNoShowElement HTMLNoShowElement;
#else
typedef struct HTMLNoShowElement HTMLNoShowElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLNoShowElement_FWD_DEFINED__ */

#ifndef __HTMLObjectElementEvents2_FWD_DEFINED__
#define __HTMLObjectElementEvents2_FWD_DEFINED__
typedef interface HTMLObjectElementEvents2 HTMLObjectElementEvents2;
#ifdef __cplusplus
interface HTMLObjectElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLObjectElementEvents_FWD_DEFINED__
#define __HTMLObjectElementEvents_FWD_DEFINED__
typedef interface HTMLObjectElementEvents HTMLObjectElementEvents;
#ifdef __cplusplus
interface HTMLObjectElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLObjectElement_FWD_DEFINED__
#define __IHTMLObjectElement_FWD_DEFINED__
typedef interface IHTMLObjectElement IHTMLObjectElement;
#ifdef __cplusplus
interface IHTMLObjectElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLObjectElement2_FWD_DEFINED__
#define __IHTMLObjectElement2_FWD_DEFINED__
typedef interface IHTMLObjectElement2 IHTMLObjectElement2;
#ifdef __cplusplus
interface IHTMLObjectElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLObjectElement3_FWD_DEFINED__
#define __IHTMLObjectElement3_FWD_DEFINED__
typedef interface IHTMLObjectElement3 IHTMLObjectElement3;
#ifdef __cplusplus
interface IHTMLObjectElement3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLObjectElement4_FWD_DEFINED__
#define __IHTMLObjectElement4_FWD_DEFINED__
typedef interface IHTMLObjectElement4 IHTMLObjectElement4;
#ifdef __cplusplus
interface IHTMLObjectElement4;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLObjectElement5_FWD_DEFINED__
#define __IHTMLObjectElement5_FWD_DEFINED__
typedef interface IHTMLObjectElement5 IHTMLObjectElement5;
#ifdef __cplusplus
interface IHTMLObjectElement5;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLParamElement_FWD_DEFINED__
#define __IHTMLParamElement_FWD_DEFINED__
typedef interface IHTMLParamElement IHTMLParamElement;
#ifdef __cplusplus
interface IHTMLParamElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLParamElement2_FWD_DEFINED__
#define __IHTMLParamElement2_FWD_DEFINED__
typedef interface IHTMLParamElement2 IHTMLParamElement2;
#ifdef __cplusplus
interface IHTMLParamElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLObjectElement_FWD_DEFINED__
#define __DispHTMLObjectElement_FWD_DEFINED__
typedef interface DispHTMLObjectElement DispHTMLObjectElement;
#ifdef __cplusplus
interface DispHTMLObjectElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLObjectElement_FWD_DEFINED__
#define __HTMLObjectElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLObjectElement HTMLObjectElement;
#else
typedef struct HTMLObjectElement HTMLObjectElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLObjectElement_FWD_DEFINED__ */

#ifndef __DispHTMLParamElement_FWD_DEFINED__
#define __DispHTMLParamElement_FWD_DEFINED__
typedef interface DispHTMLParamElement DispHTMLParamElement;
#ifdef __cplusplus
interface DispHTMLParamElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLParamElement_FWD_DEFINED__
#define __HTMLParamElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLParamElement HTMLParamElement;
#else
typedef struct HTMLParamElement HTMLParamElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLParamElement_FWD_DEFINED__ */

#ifndef __HTMLFrameSiteEvents2_FWD_DEFINED__
#define __HTMLFrameSiteEvents2_FWD_DEFINED__
typedef interface HTMLFrameSiteEvents2 HTMLFrameSiteEvents2;
#ifdef __cplusplus
interface HTMLFrameSiteEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFrameSiteEvents_FWD_DEFINED__
#define __HTMLFrameSiteEvents_FWD_DEFINED__
typedef interface HTMLFrameSiteEvents HTMLFrameSiteEvents;
#ifdef __cplusplus
interface HTMLFrameSiteEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameBase_FWD_DEFINED__
#define __IHTMLFrameBase_FWD_DEFINED__
typedef interface IHTMLFrameBase IHTMLFrameBase;
#ifdef __cplusplus
interface IHTMLFrameBase;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameBase2_FWD_DEFINED__
#define __IHTMLFrameBase2_FWD_DEFINED__
typedef interface IHTMLFrameBase2 IHTMLFrameBase2;
#ifdef __cplusplus
interface IHTMLFrameBase2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameBase3_FWD_DEFINED__
#define __IHTMLFrameBase3_FWD_DEFINED__
typedef interface IHTMLFrameBase3 IHTMLFrameBase3;
#ifdef __cplusplus
interface IHTMLFrameBase3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLFrameBase_FWD_DEFINED__
#define __DispHTMLFrameBase_FWD_DEFINED__
typedef interface DispHTMLFrameBase DispHTMLFrameBase;
#ifdef __cplusplus
interface DispHTMLFrameBase;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFrameBase_FWD_DEFINED__
#define __HTMLFrameBase_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLFrameBase HTMLFrameBase;
#else
typedef struct HTMLFrameBase HTMLFrameBase;
#endif /* defined __cplusplus */
#endif /* defined __HTMLFrameBase_FWD_DEFINED__ */

#ifndef __IHTMLFrameElement_FWD_DEFINED__
#define __IHTMLFrameElement_FWD_DEFINED__
typedef interface IHTMLFrameElement IHTMLFrameElement;
#ifdef __cplusplus
interface IHTMLFrameElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameElement2_FWD_DEFINED__
#define __IHTMLFrameElement2_FWD_DEFINED__
typedef interface IHTMLFrameElement2 IHTMLFrameElement2;
#ifdef __cplusplus
interface IHTMLFrameElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameElement3_FWD_DEFINED__
#define __IHTMLFrameElement3_FWD_DEFINED__
typedef interface IHTMLFrameElement3 IHTMLFrameElement3;
#ifdef __cplusplus
interface IHTMLFrameElement3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLFrameElement_FWD_DEFINED__
#define __DispHTMLFrameElement_FWD_DEFINED__
typedef interface DispHTMLFrameElement DispHTMLFrameElement;
#ifdef __cplusplus
interface DispHTMLFrameElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFrameElement_FWD_DEFINED__
#define __HTMLFrameElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLFrameElement HTMLFrameElement;
#else
typedef struct HTMLFrameElement HTMLFrameElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLFrameElement_FWD_DEFINED__ */

#ifndef __IHTMLIFrameElement_FWD_DEFINED__
#define __IHTMLIFrameElement_FWD_DEFINED__
typedef interface IHTMLIFrameElement IHTMLIFrameElement;
#ifdef __cplusplus
interface IHTMLIFrameElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLIFrameElement2_FWD_DEFINED__
#define __IHTMLIFrameElement2_FWD_DEFINED__
typedef interface IHTMLIFrameElement2 IHTMLIFrameElement2;
#ifdef __cplusplus
interface IHTMLIFrameElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLIFrameElement3_FWD_DEFINED__
#define __IHTMLIFrameElement3_FWD_DEFINED__
typedef interface IHTMLIFrameElement3 IHTMLIFrameElement3;
#ifdef __cplusplus
interface IHTMLIFrameElement3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLIFrame_FWD_DEFINED__
#define __DispHTMLIFrame_FWD_DEFINED__
typedef interface DispHTMLIFrame DispHTMLIFrame;
#ifdef __cplusplus
interface DispHTMLIFrame;
#endif /* __cplusplus */
#endif

#ifndef __HTMLIFrame_FWD_DEFINED__
#define __HTMLIFrame_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLIFrame HTMLIFrame;
#else
typedef struct HTMLIFrame HTMLIFrame;
#endif /* defined __cplusplus */
#endif /* defined __HTMLIFrame_FWD_DEFINED__ */

#ifndef __IHTMLDivPosition_FWD_DEFINED__
#define __IHTMLDivPosition_FWD_DEFINED__
typedef interface IHTMLDivPosition IHTMLDivPosition;
#ifdef __cplusplus
interface IHTMLDivPosition;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFieldSetElement_FWD_DEFINED__
#define __IHTMLFieldSetElement_FWD_DEFINED__
typedef interface IHTMLFieldSetElement IHTMLFieldSetElement;
#ifdef __cplusplus
interface IHTMLFieldSetElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFieldSetElement2_FWD_DEFINED__
#define __IHTMLFieldSetElement2_FWD_DEFINED__
typedef interface IHTMLFieldSetElement2 IHTMLFieldSetElement2;
#ifdef __cplusplus
interface IHTMLFieldSetElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLegendElement_FWD_DEFINED__
#define __IHTMLLegendElement_FWD_DEFINED__
typedef interface IHTMLLegendElement IHTMLLegendElement;
#ifdef __cplusplus
interface IHTMLLegendElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLLegendElement2_FWD_DEFINED__
#define __IHTMLLegendElement2_FWD_DEFINED__
typedef interface IHTMLLegendElement2 IHTMLLegendElement2;
#ifdef __cplusplus
interface IHTMLLegendElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLDivPosition_FWD_DEFINED__
#define __DispHTMLDivPosition_FWD_DEFINED__
typedef interface DispHTMLDivPosition DispHTMLDivPosition;
#ifdef __cplusplus
interface DispHTMLDivPosition;
#endif /* __cplusplus */
#endif

#ifndef __HTMLDivPosition_FWD_DEFINED__
#define __HTMLDivPosition_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDivPosition HTMLDivPosition;
#else
typedef struct HTMLDivPosition HTMLDivPosition;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDivPosition_FWD_DEFINED__ */

#ifndef __DispHTMLFieldSetElement_FWD_DEFINED__
#define __DispHTMLFieldSetElement_FWD_DEFINED__
typedef interface DispHTMLFieldSetElement DispHTMLFieldSetElement;
#ifdef __cplusplus
interface DispHTMLFieldSetElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFieldSetElement_FWD_DEFINED__
#define __HTMLFieldSetElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLFieldSetElement HTMLFieldSetElement;
#else
typedef struct HTMLFieldSetElement HTMLFieldSetElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLFieldSetElement_FWD_DEFINED__ */

#ifndef __DispHTMLLegendElement_FWD_DEFINED__
#define __DispHTMLLegendElement_FWD_DEFINED__
typedef interface DispHTMLLegendElement DispHTMLLegendElement;
#ifdef __cplusplus
interface DispHTMLLegendElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLLegendElement_FWD_DEFINED__
#define __HTMLLegendElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLLegendElement HTMLLegendElement;
#else
typedef struct HTMLLegendElement HTMLLegendElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLLegendElement_FWD_DEFINED__ */

#ifndef __IHTMLSpanFlow_FWD_DEFINED__
#define __IHTMLSpanFlow_FWD_DEFINED__
typedef interface IHTMLSpanFlow IHTMLSpanFlow;
#ifdef __cplusplus
interface IHTMLSpanFlow;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLSpanFlow_FWD_DEFINED__
#define __DispHTMLSpanFlow_FWD_DEFINED__
typedef interface DispHTMLSpanFlow DispHTMLSpanFlow;
#ifdef __cplusplus
interface DispHTMLSpanFlow;
#endif /* __cplusplus */
#endif

#ifndef __HTMLSpanFlow_FWD_DEFINED__
#define __HTMLSpanFlow_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLSpanFlow HTMLSpanFlow;
#else
typedef struct HTMLSpanFlow HTMLSpanFlow;
#endif /* defined __cplusplus */
#endif /* defined __HTMLSpanFlow_FWD_DEFINED__ */

#ifndef __IHTMLFrameSetElement_FWD_DEFINED__
#define __IHTMLFrameSetElement_FWD_DEFINED__
typedef interface IHTMLFrameSetElement IHTMLFrameSetElement;
#ifdef __cplusplus
interface IHTMLFrameSetElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameSetElement2_FWD_DEFINED__
#define __IHTMLFrameSetElement2_FWD_DEFINED__
typedef interface IHTMLFrameSetElement2 IHTMLFrameSetElement2;
#ifdef __cplusplus
interface IHTMLFrameSetElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameSetElement3_FWD_DEFINED__
#define __IHTMLFrameSetElement3_FWD_DEFINED__
typedef interface IHTMLFrameSetElement3 IHTMLFrameSetElement3;
#ifdef __cplusplus
interface IHTMLFrameSetElement3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLFrameSetSite_FWD_DEFINED__
#define __DispHTMLFrameSetSite_FWD_DEFINED__
typedef interface DispHTMLFrameSetSite DispHTMLFrameSetSite;
#ifdef __cplusplus
interface DispHTMLFrameSetSite;
#endif /* __cplusplus */
#endif

#ifndef __HTMLFrameSetSite_FWD_DEFINED__
#define __HTMLFrameSetSite_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLFrameSetSite HTMLFrameSetSite;
#else
typedef struct HTMLFrameSetSite HTMLFrameSetSite;
#endif /* defined __cplusplus */
#endif /* defined __HTMLFrameSetSite_FWD_DEFINED__ */

#ifndef __IHTMLBGsound_FWD_DEFINED__
#define __IHTMLBGsound_FWD_DEFINED__
typedef interface IHTMLBGsound IHTMLBGsound;
#ifdef __cplusplus
interface IHTMLBGsound;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLBGsound_FWD_DEFINED__
#define __DispHTMLBGsound_FWD_DEFINED__
typedef interface DispHTMLBGsound DispHTMLBGsound;
#ifdef __cplusplus
interface DispHTMLBGsound;
#endif /* __cplusplus */
#endif

#ifndef __HTMLBGsound_FWD_DEFINED__
#define __HTMLBGsound_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLBGsound HTMLBGsound;
#else
typedef struct HTMLBGsound HTMLBGsound;
#endif /* defined __cplusplus */
#endif /* defined __HTMLBGsound_FWD_DEFINED__ */

#ifndef __IHTMLFontNamesCollection_FWD_DEFINED__
#define __IHTMLFontNamesCollection_FWD_DEFINED__
typedef interface IHTMLFontNamesCollection IHTMLFontNamesCollection;
#ifdef __cplusplus
interface IHTMLFontNamesCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFontSizesCollection_FWD_DEFINED__
#define __IHTMLFontSizesCollection_FWD_DEFINED__
typedef interface IHTMLFontSizesCollection IHTMLFontSizesCollection;
#ifdef __cplusplus
interface IHTMLFontSizesCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLOptionsHolder_FWD_DEFINED__
#define __IHTMLOptionsHolder_FWD_DEFINED__
typedef interface IHTMLOptionsHolder IHTMLOptionsHolder;
#ifdef __cplusplus
interface IHTMLOptionsHolder;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleElementEvents2_FWD_DEFINED__
#define __HTMLStyleElementEvents2_FWD_DEFINED__
typedef interface HTMLStyleElementEvents2 HTMLStyleElementEvents2;
#ifdef __cplusplus
interface HTMLStyleElementEvents2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleElementEvents_FWD_DEFINED__
#define __HTMLStyleElementEvents_FWD_DEFINED__
typedef interface HTMLStyleElementEvents HTMLStyleElementEvents;
#ifdef __cplusplus
interface HTMLStyleElementEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleElement_FWD_DEFINED__
#define __IHTMLStyleElement_FWD_DEFINED__
typedef interface IHTMLStyleElement IHTMLStyleElement;
#ifdef __cplusplus
interface IHTMLStyleElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleElement2_FWD_DEFINED__
#define __IHTMLStyleElement2_FWD_DEFINED__
typedef interface IHTMLStyleElement2 IHTMLStyleElement2;
#ifdef __cplusplus
interface IHTMLStyleElement2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleElement_FWD_DEFINED__
#define __DispHTMLStyleElement_FWD_DEFINED__
typedef interface DispHTMLStyleElement DispHTMLStyleElement;
#ifdef __cplusplus
interface DispHTMLStyleElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleElement_FWD_DEFINED__
#define __HTMLStyleElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleElement HTMLStyleElement;
#else
typedef struct HTMLStyleElement HTMLStyleElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleElement_FWD_DEFINED__ */

#ifndef __IHTMLStyleFontFace_FWD_DEFINED__
#define __IHTMLStyleFontFace_FWD_DEFINED__
typedef interface IHTMLStyleFontFace IHTMLStyleFontFace;
#ifdef __cplusplus
interface IHTMLStyleFontFace;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleFontFace2_FWD_DEFINED__
#define __IHTMLStyleFontFace2_FWD_DEFINED__
typedef interface IHTMLStyleFontFace2 IHTMLStyleFontFace2;
#ifdef __cplusplus
interface IHTMLStyleFontFace2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleFontFace_FWD_DEFINED__
#define __DispHTMLStyleFontFace_FWD_DEFINED__
typedef interface DispHTMLStyleFontFace DispHTMLStyleFontFace;
#ifdef __cplusplus
interface DispHTMLStyleFontFace;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleFontFace_FWD_DEFINED__
#define __HTMLStyleFontFace_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleFontFace HTMLStyleFontFace;
#else
typedef struct HTMLStyleFontFace HTMLStyleFontFace;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleFontFace_FWD_DEFINED__ */

#ifndef __IHTMLXDomainRequest_FWD_DEFINED__
#define __IHTMLXDomainRequest_FWD_DEFINED__
typedef interface IHTMLXDomainRequest IHTMLXDomainRequest;
#ifdef __cplusplus
interface IHTMLXDomainRequest;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLXDomainRequestFactory_FWD_DEFINED__
#define __IHTMLXDomainRequestFactory_FWD_DEFINED__
typedef interface IHTMLXDomainRequestFactory IHTMLXDomainRequestFactory;
#ifdef __cplusplus
interface IHTMLXDomainRequestFactory;
#endif /* __cplusplus */
#endif

#ifndef __DispXDomainRequest_FWD_DEFINED__
#define __DispXDomainRequest_FWD_DEFINED__
typedef interface DispXDomainRequest DispXDomainRequest;
#ifdef __cplusplus
interface DispXDomainRequest;
#endif /* __cplusplus */
#endif

#ifndef __XDomainRequest_FWD_DEFINED__
#define __XDomainRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class XDomainRequest XDomainRequest;
#else
typedef struct XDomainRequest XDomainRequest;
#endif /* defined __cplusplus */
#endif /* defined __XDomainRequest_FWD_DEFINED__ */

#ifndef __XDomainRequestFactory_FWD_DEFINED__
#define __XDomainRequestFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class XDomainRequestFactory XDomainRequestFactory;
#else
typedef struct XDomainRequestFactory XDomainRequestFactory;
#endif /* defined __cplusplus */
#endif /* defined __XDomainRequestFactory_FWD_DEFINED__ */

#ifndef __IHTMLStorage_FWD_DEFINED__
#define __IHTMLStorage_FWD_DEFINED__
typedef interface IHTMLStorage IHTMLStorage;
#ifdef __cplusplus
interface IHTMLStorage;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStorage2_FWD_DEFINED__
#define __IHTMLStorage2_FWD_DEFINED__
typedef interface IHTMLStorage2 IHTMLStorage2;
#ifdef __cplusplus
interface IHTMLStorage2;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStorage_FWD_DEFINED__
#define __DispHTMLStorage_FWD_DEFINED__
typedef interface DispHTMLStorage DispHTMLStorage;
#ifdef __cplusplus
interface DispHTMLStorage;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStorage_FWD_DEFINED__
#define __HTMLStorage_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStorage HTMLStorage;
#else
typedef struct HTMLStorage HTMLStorage;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStorage_FWD_DEFINED__ */

#ifndef __IEventTarget_FWD_DEFINED__
#define __IEventTarget_FWD_DEFINED__
typedef interface IEventTarget IEventTarget;
#ifdef __cplusplus
interface IEventTarget;
#endif /* __cplusplus */
#endif

#ifndef __IDOMEvent_FWD_DEFINED__
#define __IDOMEvent_FWD_DEFINED__
typedef interface IDOMEvent IDOMEvent;
#ifdef __cplusplus
interface IDOMEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMEvent_FWD_DEFINED__
#define __DispDOMEvent_FWD_DEFINED__
typedef interface DispDOMEvent DispDOMEvent;
#ifdef __cplusplus
interface DispDOMEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMEvent_FWD_DEFINED__
#define __DOMEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMEvent DOMEvent;
#else
typedef struct DOMEvent DOMEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMEvent_FWD_DEFINED__ */

#ifndef __IDOMUIEvent_FWD_DEFINED__
#define __IDOMUIEvent_FWD_DEFINED__
typedef interface IDOMUIEvent IDOMUIEvent;
#ifdef __cplusplus
interface IDOMUIEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMUIEvent_FWD_DEFINED__
#define __DispDOMUIEvent_FWD_DEFINED__
typedef interface DispDOMUIEvent DispDOMUIEvent;
#ifdef __cplusplus
interface DispDOMUIEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMUIEvent_FWD_DEFINED__
#define __DOMUIEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMUIEvent DOMUIEvent;
#else
typedef struct DOMUIEvent DOMUIEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMUIEvent_FWD_DEFINED__ */

#ifndef __IDOMMouseEvent_FWD_DEFINED__
#define __IDOMMouseEvent_FWD_DEFINED__
typedef interface IDOMMouseEvent IDOMMouseEvent;
#ifdef __cplusplus
interface IDOMMouseEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMMouseEvent_FWD_DEFINED__
#define __DispDOMMouseEvent_FWD_DEFINED__
typedef interface DispDOMMouseEvent DispDOMMouseEvent;
#ifdef __cplusplus
interface DispDOMMouseEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMMouseEvent_FWD_DEFINED__
#define __DOMMouseEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMMouseEvent DOMMouseEvent;
#else
typedef struct DOMMouseEvent DOMMouseEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMMouseEvent_FWD_DEFINED__ */

#ifndef __IDOMDragEvent_FWD_DEFINED__
#define __IDOMDragEvent_FWD_DEFINED__
typedef interface IDOMDragEvent IDOMDragEvent;
#ifdef __cplusplus
interface IDOMDragEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMDragEvent_FWD_DEFINED__
#define __DispDOMDragEvent_FWD_DEFINED__
typedef interface DispDOMDragEvent DispDOMDragEvent;
#ifdef __cplusplus
interface DispDOMDragEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMDragEvent_FWD_DEFINED__
#define __DOMDragEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMDragEvent DOMDragEvent;
#else
typedef struct DOMDragEvent DOMDragEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMDragEvent_FWD_DEFINED__ */

#ifndef __IDOMMouseWheelEvent_FWD_DEFINED__
#define __IDOMMouseWheelEvent_FWD_DEFINED__
typedef interface IDOMMouseWheelEvent IDOMMouseWheelEvent;
#ifdef __cplusplus
interface IDOMMouseWheelEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMMouseWheelEvent_FWD_DEFINED__
#define __DispDOMMouseWheelEvent_FWD_DEFINED__
typedef interface DispDOMMouseWheelEvent DispDOMMouseWheelEvent;
#ifdef __cplusplus
interface DispDOMMouseWheelEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMMouseWheelEvent_FWD_DEFINED__
#define __DOMMouseWheelEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMMouseWheelEvent DOMMouseWheelEvent;
#else
typedef struct DOMMouseWheelEvent DOMMouseWheelEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMMouseWheelEvent_FWD_DEFINED__ */

#ifndef __IDOMWheelEvent_FWD_DEFINED__
#define __IDOMWheelEvent_FWD_DEFINED__
typedef interface IDOMWheelEvent IDOMWheelEvent;
#ifdef __cplusplus
interface IDOMWheelEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMWheelEvent_FWD_DEFINED__
#define __DispDOMWheelEvent_FWD_DEFINED__
typedef interface DispDOMWheelEvent DispDOMWheelEvent;
#ifdef __cplusplus
interface DispDOMWheelEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMWheelEvent_FWD_DEFINED__
#define __DOMWheelEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMWheelEvent DOMWheelEvent;
#else
typedef struct DOMWheelEvent DOMWheelEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMWheelEvent_FWD_DEFINED__ */

#ifndef __IDOMTextEvent_FWD_DEFINED__
#define __IDOMTextEvent_FWD_DEFINED__
typedef interface IDOMTextEvent IDOMTextEvent;
#ifdef __cplusplus
interface IDOMTextEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMTextEvent_FWD_DEFINED__
#define __DispDOMTextEvent_FWD_DEFINED__
typedef interface DispDOMTextEvent DispDOMTextEvent;
#ifdef __cplusplus
interface DispDOMTextEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMTextEvent_FWD_DEFINED__
#define __DOMTextEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMTextEvent DOMTextEvent;
#else
typedef struct DOMTextEvent DOMTextEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMTextEvent_FWD_DEFINED__ */

#ifndef __IDOMKeyboardEvent_FWD_DEFINED__
#define __IDOMKeyboardEvent_FWD_DEFINED__
typedef interface IDOMKeyboardEvent IDOMKeyboardEvent;
#ifdef __cplusplus
interface IDOMKeyboardEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMKeyboardEvent_FWD_DEFINED__
#define __DispDOMKeyboardEvent_FWD_DEFINED__
typedef interface DispDOMKeyboardEvent DispDOMKeyboardEvent;
#ifdef __cplusplus
interface DispDOMKeyboardEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMKeyboardEvent_FWD_DEFINED__
#define __DOMKeyboardEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMKeyboardEvent DOMKeyboardEvent;
#else
typedef struct DOMKeyboardEvent DOMKeyboardEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMKeyboardEvent_FWD_DEFINED__ */

#ifndef __IDOMCompositionEvent_FWD_DEFINED__
#define __IDOMCompositionEvent_FWD_DEFINED__
typedef interface IDOMCompositionEvent IDOMCompositionEvent;
#ifdef __cplusplus
interface IDOMCompositionEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMCompositionEvent_FWD_DEFINED__
#define __DispDOMCompositionEvent_FWD_DEFINED__
typedef interface DispDOMCompositionEvent DispDOMCompositionEvent;
#ifdef __cplusplus
interface DispDOMCompositionEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMCompositionEvent_FWD_DEFINED__
#define __DOMCompositionEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMCompositionEvent DOMCompositionEvent;
#else
typedef struct DOMCompositionEvent DOMCompositionEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMCompositionEvent_FWD_DEFINED__ */

#ifndef __IDOMMutationEvent_FWD_DEFINED__
#define __IDOMMutationEvent_FWD_DEFINED__
typedef interface IDOMMutationEvent IDOMMutationEvent;
#ifdef __cplusplus
interface IDOMMutationEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMMutationEvent_FWD_DEFINED__
#define __DispDOMMutationEvent_FWD_DEFINED__
typedef interface DispDOMMutationEvent DispDOMMutationEvent;
#ifdef __cplusplus
interface DispDOMMutationEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMMutationEvent_FWD_DEFINED__
#define __DOMMutationEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMMutationEvent DOMMutationEvent;
#else
typedef struct DOMMutationEvent DOMMutationEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMMutationEvent_FWD_DEFINED__ */

#ifndef __IDOMBeforeUnloadEvent_FWD_DEFINED__
#define __IDOMBeforeUnloadEvent_FWD_DEFINED__
typedef interface IDOMBeforeUnloadEvent IDOMBeforeUnloadEvent;
#ifdef __cplusplus
interface IDOMBeforeUnloadEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMBeforeUnloadEvent_FWD_DEFINED__
#define __DispDOMBeforeUnloadEvent_FWD_DEFINED__
typedef interface DispDOMBeforeUnloadEvent DispDOMBeforeUnloadEvent;
#ifdef __cplusplus
interface DispDOMBeforeUnloadEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMBeforeUnloadEvent_FWD_DEFINED__
#define __DOMBeforeUnloadEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMBeforeUnloadEvent DOMBeforeUnloadEvent;
#else
typedef struct DOMBeforeUnloadEvent DOMBeforeUnloadEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMBeforeUnloadEvent_FWD_DEFINED__ */

#ifndef __IDOMFocusEvent_FWD_DEFINED__
#define __IDOMFocusEvent_FWD_DEFINED__
typedef interface IDOMFocusEvent IDOMFocusEvent;
#ifdef __cplusplus
interface IDOMFocusEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMFocusEvent_FWD_DEFINED__
#define __DispDOMFocusEvent_FWD_DEFINED__
typedef interface DispDOMFocusEvent DispDOMFocusEvent;
#ifdef __cplusplus
interface DispDOMFocusEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMFocusEvent_FWD_DEFINED__
#define __DOMFocusEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMFocusEvent DOMFocusEvent;
#else
typedef struct DOMFocusEvent DOMFocusEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMFocusEvent_FWD_DEFINED__ */

#ifndef __IDOMCustomEvent_FWD_DEFINED__
#define __IDOMCustomEvent_FWD_DEFINED__
typedef interface IDOMCustomEvent IDOMCustomEvent;
#ifdef __cplusplus
interface IDOMCustomEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMCustomEvent_FWD_DEFINED__
#define __DispDOMCustomEvent_FWD_DEFINED__
typedef interface DispDOMCustomEvent DispDOMCustomEvent;
#ifdef __cplusplus
interface DispDOMCustomEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMCustomEvent_FWD_DEFINED__
#define __DOMCustomEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMCustomEvent DOMCustomEvent;
#else
typedef struct DOMCustomEvent DOMCustomEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMCustomEvent_FWD_DEFINED__ */

#ifndef __ICanvasGradient_FWD_DEFINED__
#define __ICanvasGradient_FWD_DEFINED__
typedef interface ICanvasGradient ICanvasGradient;
#ifdef __cplusplus
interface ICanvasGradient;
#endif /* __cplusplus */
#endif

#ifndef __ICanvasPattern_FWD_DEFINED__
#define __ICanvasPattern_FWD_DEFINED__
typedef interface ICanvasPattern ICanvasPattern;
#ifdef __cplusplus
interface ICanvasPattern;
#endif /* __cplusplus */
#endif

#ifndef __ICanvasTextMetrics_FWD_DEFINED__
#define __ICanvasTextMetrics_FWD_DEFINED__
typedef interface ICanvasTextMetrics ICanvasTextMetrics;
#ifdef __cplusplus
interface ICanvasTextMetrics;
#endif /* __cplusplus */
#endif

#ifndef __ICanvasImageData_FWD_DEFINED__
#define __ICanvasImageData_FWD_DEFINED__
typedef interface ICanvasImageData ICanvasImageData;
#ifdef __cplusplus
interface ICanvasImageData;
#endif /* __cplusplus */
#endif

#ifndef __ICanvasPixelArray_FWD_DEFINED__
#define __ICanvasPixelArray_FWD_DEFINED__
typedef interface ICanvasPixelArray ICanvasPixelArray;
#ifdef __cplusplus
interface ICanvasPixelArray;
#endif /* __cplusplus */
#endif

#ifndef __ICanvasRenderingContext2D_FWD_DEFINED__
#define __ICanvasRenderingContext2D_FWD_DEFINED__
typedef interface ICanvasRenderingContext2D ICanvasRenderingContext2D;
#ifdef __cplusplus
interface ICanvasRenderingContext2D;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCanvasElement_FWD_DEFINED__
#define __IHTMLCanvasElement_FWD_DEFINED__
typedef interface IHTMLCanvasElement IHTMLCanvasElement;
#ifdef __cplusplus
interface IHTMLCanvasElement;
#endif /* __cplusplus */
#endif

#ifndef __DispCanvasGradient_FWD_DEFINED__
#define __DispCanvasGradient_FWD_DEFINED__
typedef interface DispCanvasGradient DispCanvasGradient;
#ifdef __cplusplus
interface DispCanvasGradient;
#endif /* __cplusplus */
#endif

#ifndef __CanvasGradient_FWD_DEFINED__
#define __CanvasGradient_FWD_DEFINED__
#ifdef __cplusplus
typedef class CanvasGradient CanvasGradient;
#else
typedef struct CanvasGradient CanvasGradient;
#endif /* defined __cplusplus */
#endif /* defined __CanvasGradient_FWD_DEFINED__ */

#ifndef __DispCanvasPattern_FWD_DEFINED__
#define __DispCanvasPattern_FWD_DEFINED__
typedef interface DispCanvasPattern DispCanvasPattern;
#ifdef __cplusplus
interface DispCanvasPattern;
#endif /* __cplusplus */
#endif

#ifndef __CanvasPattern_FWD_DEFINED__
#define __CanvasPattern_FWD_DEFINED__
#ifdef __cplusplus
typedef class CanvasPattern CanvasPattern;
#else
typedef struct CanvasPattern CanvasPattern;
#endif /* defined __cplusplus */
#endif /* defined __CanvasPattern_FWD_DEFINED__ */

#ifndef __DispCanvasTextMetrics_FWD_DEFINED__
#define __DispCanvasTextMetrics_FWD_DEFINED__
typedef interface DispCanvasTextMetrics DispCanvasTextMetrics;
#ifdef __cplusplus
interface DispCanvasTextMetrics;
#endif /* __cplusplus */
#endif

#ifndef __CanvasTextMetrics_FWD_DEFINED__
#define __CanvasTextMetrics_FWD_DEFINED__
#ifdef __cplusplus
typedef class CanvasTextMetrics CanvasTextMetrics;
#else
typedef struct CanvasTextMetrics CanvasTextMetrics;
#endif /* defined __cplusplus */
#endif /* defined __CanvasTextMetrics_FWD_DEFINED__ */

#ifndef __DispCanvasImageData_FWD_DEFINED__
#define __DispCanvasImageData_FWD_DEFINED__
typedef interface DispCanvasImageData DispCanvasImageData;
#ifdef __cplusplus
interface DispCanvasImageData;
#endif /* __cplusplus */
#endif

#ifndef __CanvasImageData_FWD_DEFINED__
#define __CanvasImageData_FWD_DEFINED__
#ifdef __cplusplus
typedef class CanvasImageData CanvasImageData;
#else
typedef struct CanvasImageData CanvasImageData;
#endif /* defined __cplusplus */
#endif /* defined __CanvasImageData_FWD_DEFINED__ */

#ifndef __DispCanvasRenderingContext2D_FWD_DEFINED__
#define __DispCanvasRenderingContext2D_FWD_DEFINED__
typedef interface DispCanvasRenderingContext2D DispCanvasRenderingContext2D;
#ifdef __cplusplus
interface DispCanvasRenderingContext2D;
#endif /* __cplusplus */
#endif

#ifndef __CanvasRenderingContext2D_FWD_DEFINED__
#define __CanvasRenderingContext2D_FWD_DEFINED__
#ifdef __cplusplus
typedef class CanvasRenderingContext2D CanvasRenderingContext2D;
#else
typedef struct CanvasRenderingContext2D CanvasRenderingContext2D;
#endif /* defined __cplusplus */
#endif /* defined __CanvasRenderingContext2D_FWD_DEFINED__ */

#ifndef __DispHTMLCanvasElement_FWD_DEFINED__
#define __DispHTMLCanvasElement_FWD_DEFINED__
typedef interface DispHTMLCanvasElement DispHTMLCanvasElement;
#ifdef __cplusplus
interface DispHTMLCanvasElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLCanvasElement_FWD_DEFINED__
#define __HTMLCanvasElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLCanvasElement HTMLCanvasElement;
#else
typedef struct HTMLCanvasElement HTMLCanvasElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLCanvasElement_FWD_DEFINED__ */

#ifndef __IDOMProgressEvent_FWD_DEFINED__
#define __IDOMProgressEvent_FWD_DEFINED__
typedef interface IDOMProgressEvent IDOMProgressEvent;
#ifdef __cplusplus
interface IDOMProgressEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMProgressEvent_FWD_DEFINED__
#define __DispDOMProgressEvent_FWD_DEFINED__
typedef interface DispDOMProgressEvent DispDOMProgressEvent;
#ifdef __cplusplus
interface DispDOMProgressEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMProgressEvent_FWD_DEFINED__
#define __DOMProgressEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMProgressEvent DOMProgressEvent;
#else
typedef struct DOMProgressEvent DOMProgressEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMProgressEvent_FWD_DEFINED__ */

#ifndef __IDOMMessageEvent_FWD_DEFINED__
#define __IDOMMessageEvent_FWD_DEFINED__
typedef interface IDOMMessageEvent IDOMMessageEvent;
#ifdef __cplusplus
interface IDOMMessageEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMMessageEvent_FWD_DEFINED__
#define __DispDOMMessageEvent_FWD_DEFINED__
typedef interface DispDOMMessageEvent DispDOMMessageEvent;
#ifdef __cplusplus
interface DispDOMMessageEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMMessageEvent_FWD_DEFINED__
#define __DOMMessageEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMMessageEvent DOMMessageEvent;
#else
typedef struct DOMMessageEvent DOMMessageEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMMessageEvent_FWD_DEFINED__ */

#ifndef __IDOMSiteModeEvent_FWD_DEFINED__
#define __IDOMSiteModeEvent_FWD_DEFINED__
typedef interface IDOMSiteModeEvent IDOMSiteModeEvent;
#ifdef __cplusplus
interface IDOMSiteModeEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMSiteModeEvent_FWD_DEFINED__
#define __DispDOMSiteModeEvent_FWD_DEFINED__
typedef interface DispDOMSiteModeEvent DispDOMSiteModeEvent;
#ifdef __cplusplus
interface DispDOMSiteModeEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMSiteModeEvent_FWD_DEFINED__
#define __DOMSiteModeEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMSiteModeEvent DOMSiteModeEvent;
#else
typedef struct DOMSiteModeEvent DOMSiteModeEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMSiteModeEvent_FWD_DEFINED__ */

#ifndef __IDOMStorageEvent_FWD_DEFINED__
#define __IDOMStorageEvent_FWD_DEFINED__
typedef interface IDOMStorageEvent IDOMStorageEvent;
#ifdef __cplusplus
interface IDOMStorageEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMStorageEvent_FWD_DEFINED__
#define __DispDOMStorageEvent_FWD_DEFINED__
typedef interface DispDOMStorageEvent DispDOMStorageEvent;
#ifdef __cplusplus
interface DispDOMStorageEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMStorageEvent_FWD_DEFINED__
#define __DOMStorageEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMStorageEvent DOMStorageEvent;
#else
typedef struct DOMStorageEvent DOMStorageEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMStorageEvent_FWD_DEFINED__ */

#ifndef __IXMLHttpRequestEventTarget_FWD_DEFINED__
#define __IXMLHttpRequestEventTarget_FWD_DEFINED__
typedef interface IXMLHttpRequestEventTarget IXMLHttpRequestEventTarget;
#ifdef __cplusplus
interface IXMLHttpRequestEventTarget;
#endif /* __cplusplus */
#endif

#ifndef __DispXMLHttpRequestEventTarget_FWD_DEFINED__
#define __DispXMLHttpRequestEventTarget_FWD_DEFINED__
typedef interface DispXMLHttpRequestEventTarget DispXMLHttpRequestEventTarget;
#ifdef __cplusplus
interface DispXMLHttpRequestEventTarget;
#endif /* __cplusplus */
#endif

#ifndef __XMLHttpRequestEventTarget_FWD_DEFINED__
#define __XMLHttpRequestEventTarget_FWD_DEFINED__
#ifdef __cplusplus
typedef class XMLHttpRequestEventTarget XMLHttpRequestEventTarget;
#else
typedef struct XMLHttpRequestEventTarget XMLHttpRequestEventTarget;
#endif /* defined __cplusplus */
#endif /* defined __XMLHttpRequestEventTarget_FWD_DEFINED__ */

#ifndef __HTMLXMLHttpRequestEvents_FWD_DEFINED__
#define __HTMLXMLHttpRequestEvents_FWD_DEFINED__
typedef interface HTMLXMLHttpRequestEvents HTMLXMLHttpRequestEvents;
#ifdef __cplusplus
interface HTMLXMLHttpRequestEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLXMLHttpRequest_FWD_DEFINED__
#define __IHTMLXMLHttpRequest_FWD_DEFINED__
typedef interface IHTMLXMLHttpRequest IHTMLXMLHttpRequest;
#ifdef __cplusplus
interface IHTMLXMLHttpRequest;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLXMLHttpRequest2_FWD_DEFINED__
#define __IHTMLXMLHttpRequest2_FWD_DEFINED__
typedef interface IHTMLXMLHttpRequest2 IHTMLXMLHttpRequest2;
#ifdef __cplusplus
interface IHTMLXMLHttpRequest2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLXMLHttpRequestFactory_FWD_DEFINED__
#define __IHTMLXMLHttpRequestFactory_FWD_DEFINED__
typedef interface IHTMLXMLHttpRequestFactory IHTMLXMLHttpRequestFactory;
#ifdef __cplusplus
interface IHTMLXMLHttpRequestFactory;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLXMLHttpRequest_FWD_DEFINED__
#define __DispHTMLXMLHttpRequest_FWD_DEFINED__
typedef interface DispHTMLXMLHttpRequest DispHTMLXMLHttpRequest;
#ifdef __cplusplus
interface DispHTMLXMLHttpRequest;
#endif /* __cplusplus */
#endif

#ifndef __HTMLXMLHttpRequest_FWD_DEFINED__
#define __HTMLXMLHttpRequest_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLXMLHttpRequest HTMLXMLHttpRequest;
#else
typedef struct HTMLXMLHttpRequest HTMLXMLHttpRequest;
#endif /* defined __cplusplus */
#endif /* defined __HTMLXMLHttpRequest_FWD_DEFINED__ */

#ifndef __HTMLXMLHttpRequestFactory_FWD_DEFINED__
#define __HTMLXMLHttpRequestFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLXMLHttpRequestFactory HTMLXMLHttpRequestFactory;
#else
typedef struct HTMLXMLHttpRequestFactory HTMLXMLHttpRequestFactory;
#endif /* defined __cplusplus */
#endif /* defined __HTMLXMLHttpRequestFactory_FWD_DEFINED__ */

#ifndef __ISVGAngle_FWD_DEFINED__
#define __ISVGAngle_FWD_DEFINED__
typedef interface ISVGAngle ISVGAngle;
#ifdef __cplusplus
interface ISVGAngle;
#endif /* __cplusplus */
#endif

#ifndef __SVGAngle_FWD_DEFINED__
#define __SVGAngle_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAngle SVGAngle;
#else
typedef struct SVGAngle SVGAngle;
#endif /* defined __cplusplus */
#endif /* defined __SVGAngle_FWD_DEFINED__ */

#ifndef __ISVGStylable_FWD_DEFINED__
#define __ISVGStylable_FWD_DEFINED__
typedef interface ISVGStylable ISVGStylable;
#ifdef __cplusplus
interface ISVGStylable;
#endif /* __cplusplus */
#endif

#ifndef __ISVGLocatable_FWD_DEFINED__
#define __ISVGLocatable_FWD_DEFINED__
typedef interface ISVGLocatable ISVGLocatable;
#ifdef __cplusplus
interface ISVGLocatable;
#endif /* __cplusplus */
#endif

#ifndef __ISVGTransformable_FWD_DEFINED__
#define __ISVGTransformable_FWD_DEFINED__
typedef interface ISVGTransformable ISVGTransformable;
#ifdef __cplusplus
interface ISVGTransformable;
#endif /* __cplusplus */
#endif

#ifndef __ISVGTests_FWD_DEFINED__
#define __ISVGTests_FWD_DEFINED__
typedef interface ISVGTests ISVGTests;
#ifdef __cplusplus
interface ISVGTests;
#endif /* __cplusplus */
#endif

#ifndef __ISVGLangSpace_FWD_DEFINED__
#define __ISVGLangSpace_FWD_DEFINED__
typedef interface ISVGLangSpace ISVGLangSpace;
#ifdef __cplusplus
interface ISVGLangSpace;
#endif /* __cplusplus */
#endif

#ifndef __ISVGExternalResourcesRequired_FWD_DEFINED__
#define __ISVGExternalResourcesRequired_FWD_DEFINED__
typedef interface ISVGExternalResourcesRequired ISVGExternalResourcesRequired;
#ifdef __cplusplus
interface ISVGExternalResourcesRequired;
#endif /* __cplusplus */
#endif

#ifndef __ISVGFitToViewBox_FWD_DEFINED__
#define __ISVGFitToViewBox_FWD_DEFINED__
typedef interface ISVGFitToViewBox ISVGFitToViewBox;
#ifdef __cplusplus
interface ISVGFitToViewBox;
#endif /* __cplusplus */
#endif

#ifndef __ISVGZoomAndPan_FWD_DEFINED__
#define __ISVGZoomAndPan_FWD_DEFINED__
typedef interface ISVGZoomAndPan ISVGZoomAndPan;
#ifdef __cplusplus
interface ISVGZoomAndPan;
#endif /* __cplusplus */
#endif

#ifndef __ISVGURIReference_FWD_DEFINED__
#define __ISVGURIReference_FWD_DEFINED__
typedef interface ISVGURIReference ISVGURIReference;
#ifdef __cplusplus
interface ISVGURIReference;
#endif /* __cplusplus */
#endif

#ifndef __ISVGAnimatedAngle_FWD_DEFINED__
#define __ISVGAnimatedAngle_FWD_DEFINED__
typedef interface ISVGAnimatedAngle ISVGAnimatedAngle;
#ifdef __cplusplus
interface ISVGAnimatedAngle;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedAngle_FWD_DEFINED__
#define __SVGAnimatedAngle_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedAngle SVGAnimatedAngle;
#else
typedef struct SVGAnimatedAngle SVGAnimatedAngle;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedAngle_FWD_DEFINED__ */

#ifndef __ISVGAnimatedTransformList_FWD_DEFINED__
#define __ISVGAnimatedTransformList_FWD_DEFINED__
typedef interface ISVGAnimatedTransformList ISVGAnimatedTransformList;
#ifdef __cplusplus
interface ISVGAnimatedTransformList;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedTransformList_FWD_DEFINED__
#define __SVGAnimatedTransformList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedTransformList SVGAnimatedTransformList;
#else
typedef struct SVGAnimatedTransformList SVGAnimatedTransformList;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedTransformList_FWD_DEFINED__ */

#ifndef __ISVGAnimatedBoolean_FWD_DEFINED__
#define __ISVGAnimatedBoolean_FWD_DEFINED__
typedef interface ISVGAnimatedBoolean ISVGAnimatedBoolean;
#ifdef __cplusplus
interface ISVGAnimatedBoolean;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedBoolean_FWD_DEFINED__
#define __SVGAnimatedBoolean_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedBoolean SVGAnimatedBoolean;
#else
typedef struct SVGAnimatedBoolean SVGAnimatedBoolean;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedBoolean_FWD_DEFINED__ */

#ifndef __ISVGAnimatedEnumeration_FWD_DEFINED__
#define __ISVGAnimatedEnumeration_FWD_DEFINED__
typedef interface ISVGAnimatedEnumeration ISVGAnimatedEnumeration;
#ifdef __cplusplus
interface ISVGAnimatedEnumeration;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedEnumeration_FWD_DEFINED__
#define __SVGAnimatedEnumeration_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedEnumeration SVGAnimatedEnumeration;
#else
typedef struct SVGAnimatedEnumeration SVGAnimatedEnumeration;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedEnumeration_FWD_DEFINED__ */

#ifndef __ISVGAnimatedInteger_FWD_DEFINED__
#define __ISVGAnimatedInteger_FWD_DEFINED__
typedef interface ISVGAnimatedInteger ISVGAnimatedInteger;
#ifdef __cplusplus
interface ISVGAnimatedInteger;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedInteger_FWD_DEFINED__
#define __SVGAnimatedInteger_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedInteger SVGAnimatedInteger;
#else
typedef struct SVGAnimatedInteger SVGAnimatedInteger;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedInteger_FWD_DEFINED__ */

#ifndef __ISVGAnimatedLength_FWD_DEFINED__
#define __ISVGAnimatedLength_FWD_DEFINED__
typedef interface ISVGAnimatedLength ISVGAnimatedLength;
#ifdef __cplusplus
interface ISVGAnimatedLength;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedLength_FWD_DEFINED__
#define __SVGAnimatedLength_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedLength SVGAnimatedLength;
#else
typedef struct SVGAnimatedLength SVGAnimatedLength;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedLength_FWD_DEFINED__ */

#ifndef __ISVGAnimatedLengthList_FWD_DEFINED__
#define __ISVGAnimatedLengthList_FWD_DEFINED__
typedef interface ISVGAnimatedLengthList ISVGAnimatedLengthList;
#ifdef __cplusplus
interface ISVGAnimatedLengthList;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedLengthList_FWD_DEFINED__
#define __SVGAnimatedLengthList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedLengthList SVGAnimatedLengthList;
#else
typedef struct SVGAnimatedLengthList SVGAnimatedLengthList;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedLengthList_FWD_DEFINED__ */

#ifndef __ISVGAnimatedNumber_FWD_DEFINED__
#define __ISVGAnimatedNumber_FWD_DEFINED__
typedef interface ISVGAnimatedNumber ISVGAnimatedNumber;
#ifdef __cplusplus
interface ISVGAnimatedNumber;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedNumber_FWD_DEFINED__
#define __SVGAnimatedNumber_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedNumber SVGAnimatedNumber;
#else
typedef struct SVGAnimatedNumber SVGAnimatedNumber;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedNumber_FWD_DEFINED__ */

#ifndef __ISVGAnimatedNumberList_FWD_DEFINED__
#define __ISVGAnimatedNumberList_FWD_DEFINED__
typedef interface ISVGAnimatedNumberList ISVGAnimatedNumberList;
#ifdef __cplusplus
interface ISVGAnimatedNumberList;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedNumberList_FWD_DEFINED__
#define __SVGAnimatedNumberList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedNumberList SVGAnimatedNumberList;
#else
typedef struct SVGAnimatedNumberList SVGAnimatedNumberList;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedNumberList_FWD_DEFINED__ */

#ifndef __ISVGAnimatedRect_FWD_DEFINED__
#define __ISVGAnimatedRect_FWD_DEFINED__
typedef interface ISVGAnimatedRect ISVGAnimatedRect;
#ifdef __cplusplus
interface ISVGAnimatedRect;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedRect_FWD_DEFINED__
#define __SVGAnimatedRect_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedRect SVGAnimatedRect;
#else
typedef struct SVGAnimatedRect SVGAnimatedRect;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedRect_FWD_DEFINED__ */

#ifndef __ISVGAnimatedString_FWD_DEFINED__
#define __ISVGAnimatedString_FWD_DEFINED__
typedef interface ISVGAnimatedString ISVGAnimatedString;
#ifdef __cplusplus
interface ISVGAnimatedString;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedString_FWD_DEFINED__
#define __SVGAnimatedString_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedString SVGAnimatedString;
#else
typedef struct SVGAnimatedString SVGAnimatedString;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedString_FWD_DEFINED__ */

#ifndef __ISVGClipPathElement_FWD_DEFINED__
#define __ISVGClipPathElement_FWD_DEFINED__
typedef interface ISVGClipPathElement ISVGClipPathElement;
#ifdef __cplusplus
interface ISVGClipPathElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGClipPathElement_FWD_DEFINED__
#define __DispSVGClipPathElement_FWD_DEFINED__
typedef interface DispSVGClipPathElement DispSVGClipPathElement;
#ifdef __cplusplus
interface DispSVGClipPathElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGClipPathElement_FWD_DEFINED__
#define __SVGClipPathElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGClipPathElement SVGClipPathElement;
#else
typedef struct SVGClipPathElement SVGClipPathElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGClipPathElement_FWD_DEFINED__ */

#ifndef __ISVGDocument_FWD_DEFINED__
#define __ISVGDocument_FWD_DEFINED__
typedef interface ISVGDocument ISVGDocument;
#ifdef __cplusplus
interface ISVGDocument;
#endif /* __cplusplus */
#endif

#ifndef __IGetSVGDocument_FWD_DEFINED__
#define __IGetSVGDocument_FWD_DEFINED__
typedef interface IGetSVGDocument IGetSVGDocument;
#ifdef __cplusplus
interface IGetSVGDocument;
#endif /* __cplusplus */
#endif

#ifndef __ISVGElement_FWD_DEFINED__
#define __ISVGElement_FWD_DEFINED__
typedef interface ISVGElement ISVGElement;
#ifdef __cplusplus
interface ISVGElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGElement_FWD_DEFINED__
#define __DispSVGElement_FWD_DEFINED__
typedef interface DispSVGElement DispSVGElement;
#ifdef __cplusplus
interface DispSVGElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGElement_FWD_DEFINED__
#define __SVGElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGElement SVGElement;
#else
typedef struct SVGElement SVGElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGElement_FWD_DEFINED__ */

#ifndef __IICCSVGColor_FWD_DEFINED__
#define __IICCSVGColor_FWD_DEFINED__
typedef interface IICCSVGColor IICCSVGColor;
#ifdef __cplusplus
interface IICCSVGColor;
#endif /* __cplusplus */
#endif

#ifndef __ISVGLength_FWD_DEFINED__
#define __ISVGLength_FWD_DEFINED__
typedef interface ISVGLength ISVGLength;
#ifdef __cplusplus
interface ISVGLength;
#endif /* __cplusplus */
#endif

#ifndef __SVGLength_FWD_DEFINED__
#define __SVGLength_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGLength SVGLength;
#else
typedef struct SVGLength SVGLength;
#endif /* defined __cplusplus */
#endif /* defined __SVGLength_FWD_DEFINED__ */

#ifndef __ISVGLengthList_FWD_DEFINED__
#define __ISVGLengthList_FWD_DEFINED__
typedef interface ISVGLengthList ISVGLengthList;
#ifdef __cplusplus
interface ISVGLengthList;
#endif /* __cplusplus */
#endif

#ifndef __SVGLengthList_FWD_DEFINED__
#define __SVGLengthList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGLengthList SVGLengthList;
#else
typedef struct SVGLengthList SVGLengthList;
#endif /* defined __cplusplus */
#endif /* defined __SVGLengthList_FWD_DEFINED__ */

#ifndef __ISVGMatrix_FWD_DEFINED__
#define __ISVGMatrix_FWD_DEFINED__
typedef interface ISVGMatrix ISVGMatrix;
#ifdef __cplusplus
interface ISVGMatrix;
#endif /* __cplusplus */
#endif

#ifndef __SVGMatrix_FWD_DEFINED__
#define __SVGMatrix_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGMatrix SVGMatrix;
#else
typedef struct SVGMatrix SVGMatrix;
#endif /* defined __cplusplus */
#endif /* defined __SVGMatrix_FWD_DEFINED__ */

#ifndef __ISVGNumber_FWD_DEFINED__
#define __ISVGNumber_FWD_DEFINED__
typedef interface ISVGNumber ISVGNumber;
#ifdef __cplusplus
interface ISVGNumber;
#endif /* __cplusplus */
#endif

#ifndef __SVGNumber_FWD_DEFINED__
#define __SVGNumber_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGNumber SVGNumber;
#else
typedef struct SVGNumber SVGNumber;
#endif /* defined __cplusplus */
#endif /* defined __SVGNumber_FWD_DEFINED__ */

#ifndef __ISVGNumberList_FWD_DEFINED__
#define __ISVGNumberList_FWD_DEFINED__
typedef interface ISVGNumberList ISVGNumberList;
#ifdef __cplusplus
interface ISVGNumberList;
#endif /* __cplusplus */
#endif

#ifndef __SVGNumberList_FWD_DEFINED__
#define __SVGNumberList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGNumberList SVGNumberList;
#else
typedef struct SVGNumberList SVGNumberList;
#endif /* defined __cplusplus */
#endif /* defined __SVGNumberList_FWD_DEFINED__ */

#ifndef __ISVGPaint_FWD_DEFINED__
#define __ISVGPaint_FWD_DEFINED__
typedef interface ISVGPaint ISVGPaint;
#ifdef __cplusplus
interface ISVGPaint;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPatternElement_FWD_DEFINED__
#define __ISVGPatternElement_FWD_DEFINED__
typedef interface ISVGPatternElement ISVGPatternElement;
#ifdef __cplusplus
interface ISVGPatternElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGPatternElement_FWD_DEFINED__
#define __DispSVGPatternElement_FWD_DEFINED__
typedef interface DispSVGPatternElement DispSVGPatternElement;
#ifdef __cplusplus
interface DispSVGPatternElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGPatternElement_FWD_DEFINED__
#define __SVGPatternElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPatternElement SVGPatternElement;
#else
typedef struct SVGPatternElement SVGPatternElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGPatternElement_FWD_DEFINED__ */

#ifndef __ISVGPathSeg_FWD_DEFINED__
#define __ISVGPathSeg_FWD_DEFINED__
typedef interface ISVGPathSeg ISVGPathSeg;
#ifdef __cplusplus
interface ISVGPathSeg;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegArcAbs_FWD_DEFINED__
#define __ISVGPathSegArcAbs_FWD_DEFINED__
typedef interface ISVGPathSegArcAbs ISVGPathSegArcAbs;
#ifdef __cplusplus
interface ISVGPathSegArcAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegArcRel_FWD_DEFINED__
#define __ISVGPathSegArcRel_FWD_DEFINED__
typedef interface ISVGPathSegArcRel ISVGPathSegArcRel;
#ifdef __cplusplus
interface ISVGPathSegArcRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegClosePath_FWD_DEFINED__
#define __ISVGPathSegClosePath_FWD_DEFINED__
typedef interface ISVGPathSegClosePath ISVGPathSegClosePath;
#ifdef __cplusplus
interface ISVGPathSegClosePath;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegMovetoAbs_FWD_DEFINED__
#define __ISVGPathSegMovetoAbs_FWD_DEFINED__
typedef interface ISVGPathSegMovetoAbs ISVGPathSegMovetoAbs;
#ifdef __cplusplus
interface ISVGPathSegMovetoAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegMovetoRel_FWD_DEFINED__
#define __ISVGPathSegMovetoRel_FWD_DEFINED__
typedef interface ISVGPathSegMovetoRel ISVGPathSegMovetoRel;
#ifdef __cplusplus
interface ISVGPathSegMovetoRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegLinetoAbs_FWD_DEFINED__
#define __ISVGPathSegLinetoAbs_FWD_DEFINED__
typedef interface ISVGPathSegLinetoAbs ISVGPathSegLinetoAbs;
#ifdef __cplusplus
interface ISVGPathSegLinetoAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegLinetoRel_FWD_DEFINED__
#define __ISVGPathSegLinetoRel_FWD_DEFINED__
typedef interface ISVGPathSegLinetoRel ISVGPathSegLinetoRel;
#ifdef __cplusplus
interface ISVGPathSegLinetoRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoCubicAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicAbs ISVGPathSegCurvetoCubicAbs;
#ifdef __cplusplus
interface ISVGPathSegCurvetoCubicAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoCubicRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicRel ISVGPathSegCurvetoCubicRel;
#ifdef __cplusplus
interface ISVGPathSegCurvetoCubicRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicSmoothAbs ISVGPathSegCurvetoCubicSmoothAbs;
#ifdef __cplusplus
interface ISVGPathSegCurvetoCubicSmoothAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicSmoothRel ISVGPathSegCurvetoCubicSmoothRel;
#ifdef __cplusplus
interface ISVGPathSegCurvetoCubicSmoothRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticAbs ISVGPathSegCurvetoQuadraticAbs;
#ifdef __cplusplus
interface ISVGPathSegCurvetoQuadraticAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticRel ISVGPathSegCurvetoQuadraticRel;
#ifdef __cplusplus
interface ISVGPathSegCurvetoQuadraticRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticSmoothAbs ISVGPathSegCurvetoQuadraticSmoothAbs;
#ifdef __cplusplus
interface ISVGPathSegCurvetoQuadraticSmoothAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticSmoothRel ISVGPathSegCurvetoQuadraticSmoothRel;
#ifdef __cplusplus
interface ISVGPathSegCurvetoQuadraticSmoothRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
#define __ISVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
typedef interface ISVGPathSegLinetoHorizontalAbs ISVGPathSegLinetoHorizontalAbs;
#ifdef __cplusplus
interface ISVGPathSegLinetoHorizontalAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegLinetoHorizontalRel_FWD_DEFINED__
#define __ISVGPathSegLinetoHorizontalRel_FWD_DEFINED__
typedef interface ISVGPathSegLinetoHorizontalRel ISVGPathSegLinetoHorizontalRel;
#ifdef __cplusplus
interface ISVGPathSegLinetoHorizontalRel;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegLinetoVerticalAbs_FWD_DEFINED__
#define __ISVGPathSegLinetoVerticalAbs_FWD_DEFINED__
typedef interface ISVGPathSegLinetoVerticalAbs ISVGPathSegLinetoVerticalAbs;
#ifdef __cplusplus
interface ISVGPathSegLinetoVerticalAbs;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathSegLinetoVerticalRel_FWD_DEFINED__
#define __ISVGPathSegLinetoVerticalRel_FWD_DEFINED__
typedef interface ISVGPathSegLinetoVerticalRel ISVGPathSegLinetoVerticalRel;
#ifdef __cplusplus
interface ISVGPathSegLinetoVerticalRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSeg_FWD_DEFINED__
#define __SVGPathSeg_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSeg SVGPathSeg;
#else
typedef struct SVGPathSeg SVGPathSeg;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSeg_FWD_DEFINED__ */

#ifndef __DispSVGPathSegArcAbs_FWD_DEFINED__
#define __DispSVGPathSegArcAbs_FWD_DEFINED__
typedef interface DispSVGPathSegArcAbs DispSVGPathSegArcAbs;
#ifdef __cplusplus
interface DispSVGPathSegArcAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegArcAbs_FWD_DEFINED__
#define __SVGPathSegArcAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegArcAbs SVGPathSegArcAbs;
#else
typedef struct SVGPathSegArcAbs SVGPathSegArcAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegArcAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegArcRel_FWD_DEFINED__
#define __DispSVGPathSegArcRel_FWD_DEFINED__
typedef interface DispSVGPathSegArcRel DispSVGPathSegArcRel;
#ifdef __cplusplus
interface DispSVGPathSegArcRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegArcRel_FWD_DEFINED__
#define __SVGPathSegArcRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegArcRel SVGPathSegArcRel;
#else
typedef struct SVGPathSegArcRel SVGPathSegArcRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegArcRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegClosePath_FWD_DEFINED__
#define __DispSVGPathSegClosePath_FWD_DEFINED__
typedef interface DispSVGPathSegClosePath DispSVGPathSegClosePath;
#ifdef __cplusplus
interface DispSVGPathSegClosePath;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegClosePath_FWD_DEFINED__
#define __SVGPathSegClosePath_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegClosePath SVGPathSegClosePath;
#else
typedef struct SVGPathSegClosePath SVGPathSegClosePath;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegClosePath_FWD_DEFINED__ */

#ifndef __DispSVGPathSegMovetoAbs_FWD_DEFINED__
#define __DispSVGPathSegMovetoAbs_FWD_DEFINED__
typedef interface DispSVGPathSegMovetoAbs DispSVGPathSegMovetoAbs;
#ifdef __cplusplus
interface DispSVGPathSegMovetoAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegMovetoAbs_FWD_DEFINED__
#define __SVGPathSegMovetoAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegMovetoAbs SVGPathSegMovetoAbs;
#else
typedef struct SVGPathSegMovetoAbs SVGPathSegMovetoAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegMovetoAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegMovetoRel_FWD_DEFINED__
#define __DispSVGPathSegMovetoRel_FWD_DEFINED__
typedef interface DispSVGPathSegMovetoRel DispSVGPathSegMovetoRel;
#ifdef __cplusplus
interface DispSVGPathSegMovetoRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegMovetoRel_FWD_DEFINED__
#define __SVGPathSegMovetoRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegMovetoRel SVGPathSegMovetoRel;
#else
typedef struct SVGPathSegMovetoRel SVGPathSegMovetoRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegMovetoRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegLinetoAbs_FWD_DEFINED__
#define __DispSVGPathSegLinetoAbs_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoAbs DispSVGPathSegLinetoAbs;
#ifdef __cplusplus
interface DispSVGPathSegLinetoAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegLinetoAbs_FWD_DEFINED__
#define __SVGPathSegLinetoAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegLinetoAbs SVGPathSegLinetoAbs;
#else
typedef struct SVGPathSegLinetoAbs SVGPathSegLinetoAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegLinetoAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegLinetoRel_FWD_DEFINED__
#define __DispSVGPathSegLinetoRel_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoRel DispSVGPathSegLinetoRel;
#ifdef __cplusplus
interface DispSVGPathSegLinetoRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegLinetoRel_FWD_DEFINED__
#define __SVGPathSegLinetoRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegLinetoRel SVGPathSegLinetoRel;
#else
typedef struct SVGPathSegLinetoRel SVGPathSegLinetoRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegLinetoRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoCubicAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicAbs DispSVGPathSegCurvetoCubicAbs;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoCubicAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoCubicAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicAbs SVGPathSegCurvetoCubicAbs;
#else
typedef struct SVGPathSegCurvetoCubicAbs SVGPathSegCurvetoCubicAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoCubicAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoCubicRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicRel DispSVGPathSegCurvetoCubicRel;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoCubicRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoCubicRel_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicRel SVGPathSegCurvetoCubicRel;
#else
typedef struct SVGPathSegCurvetoCubicRel SVGPathSegCurvetoCubicRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoCubicRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicSmoothAbs DispSVGPathSegCurvetoCubicSmoothAbs;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoCubicSmoothAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicSmoothAbs SVGPathSegCurvetoCubicSmoothAbs;
#else
typedef struct SVGPathSegCurvetoCubicSmoothAbs SVGPathSegCurvetoCubicSmoothAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicSmoothRel DispSVGPathSegCurvetoCubicSmoothRel;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoCubicSmoothRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicSmoothRel SVGPathSegCurvetoCubicSmoothRel;
#else
typedef struct SVGPathSegCurvetoCubicSmoothRel SVGPathSegCurvetoCubicSmoothRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticAbs DispSVGPathSegCurvetoQuadraticAbs;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoQuadraticAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticAbs SVGPathSegCurvetoQuadraticAbs;
#else
typedef struct SVGPathSegCurvetoQuadraticAbs SVGPathSegCurvetoQuadraticAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticRel DispSVGPathSegCurvetoQuadraticRel;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoQuadraticRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticRel SVGPathSegCurvetoQuadraticRel;
#else
typedef struct SVGPathSegCurvetoQuadraticRel SVGPathSegCurvetoQuadraticRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoQuadraticRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticSmoothAbs DispSVGPathSegCurvetoQuadraticSmoothAbs;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoQuadraticSmoothAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticSmoothAbs SVGPathSegCurvetoQuadraticSmoothAbs;
#else
typedef struct SVGPathSegCurvetoQuadraticSmoothAbs SVGPathSegCurvetoQuadraticSmoothAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticSmoothRel DispSVGPathSegCurvetoQuadraticSmoothRel;
#ifdef __cplusplus
interface DispSVGPathSegCurvetoQuadraticSmoothRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticSmoothRel SVGPathSegCurvetoQuadraticSmoothRel;
#else
typedef struct SVGPathSegCurvetoQuadraticSmoothRel SVGPathSegCurvetoQuadraticSmoothRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
#define __DispSVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoHorizontalAbs DispSVGPathSegLinetoHorizontalAbs;
#ifdef __cplusplus
interface DispSVGPathSegLinetoHorizontalAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
#define __SVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegLinetoHorizontalAbs SVGPathSegLinetoHorizontalAbs;
#else
typedef struct SVGPathSegLinetoHorizontalAbs SVGPathSegLinetoHorizontalAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegLinetoHorizontalAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegLinetoHorizontalRel_FWD_DEFINED__
#define __DispSVGPathSegLinetoHorizontalRel_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoHorizontalRel DispSVGPathSegLinetoHorizontalRel;
#ifdef __cplusplus
interface DispSVGPathSegLinetoHorizontalRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegLinetoHorizontalRel_FWD_DEFINED__
#define __SVGPathSegLinetoHorizontalRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegLinetoHorizontalRel SVGPathSegLinetoHorizontalRel;
#else
typedef struct SVGPathSegLinetoHorizontalRel SVGPathSegLinetoHorizontalRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegLinetoHorizontalRel_FWD_DEFINED__ */

#ifndef __DispSVGPathSegLinetoVerticalAbs_FWD_DEFINED__
#define __DispSVGPathSegLinetoVerticalAbs_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoVerticalAbs DispSVGPathSegLinetoVerticalAbs;
#ifdef __cplusplus
interface DispSVGPathSegLinetoVerticalAbs;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegLinetoVerticalAbs_FWD_DEFINED__
#define __SVGPathSegLinetoVerticalAbs_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegLinetoVerticalAbs SVGPathSegLinetoVerticalAbs;
#else
typedef struct SVGPathSegLinetoVerticalAbs SVGPathSegLinetoVerticalAbs;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegLinetoVerticalAbs_FWD_DEFINED__ */

#ifndef __DispSVGPathSegLinetoVerticalRel_FWD_DEFINED__
#define __DispSVGPathSegLinetoVerticalRel_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoVerticalRel DispSVGPathSegLinetoVerticalRel;
#ifdef __cplusplus
interface DispSVGPathSegLinetoVerticalRel;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegLinetoVerticalRel_FWD_DEFINED__
#define __SVGPathSegLinetoVerticalRel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegLinetoVerticalRel SVGPathSegLinetoVerticalRel;
#else
typedef struct SVGPathSegLinetoVerticalRel SVGPathSegLinetoVerticalRel;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegLinetoVerticalRel_FWD_DEFINED__ */

#ifndef __ISVGPathSegList_FWD_DEFINED__
#define __ISVGPathSegList_FWD_DEFINED__
typedef interface ISVGPathSegList ISVGPathSegList;
#ifdef __cplusplus
interface ISVGPathSegList;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathSegList_FWD_DEFINED__
#define __SVGPathSegList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathSegList SVGPathSegList;
#else
typedef struct SVGPathSegList SVGPathSegList;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathSegList_FWD_DEFINED__ */

#ifndef __ISVGPoint_FWD_DEFINED__
#define __ISVGPoint_FWD_DEFINED__
typedef interface ISVGPoint ISVGPoint;
#ifdef __cplusplus
interface ISVGPoint;
#endif /* __cplusplus */
#endif

#ifndef __SVGPoint_FWD_DEFINED__
#define __SVGPoint_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPoint SVGPoint;
#else
typedef struct SVGPoint SVGPoint;
#endif /* defined __cplusplus */
#endif /* defined __SVGPoint_FWD_DEFINED__ */

#ifndef __ISVGPointList_FWD_DEFINED__
#define __ISVGPointList_FWD_DEFINED__
typedef interface ISVGPointList ISVGPointList;
#ifdef __cplusplus
interface ISVGPointList;
#endif /* __cplusplus */
#endif

#ifndef __SVGPointList_FWD_DEFINED__
#define __SVGPointList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPointList SVGPointList;
#else
typedef struct SVGPointList SVGPointList;
#endif /* defined __cplusplus */
#endif /* defined __SVGPointList_FWD_DEFINED__ */

#ifndef __ISVGRect_FWD_DEFINED__
#define __ISVGRect_FWD_DEFINED__
typedef interface ISVGRect ISVGRect;
#ifdef __cplusplus
interface ISVGRect;
#endif /* __cplusplus */
#endif

#ifndef __SVGRect_FWD_DEFINED__
#define __SVGRect_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGRect SVGRect;
#else
typedef struct SVGRect SVGRect;
#endif /* defined __cplusplus */
#endif /* defined __SVGRect_FWD_DEFINED__ */

#ifndef __ISVGStringList_FWD_DEFINED__
#define __ISVGStringList_FWD_DEFINED__
typedef interface ISVGStringList ISVGStringList;
#ifdef __cplusplus
interface ISVGStringList;
#endif /* __cplusplus */
#endif

#ifndef __SVGStringList_FWD_DEFINED__
#define __SVGStringList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGStringList SVGStringList;
#else
typedef struct SVGStringList SVGStringList;
#endif /* defined __cplusplus */
#endif /* defined __SVGStringList_FWD_DEFINED__ */

#ifndef __ISVGViewSpec_FWD_DEFINED__
#define __ISVGViewSpec_FWD_DEFINED__
typedef interface ISVGViewSpec ISVGViewSpec;
#ifdef __cplusplus
interface ISVGViewSpec;
#endif /* __cplusplus */
#endif

#ifndef __ISVGTransform_FWD_DEFINED__
#define __ISVGTransform_FWD_DEFINED__
typedef interface ISVGTransform ISVGTransform;
#ifdef __cplusplus
interface ISVGTransform;
#endif /* __cplusplus */
#endif

#ifndef __SVGTransform_FWD_DEFINED__
#define __SVGTransform_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTransform SVGTransform;
#else
typedef struct SVGTransform SVGTransform;
#endif /* defined __cplusplus */
#endif /* defined __SVGTransform_FWD_DEFINED__ */

#ifndef __ISVGSVGElement_FWD_DEFINED__
#define __ISVGSVGElement_FWD_DEFINED__
typedef interface ISVGSVGElement ISVGSVGElement;
#ifdef __cplusplus
interface ISVGSVGElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGSVGElement_FWD_DEFINED__
#define __DispSVGSVGElement_FWD_DEFINED__
typedef interface DispSVGSVGElement DispSVGSVGElement;
#ifdef __cplusplus
interface DispSVGSVGElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGSVGElement_FWD_DEFINED__
#define __SVGSVGElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGSVGElement SVGSVGElement;
#else
typedef struct SVGSVGElement SVGSVGElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGSVGElement_FWD_DEFINED__ */

#ifndef __ISVGUseElement_FWD_DEFINED__
#define __ISVGUseElement_FWD_DEFINED__
typedef interface ISVGUseElement ISVGUseElement;
#ifdef __cplusplus
interface ISVGUseElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGUseElement_FWD_DEFINED__
#define __DispSVGUseElement_FWD_DEFINED__
typedef interface DispSVGUseElement DispSVGUseElement;
#ifdef __cplusplus
interface DispSVGUseElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGUseElement_FWD_DEFINED__
#define __SVGUseElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGUseElement SVGUseElement;
#else
typedef struct SVGUseElement SVGUseElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGUseElement_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#define __IHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesAppliedCollection IHTMLStyleSheetRulesAppliedCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetRulesAppliedCollection;
#endif /* __cplusplus */
#endif

#ifndef __IRulesApplied_FWD_DEFINED__
#define __IRulesApplied_FWD_DEFINED__
typedef interface IRulesApplied IRulesApplied;
#ifdef __cplusplus
interface IRulesApplied;
#endif /* __cplusplus */
#endif

#ifndef __IRulesAppliedCollection_FWD_DEFINED__
#define __IRulesAppliedCollection_FWD_DEFINED__
typedef interface IRulesAppliedCollection IRulesAppliedCollection;
#ifdef __cplusplus
interface IRulesAppliedCollection;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetRulesAppliedCollection DispHTMLStyleSheetRulesAppliedCollection;
#ifdef __cplusplus
interface DispHTMLStyleSheetRulesAppliedCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#define __HTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLStyleSheetRulesAppliedCollection HTMLStyleSheetRulesAppliedCollection;
#else
typedef struct HTMLStyleSheetRulesAppliedCollection HTMLStyleSheetRulesAppliedCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__ */

#ifndef __DispRulesApplied_FWD_DEFINED__
#define __DispRulesApplied_FWD_DEFINED__
typedef interface DispRulesApplied DispRulesApplied;
#ifdef __cplusplus
interface DispRulesApplied;
#endif /* __cplusplus */
#endif

#ifndef __RulesApplied_FWD_DEFINED__
#define __RulesApplied_FWD_DEFINED__
#ifdef __cplusplus
typedef class RulesApplied RulesApplied;
#else
typedef struct RulesApplied RulesApplied;
#endif /* defined __cplusplus */
#endif /* defined __RulesApplied_FWD_DEFINED__ */

#ifndef __DispRulesAppliedCollection_FWD_DEFINED__
#define __DispRulesAppliedCollection_FWD_DEFINED__
typedef interface DispRulesAppliedCollection DispRulesAppliedCollection;
#ifdef __cplusplus
interface DispRulesAppliedCollection;
#endif /* __cplusplus */
#endif

#ifndef __RulesAppliedCollection_FWD_DEFINED__
#define __RulesAppliedCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class RulesAppliedCollection RulesAppliedCollection;
#else
typedef struct RulesAppliedCollection RulesAppliedCollection;
#endif /* defined __cplusplus */
#endif /* defined __RulesAppliedCollection_FWD_DEFINED__ */

#ifndef __DispHTMLW3CComputedStyle_FWD_DEFINED__
#define __DispHTMLW3CComputedStyle_FWD_DEFINED__
typedef interface DispHTMLW3CComputedStyle DispHTMLW3CComputedStyle;
#ifdef __cplusplus
interface DispHTMLW3CComputedStyle;
#endif /* __cplusplus */
#endif

#ifndef __HTMLW3CComputedStyle_FWD_DEFINED__
#define __HTMLW3CComputedStyle_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLW3CComputedStyle HTMLW3CComputedStyle;
#else
typedef struct HTMLW3CComputedStyle HTMLW3CComputedStyle;
#endif /* defined __cplusplus */
#endif /* defined __HTMLW3CComputedStyle_FWD_DEFINED__ */

#ifndef __ISVGTransformList_FWD_DEFINED__
#define __ISVGTransformList_FWD_DEFINED__
typedef interface ISVGTransformList ISVGTransformList;
#ifdef __cplusplus
interface ISVGTransformList;
#endif /* __cplusplus */
#endif

#ifndef __SVGTransformList_FWD_DEFINED__
#define __SVGTransformList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTransformList SVGTransformList;
#else
typedef struct SVGTransformList SVGTransformList;
#endif /* defined __cplusplus */
#endif /* defined __SVGTransformList_FWD_DEFINED__ */

#ifndef __ISVGAnimatedPoints_FWD_DEFINED__
#define __ISVGAnimatedPoints_FWD_DEFINED__
typedef interface ISVGAnimatedPoints ISVGAnimatedPoints;
#ifdef __cplusplus
interface ISVGAnimatedPoints;
#endif /* __cplusplus */
#endif

#ifndef __ISVGCircleElement_FWD_DEFINED__
#define __ISVGCircleElement_FWD_DEFINED__
typedef interface ISVGCircleElement ISVGCircleElement;
#ifdef __cplusplus
interface ISVGCircleElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGEllipseElement_FWD_DEFINED__
#define __ISVGEllipseElement_FWD_DEFINED__
typedef interface ISVGEllipseElement ISVGEllipseElement;
#ifdef __cplusplus
interface ISVGEllipseElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGLineElement_FWD_DEFINED__
#define __ISVGLineElement_FWD_DEFINED__
typedef interface ISVGLineElement ISVGLineElement;
#ifdef __cplusplus
interface ISVGLineElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGRectElement_FWD_DEFINED__
#define __ISVGRectElement_FWD_DEFINED__
typedef interface ISVGRectElement ISVGRectElement;
#ifdef __cplusplus
interface ISVGRectElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPolygonElement_FWD_DEFINED__
#define __ISVGPolygonElement_FWD_DEFINED__
typedef interface ISVGPolygonElement ISVGPolygonElement;
#ifdef __cplusplus
interface ISVGPolygonElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPolylineElement_FWD_DEFINED__
#define __ISVGPolylineElement_FWD_DEFINED__
typedef interface ISVGPolylineElement ISVGPolylineElement;
#ifdef __cplusplus
interface ISVGPolylineElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGCircleElement_FWD_DEFINED__
#define __DispSVGCircleElement_FWD_DEFINED__
typedef interface DispSVGCircleElement DispSVGCircleElement;
#ifdef __cplusplus
interface DispSVGCircleElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGCircleElement_FWD_DEFINED__
#define __SVGCircleElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGCircleElement SVGCircleElement;
#else
typedef struct SVGCircleElement SVGCircleElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGCircleElement_FWD_DEFINED__ */

#ifndef __DispSVGEllipseElement_FWD_DEFINED__
#define __DispSVGEllipseElement_FWD_DEFINED__
typedef interface DispSVGEllipseElement DispSVGEllipseElement;
#ifdef __cplusplus
interface DispSVGEllipseElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGEllipseElement_FWD_DEFINED__
#define __SVGEllipseElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGEllipseElement SVGEllipseElement;
#else
typedef struct SVGEllipseElement SVGEllipseElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGEllipseElement_FWD_DEFINED__ */

#ifndef __DispSVGLineElement_FWD_DEFINED__
#define __DispSVGLineElement_FWD_DEFINED__
typedef interface DispSVGLineElement DispSVGLineElement;
#ifdef __cplusplus
interface DispSVGLineElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGLineElement_FWD_DEFINED__
#define __SVGLineElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGLineElement SVGLineElement;
#else
typedef struct SVGLineElement SVGLineElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGLineElement_FWD_DEFINED__ */

#ifndef __DispSVGRectElement_FWD_DEFINED__
#define __DispSVGRectElement_FWD_DEFINED__
typedef interface DispSVGRectElement DispSVGRectElement;
#ifdef __cplusplus
interface DispSVGRectElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGRectElement_FWD_DEFINED__
#define __SVGRectElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGRectElement SVGRectElement;
#else
typedef struct SVGRectElement SVGRectElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGRectElement_FWD_DEFINED__ */

#ifndef __DispSVGPolygonElement_FWD_DEFINED__
#define __DispSVGPolygonElement_FWD_DEFINED__
typedef interface DispSVGPolygonElement DispSVGPolygonElement;
#ifdef __cplusplus
interface DispSVGPolygonElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGPolygonElement_FWD_DEFINED__
#define __SVGPolygonElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPolygonElement SVGPolygonElement;
#else
typedef struct SVGPolygonElement SVGPolygonElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGPolygonElement_FWD_DEFINED__ */

#ifndef __DispSVGPolylineElement_FWD_DEFINED__
#define __DispSVGPolylineElement_FWD_DEFINED__
typedef interface DispSVGPolylineElement DispSVGPolylineElement;
#ifdef __cplusplus
interface DispSVGPolylineElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGPolylineElement_FWD_DEFINED__
#define __SVGPolylineElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPolylineElement SVGPolylineElement;
#else
typedef struct SVGPolylineElement SVGPolylineElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGPolylineElement_FWD_DEFINED__ */

#ifndef __ISVGGElement_FWD_DEFINED__
#define __ISVGGElement_FWD_DEFINED__
typedef interface ISVGGElement ISVGGElement;
#ifdef __cplusplus
interface ISVGGElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGGElement_FWD_DEFINED__
#define __DispSVGGElement_FWD_DEFINED__
typedef interface DispSVGGElement DispSVGGElement;
#ifdef __cplusplus
interface DispSVGGElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGGElement_FWD_DEFINED__
#define __SVGGElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGGElement SVGGElement;
#else
typedef struct SVGGElement SVGGElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGGElement_FWD_DEFINED__ */

#ifndef __ISVGSymbolElement_FWD_DEFINED__
#define __ISVGSymbolElement_FWD_DEFINED__
typedef interface ISVGSymbolElement ISVGSymbolElement;
#ifdef __cplusplus
interface ISVGSymbolElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGSymbolElement_FWD_DEFINED__
#define __DispSVGSymbolElement_FWD_DEFINED__
typedef interface DispSVGSymbolElement DispSVGSymbolElement;
#ifdef __cplusplus
interface DispSVGSymbolElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGSymbolElement_FWD_DEFINED__
#define __SVGSymbolElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGSymbolElement SVGSymbolElement;
#else
typedef struct SVGSymbolElement SVGSymbolElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGSymbolElement_FWD_DEFINED__ */

#ifndef __ISVGDefsElement_FWD_DEFINED__
#define __ISVGDefsElement_FWD_DEFINED__
typedef interface ISVGDefsElement ISVGDefsElement;
#ifdef __cplusplus
interface ISVGDefsElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGDefsElement_FWD_DEFINED__
#define __DispSVGDefsElement_FWD_DEFINED__
typedef interface DispSVGDefsElement DispSVGDefsElement;
#ifdef __cplusplus
interface DispSVGDefsElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGDefsElement_FWD_DEFINED__
#define __SVGDefsElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGDefsElement SVGDefsElement;
#else
typedef struct SVGDefsElement SVGDefsElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGDefsElement_FWD_DEFINED__ */

#ifndef __ISVGAnimatedPathData_FWD_DEFINED__
#define __ISVGAnimatedPathData_FWD_DEFINED__
typedef interface ISVGAnimatedPathData ISVGAnimatedPathData;
#ifdef __cplusplus
interface ISVGAnimatedPathData;
#endif /* __cplusplus */
#endif

#ifndef __ISVGPathElement_FWD_DEFINED__
#define __ISVGPathElement_FWD_DEFINED__
typedef interface ISVGPathElement ISVGPathElement;
#ifdef __cplusplus
interface ISVGPathElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGPathElement_FWD_DEFINED__
#define __DispSVGPathElement_FWD_DEFINED__
typedef interface DispSVGPathElement DispSVGPathElement;
#ifdef __cplusplus
interface DispSVGPathElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGPathElement_FWD_DEFINED__
#define __SVGPathElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPathElement SVGPathElement;
#else
typedef struct SVGPathElement SVGPathElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGPathElement_FWD_DEFINED__ */

#ifndef __ISVGPreserveAspectRatio_FWD_DEFINED__
#define __ISVGPreserveAspectRatio_FWD_DEFINED__
typedef interface ISVGPreserveAspectRatio ISVGPreserveAspectRatio;
#ifdef __cplusplus
interface ISVGPreserveAspectRatio;
#endif /* __cplusplus */
#endif

#ifndef __SVGPreserveAspectRatio_FWD_DEFINED__
#define __SVGPreserveAspectRatio_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGPreserveAspectRatio SVGPreserveAspectRatio;
#else
typedef struct SVGPreserveAspectRatio SVGPreserveAspectRatio;
#endif /* defined __cplusplus */
#endif /* defined __SVGPreserveAspectRatio_FWD_DEFINED__ */

#ifndef __ISVGTextElement_FWD_DEFINED__
#define __ISVGTextElement_FWD_DEFINED__
typedef interface ISVGTextElement ISVGTextElement;
#ifdef __cplusplus
interface ISVGTextElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGTextElement_FWD_DEFINED__
#define __DispSVGTextElement_FWD_DEFINED__
typedef interface DispSVGTextElement DispSVGTextElement;
#ifdef __cplusplus
interface DispSVGTextElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGTextElement_FWD_DEFINED__
#define __SVGTextElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTextElement SVGTextElement;
#else
typedef struct SVGTextElement SVGTextElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGTextElement_FWD_DEFINED__ */

#ifndef __ISVGAnimatedPreserveAspectRatio_FWD_DEFINED__
#define __ISVGAnimatedPreserveAspectRatio_FWD_DEFINED__
typedef interface ISVGAnimatedPreserveAspectRatio ISVGAnimatedPreserveAspectRatio;
#ifdef __cplusplus
interface ISVGAnimatedPreserveAspectRatio;
#endif /* __cplusplus */
#endif

#ifndef __SVGAnimatedPreserveAspectRatio_FWD_DEFINED__
#define __SVGAnimatedPreserveAspectRatio_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAnimatedPreserveAspectRatio SVGAnimatedPreserveAspectRatio;
#else
typedef struct SVGAnimatedPreserveAspectRatio SVGAnimatedPreserveAspectRatio;
#endif /* defined __cplusplus */
#endif /* defined __SVGAnimatedPreserveAspectRatio_FWD_DEFINED__ */

#ifndef __ISVGImageElement_FWD_DEFINED__
#define __ISVGImageElement_FWD_DEFINED__
typedef interface ISVGImageElement ISVGImageElement;
#ifdef __cplusplus
interface ISVGImageElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGImageElement_FWD_DEFINED__
#define __DispSVGImageElement_FWD_DEFINED__
typedef interface DispSVGImageElement DispSVGImageElement;
#ifdef __cplusplus
interface DispSVGImageElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGImageElement_FWD_DEFINED__
#define __SVGImageElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGImageElement SVGImageElement;
#else
typedef struct SVGImageElement SVGImageElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGImageElement_FWD_DEFINED__ */

#ifndef __ISVGStopElement_FWD_DEFINED__
#define __ISVGStopElement_FWD_DEFINED__
typedef interface ISVGStopElement ISVGStopElement;
#ifdef __cplusplus
interface ISVGStopElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGStopElement_FWD_DEFINED__
#define __DispSVGStopElement_FWD_DEFINED__
typedef interface DispSVGStopElement DispSVGStopElement;
#ifdef __cplusplus
interface DispSVGStopElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGStopElement_FWD_DEFINED__
#define __SVGStopElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGStopElement SVGStopElement;
#else
typedef struct SVGStopElement SVGStopElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGStopElement_FWD_DEFINED__ */

#ifndef __ISVGGradientElement_FWD_DEFINED__
#define __ISVGGradientElement_FWD_DEFINED__
typedef interface ISVGGradientElement ISVGGradientElement;
#ifdef __cplusplus
interface ISVGGradientElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGGradientElement_FWD_DEFINED__
#define __DispSVGGradientElement_FWD_DEFINED__
typedef interface DispSVGGradientElement DispSVGGradientElement;
#ifdef __cplusplus
interface DispSVGGradientElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGGradientElement_FWD_DEFINED__
#define __SVGGradientElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGGradientElement SVGGradientElement;
#else
typedef struct SVGGradientElement SVGGradientElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGGradientElement_FWD_DEFINED__ */

#ifndef __ISVGLinearGradientElement_FWD_DEFINED__
#define __ISVGLinearGradientElement_FWD_DEFINED__
typedef interface ISVGLinearGradientElement ISVGLinearGradientElement;
#ifdef __cplusplus
interface ISVGLinearGradientElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGLinearGradientElement_FWD_DEFINED__
#define __DispSVGLinearGradientElement_FWD_DEFINED__
typedef interface DispSVGLinearGradientElement DispSVGLinearGradientElement;
#ifdef __cplusplus
interface DispSVGLinearGradientElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGLinearGradientElement_FWD_DEFINED__
#define __SVGLinearGradientElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGLinearGradientElement SVGLinearGradientElement;
#else
typedef struct SVGLinearGradientElement SVGLinearGradientElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGLinearGradientElement_FWD_DEFINED__ */

#ifndef __ISVGRadialGradientElement_FWD_DEFINED__
#define __ISVGRadialGradientElement_FWD_DEFINED__
typedef interface ISVGRadialGradientElement ISVGRadialGradientElement;
#ifdef __cplusplus
interface ISVGRadialGradientElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGRadialGradientElement_FWD_DEFINED__
#define __DispSVGRadialGradientElement_FWD_DEFINED__
typedef interface DispSVGRadialGradientElement DispSVGRadialGradientElement;
#ifdef __cplusplus
interface DispSVGRadialGradientElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGRadialGradientElement_FWD_DEFINED__
#define __SVGRadialGradientElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGRadialGradientElement SVGRadialGradientElement;
#else
typedef struct SVGRadialGradientElement SVGRadialGradientElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGRadialGradientElement_FWD_DEFINED__ */

#ifndef __ISVGMaskElement_FWD_DEFINED__
#define __ISVGMaskElement_FWD_DEFINED__
typedef interface ISVGMaskElement ISVGMaskElement;
#ifdef __cplusplus
interface ISVGMaskElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGMaskElement_FWD_DEFINED__
#define __DispSVGMaskElement_FWD_DEFINED__
typedef interface DispSVGMaskElement DispSVGMaskElement;
#ifdef __cplusplus
interface DispSVGMaskElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGMaskElement_FWD_DEFINED__
#define __SVGMaskElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGMaskElement SVGMaskElement;
#else
typedef struct SVGMaskElement SVGMaskElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGMaskElement_FWD_DEFINED__ */

#ifndef __ISVGMarkerElement_FWD_DEFINED__
#define __ISVGMarkerElement_FWD_DEFINED__
typedef interface ISVGMarkerElement ISVGMarkerElement;
#ifdef __cplusplus
interface ISVGMarkerElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGMarkerElement_FWD_DEFINED__
#define __DispSVGMarkerElement_FWD_DEFINED__
typedef interface DispSVGMarkerElement DispSVGMarkerElement;
#ifdef __cplusplus
interface DispSVGMarkerElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGMarkerElement_FWD_DEFINED__
#define __SVGMarkerElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGMarkerElement SVGMarkerElement;
#else
typedef struct SVGMarkerElement SVGMarkerElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGMarkerElement_FWD_DEFINED__ */

#ifndef __ISVGZoomEvent_FWD_DEFINED__
#define __ISVGZoomEvent_FWD_DEFINED__
typedef interface ISVGZoomEvent ISVGZoomEvent;
#ifdef __cplusplus
interface ISVGZoomEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGZoomEvent_FWD_DEFINED__
#define __DispSVGZoomEvent_FWD_DEFINED__
typedef interface DispSVGZoomEvent DispSVGZoomEvent;
#ifdef __cplusplus
interface DispSVGZoomEvent;
#endif /* __cplusplus */
#endif

#ifndef __SVGZoomEvent_FWD_DEFINED__
#define __SVGZoomEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGZoomEvent SVGZoomEvent;
#else
typedef struct SVGZoomEvent SVGZoomEvent;
#endif /* defined __cplusplus */
#endif /* defined __SVGZoomEvent_FWD_DEFINED__ */

#ifndef __ISVGAElement_FWD_DEFINED__
#define __ISVGAElement_FWD_DEFINED__
typedef interface ISVGAElement ISVGAElement;
#ifdef __cplusplus
interface ISVGAElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGAElement_FWD_DEFINED__
#define __DispSVGAElement_FWD_DEFINED__
typedef interface DispSVGAElement DispSVGAElement;
#ifdef __cplusplus
interface DispSVGAElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGAElement_FWD_DEFINED__
#define __SVGAElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGAElement SVGAElement;
#else
typedef struct SVGAElement SVGAElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGAElement_FWD_DEFINED__ */

#ifndef __ISVGViewElement_FWD_DEFINED__
#define __ISVGViewElement_FWD_DEFINED__
typedef interface ISVGViewElement ISVGViewElement;
#ifdef __cplusplus
interface ISVGViewElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGViewElement_FWD_DEFINED__
#define __DispSVGViewElement_FWD_DEFINED__
typedef interface DispSVGViewElement DispSVGViewElement;
#ifdef __cplusplus
interface DispSVGViewElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGViewElement_FWD_DEFINED__
#define __SVGViewElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGViewElement SVGViewElement;
#else
typedef struct SVGViewElement SVGViewElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGViewElement_FWD_DEFINED__ */

#ifndef __IHTMLMediaError_FWD_DEFINED__
#define __IHTMLMediaError_FWD_DEFINED__
typedef interface IHTMLMediaError IHTMLMediaError;
#ifdef __cplusplus
interface IHTMLMediaError;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTimeRanges_FWD_DEFINED__
#define __IHTMLTimeRanges_FWD_DEFINED__
typedef interface IHTMLTimeRanges IHTMLTimeRanges;
#ifdef __cplusplus
interface IHTMLTimeRanges;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLTimeRanges2_FWD_DEFINED__
#define __IHTMLTimeRanges2_FWD_DEFINED__
typedef interface IHTMLTimeRanges2 IHTMLTimeRanges2;
#ifdef __cplusplus
interface IHTMLTimeRanges2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMediaElement_FWD_DEFINED__
#define __IHTMLMediaElement_FWD_DEFINED__
typedef interface IHTMLMediaElement IHTMLMediaElement;
#ifdef __cplusplus
interface IHTMLMediaElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMediaElement2_FWD_DEFINED__
#define __IHTMLMediaElement2_FWD_DEFINED__
typedef interface IHTMLMediaElement2 IHTMLMediaElement2;
#ifdef __cplusplus
interface IHTMLMediaElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLMSMediaElement_FWD_DEFINED__
#define __IHTMLMSMediaElement_FWD_DEFINED__
typedef interface IHTMLMSMediaElement IHTMLMSMediaElement;
#ifdef __cplusplus
interface IHTMLMSMediaElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLSourceElement_FWD_DEFINED__
#define __IHTMLSourceElement_FWD_DEFINED__
typedef interface IHTMLSourceElement IHTMLSourceElement;
#ifdef __cplusplus
interface IHTMLSourceElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAudioElement_FWD_DEFINED__
#define __IHTMLAudioElement_FWD_DEFINED__
typedef interface IHTMLAudioElement IHTMLAudioElement;
#ifdef __cplusplus
interface IHTMLAudioElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLVideoElement_FWD_DEFINED__
#define __IHTMLVideoElement_FWD_DEFINED__
typedef interface IHTMLVideoElement IHTMLVideoElement;
#ifdef __cplusplus
interface IHTMLVideoElement;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAudioElementFactory_FWD_DEFINED__
#define __IHTMLAudioElementFactory_FWD_DEFINED__
typedef interface IHTMLAudioElementFactory IHTMLAudioElementFactory;
#ifdef __cplusplus
interface IHTMLAudioElementFactory;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLMediaError_FWD_DEFINED__
#define __DispHTMLMediaError_FWD_DEFINED__
typedef interface DispHTMLMediaError DispHTMLMediaError;
#ifdef __cplusplus
interface DispHTMLMediaError;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMediaError_FWD_DEFINED__
#define __HTMLMediaError_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLMediaError HTMLMediaError;
#else
typedef struct HTMLMediaError HTMLMediaError;
#endif /* defined __cplusplus */
#endif /* defined __HTMLMediaError_FWD_DEFINED__ */

#ifndef __DispHTMLTimeRanges_FWD_DEFINED__
#define __DispHTMLTimeRanges_FWD_DEFINED__
typedef interface DispHTMLTimeRanges DispHTMLTimeRanges;
#ifdef __cplusplus
interface DispHTMLTimeRanges;
#endif /* __cplusplus */
#endif

#ifndef __HTMLTimeRanges_FWD_DEFINED__
#define __HTMLTimeRanges_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLTimeRanges HTMLTimeRanges;
#else
typedef struct HTMLTimeRanges HTMLTimeRanges;
#endif /* defined __cplusplus */
#endif /* defined __HTMLTimeRanges_FWD_DEFINED__ */

#ifndef __DispHTMLMediaElement_FWD_DEFINED__
#define __DispHTMLMediaElement_FWD_DEFINED__
typedef interface DispHTMLMediaElement DispHTMLMediaElement;
#ifdef __cplusplus
interface DispHTMLMediaElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLMediaElement_FWD_DEFINED__
#define __HTMLMediaElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLMediaElement HTMLMediaElement;
#else
typedef struct HTMLMediaElement HTMLMediaElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLMediaElement_FWD_DEFINED__ */

#ifndef __DispHTMLSourceElement_FWD_DEFINED__
#define __DispHTMLSourceElement_FWD_DEFINED__
typedef interface DispHTMLSourceElement DispHTMLSourceElement;
#ifdef __cplusplus
interface DispHTMLSourceElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLSourceElement_FWD_DEFINED__
#define __HTMLSourceElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLSourceElement HTMLSourceElement;
#else
typedef struct HTMLSourceElement HTMLSourceElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLSourceElement_FWD_DEFINED__ */

#ifndef __DispHTMLAudioElement_FWD_DEFINED__
#define __DispHTMLAudioElement_FWD_DEFINED__
typedef interface DispHTMLAudioElement DispHTMLAudioElement;
#ifdef __cplusplus
interface DispHTMLAudioElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAudioElement_FWD_DEFINED__
#define __HTMLAudioElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLAudioElement HTMLAudioElement;
#else
typedef struct HTMLAudioElement HTMLAudioElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLAudioElement_FWD_DEFINED__ */

#ifndef __HTMLAudioElementFactory_FWD_DEFINED__
#define __HTMLAudioElementFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLAudioElementFactory HTMLAudioElementFactory;
#else
typedef struct HTMLAudioElementFactory HTMLAudioElementFactory;
#endif /* defined __cplusplus */
#endif /* defined __HTMLAudioElementFactory_FWD_DEFINED__ */

#ifndef __DispHTMLVideoElement_FWD_DEFINED__
#define __DispHTMLVideoElement_FWD_DEFINED__
typedef interface DispHTMLVideoElement DispHTMLVideoElement;
#ifdef __cplusplus
interface DispHTMLVideoElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLVideoElement_FWD_DEFINED__
#define __HTMLVideoElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLVideoElement HTMLVideoElement;
#else
typedef struct HTMLVideoElement HTMLVideoElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLVideoElement_FWD_DEFINED__ */

#ifndef __ISVGSwitchElement_FWD_DEFINED__
#define __ISVGSwitchElement_FWD_DEFINED__
typedef interface ISVGSwitchElement ISVGSwitchElement;
#ifdef __cplusplus
interface ISVGSwitchElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGSwitchElement_FWD_DEFINED__
#define __DispSVGSwitchElement_FWD_DEFINED__
typedef interface DispSVGSwitchElement DispSVGSwitchElement;
#ifdef __cplusplus
interface DispSVGSwitchElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGSwitchElement_FWD_DEFINED__
#define __SVGSwitchElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGSwitchElement SVGSwitchElement;
#else
typedef struct SVGSwitchElement SVGSwitchElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGSwitchElement_FWD_DEFINED__ */

#ifndef __ISVGDescElement_FWD_DEFINED__
#define __ISVGDescElement_FWD_DEFINED__
typedef interface ISVGDescElement ISVGDescElement;
#ifdef __cplusplus
interface ISVGDescElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGDescElement_FWD_DEFINED__
#define __DispSVGDescElement_FWD_DEFINED__
typedef interface DispSVGDescElement DispSVGDescElement;
#ifdef __cplusplus
interface DispSVGDescElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGDescElement_FWD_DEFINED__
#define __SVGDescElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGDescElement SVGDescElement;
#else
typedef struct SVGDescElement SVGDescElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGDescElement_FWD_DEFINED__ */

#ifndef __ISVGTitleElement_FWD_DEFINED__
#define __ISVGTitleElement_FWD_DEFINED__
typedef interface ISVGTitleElement ISVGTitleElement;
#ifdef __cplusplus
interface ISVGTitleElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGTitleElement_FWD_DEFINED__
#define __DispSVGTitleElement_FWD_DEFINED__
typedef interface DispSVGTitleElement DispSVGTitleElement;
#ifdef __cplusplus
interface DispSVGTitleElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGTitleElement_FWD_DEFINED__
#define __SVGTitleElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTitleElement SVGTitleElement;
#else
typedef struct SVGTitleElement SVGTitleElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGTitleElement_FWD_DEFINED__ */

#ifndef __ISVGMetadataElement_FWD_DEFINED__
#define __ISVGMetadataElement_FWD_DEFINED__
typedef interface ISVGMetadataElement ISVGMetadataElement;
#ifdef __cplusplus
interface ISVGMetadataElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGMetadataElement_FWD_DEFINED__
#define __DispSVGMetadataElement_FWD_DEFINED__
typedef interface DispSVGMetadataElement DispSVGMetadataElement;
#ifdef __cplusplus
interface DispSVGMetadataElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGMetadataElement_FWD_DEFINED__
#define __SVGMetadataElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGMetadataElement SVGMetadataElement;
#else
typedef struct SVGMetadataElement SVGMetadataElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGMetadataElement_FWD_DEFINED__ */

#ifndef __ISVGElementInstance_FWD_DEFINED__
#define __ISVGElementInstance_FWD_DEFINED__
typedef interface ISVGElementInstance ISVGElementInstance;
#ifdef __cplusplus
interface ISVGElementInstance;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGElementInstance_FWD_DEFINED__
#define __DispSVGElementInstance_FWD_DEFINED__
typedef interface DispSVGElementInstance DispSVGElementInstance;
#ifdef __cplusplus
interface DispSVGElementInstance;
#endif /* __cplusplus */
#endif

#ifndef __SVGElementInstance_FWD_DEFINED__
#define __SVGElementInstance_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGElementInstance SVGElementInstance;
#else
typedef struct SVGElementInstance SVGElementInstance;
#endif /* defined __cplusplus */
#endif /* defined __SVGElementInstance_FWD_DEFINED__ */

#ifndef __ISVGElementInstanceList_FWD_DEFINED__
#define __ISVGElementInstanceList_FWD_DEFINED__
typedef interface ISVGElementInstanceList ISVGElementInstanceList;
#ifdef __cplusplus
interface ISVGElementInstanceList;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGElementInstanceList_FWD_DEFINED__
#define __DispSVGElementInstanceList_FWD_DEFINED__
typedef interface DispSVGElementInstanceList DispSVGElementInstanceList;
#ifdef __cplusplus
interface DispSVGElementInstanceList;
#endif /* __cplusplus */
#endif

#ifndef __SVGElementInstanceList_FWD_DEFINED__
#define __SVGElementInstanceList_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGElementInstanceList SVGElementInstanceList;
#else
typedef struct SVGElementInstanceList SVGElementInstanceList;
#endif /* defined __cplusplus */
#endif /* defined __SVGElementInstanceList_FWD_DEFINED__ */

#ifndef __IDOMException_FWD_DEFINED__
#define __IDOMException_FWD_DEFINED__
typedef interface IDOMException IDOMException;
#ifdef __cplusplus
interface IDOMException;
#endif /* __cplusplus */
#endif

#ifndef __IRangeException_FWD_DEFINED__
#define __IRangeException_FWD_DEFINED__
typedef interface IRangeException IRangeException;
#ifdef __cplusplus
interface IRangeException;
#endif /* __cplusplus */
#endif

#ifndef __ISVGException_FWD_DEFINED__
#define __ISVGException_FWD_DEFINED__
typedef interface ISVGException ISVGException;
#ifdef __cplusplus
interface ISVGException;
#endif /* __cplusplus */
#endif

#ifndef __IEventException_FWD_DEFINED__
#define __IEventException_FWD_DEFINED__
typedef interface IEventException IEventException;
#ifdef __cplusplus
interface IEventException;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMException_FWD_DEFINED__
#define __DispDOMException_FWD_DEFINED__
typedef interface DispDOMException DispDOMException;
#ifdef __cplusplus
interface DispDOMException;
#endif /* __cplusplus */
#endif

#ifndef __DOMException_FWD_DEFINED__
#define __DOMException_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMException DOMException;
#else
typedef struct DOMException DOMException;
#endif /* defined __cplusplus */
#endif /* defined __DOMException_FWD_DEFINED__ */

#ifndef __DispRangeException_FWD_DEFINED__
#define __DispRangeException_FWD_DEFINED__
typedef interface DispRangeException DispRangeException;
#ifdef __cplusplus
interface DispRangeException;
#endif /* __cplusplus */
#endif

#ifndef __RangeException_FWD_DEFINED__
#define __RangeException_FWD_DEFINED__
#ifdef __cplusplus
typedef class RangeException RangeException;
#else
typedef struct RangeException RangeException;
#endif /* defined __cplusplus */
#endif /* defined __RangeException_FWD_DEFINED__ */

#ifndef __DispSVGException_FWD_DEFINED__
#define __DispSVGException_FWD_DEFINED__
typedef interface DispSVGException DispSVGException;
#ifdef __cplusplus
interface DispSVGException;
#endif /* __cplusplus */
#endif

#ifndef __SVGException_FWD_DEFINED__
#define __SVGException_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGException SVGException;
#else
typedef struct SVGException SVGException;
#endif /* defined __cplusplus */
#endif /* defined __SVGException_FWD_DEFINED__ */

#ifndef __DispEventException_FWD_DEFINED__
#define __DispEventException_FWD_DEFINED__
typedef interface DispEventException DispEventException;
#ifdef __cplusplus
interface DispEventException;
#endif /* __cplusplus */
#endif

#ifndef __EventException_FWD_DEFINED__
#define __EventException_FWD_DEFINED__
#ifdef __cplusplus
typedef class EventException EventException;
#else
typedef struct EventException EventException;
#endif /* defined __cplusplus */
#endif /* defined __EventException_FWD_DEFINED__ */

#ifndef __ISVGScriptElement_FWD_DEFINED__
#define __ISVGScriptElement_FWD_DEFINED__
typedef interface ISVGScriptElement ISVGScriptElement;
#ifdef __cplusplus
interface ISVGScriptElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGScriptElement_FWD_DEFINED__
#define __DispSVGScriptElement_FWD_DEFINED__
typedef interface DispSVGScriptElement DispSVGScriptElement;
#ifdef __cplusplus
interface DispSVGScriptElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGScriptElement_FWD_DEFINED__
#define __SVGScriptElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGScriptElement SVGScriptElement;
#else
typedef struct SVGScriptElement SVGScriptElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGScriptElement_FWD_DEFINED__ */

#ifndef __ISVGStyleElement_FWD_DEFINED__
#define __ISVGStyleElement_FWD_DEFINED__
typedef interface ISVGStyleElement ISVGStyleElement;
#ifdef __cplusplus
interface ISVGStyleElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGStyleElement_FWD_DEFINED__
#define __DispSVGStyleElement_FWD_DEFINED__
typedef interface DispSVGStyleElement DispSVGStyleElement;
#ifdef __cplusplus
interface DispSVGStyleElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGStyleElement_FWD_DEFINED__
#define __SVGStyleElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGStyleElement SVGStyleElement;
#else
typedef struct SVGStyleElement SVGStyleElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGStyleElement_FWD_DEFINED__ */

#ifndef __ISVGTextContentElement_FWD_DEFINED__
#define __ISVGTextContentElement_FWD_DEFINED__
typedef interface ISVGTextContentElement ISVGTextContentElement;
#ifdef __cplusplus
interface ISVGTextContentElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGTextContentElement_FWD_DEFINED__
#define __DispSVGTextContentElement_FWD_DEFINED__
typedef interface DispSVGTextContentElement DispSVGTextContentElement;
#ifdef __cplusplus
interface DispSVGTextContentElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGTextContentElement_FWD_DEFINED__
#define __SVGTextContentElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTextContentElement SVGTextContentElement;
#else
typedef struct SVGTextContentElement SVGTextContentElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGTextContentElement_FWD_DEFINED__ */

#ifndef __ISVGTextPositioningElement_FWD_DEFINED__
#define __ISVGTextPositioningElement_FWD_DEFINED__
typedef interface ISVGTextPositioningElement ISVGTextPositioningElement;
#ifdef __cplusplus
interface ISVGTextPositioningElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGTextPositioningElement_FWD_DEFINED__
#define __DispSVGTextPositioningElement_FWD_DEFINED__
typedef interface DispSVGTextPositioningElement DispSVGTextPositioningElement;
#ifdef __cplusplus
interface DispSVGTextPositioningElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGTextPositioningElement_FWD_DEFINED__
#define __SVGTextPositioningElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTextPositioningElement SVGTextPositioningElement;
#else
typedef struct SVGTextPositioningElement SVGTextPositioningElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGTextPositioningElement_FWD_DEFINED__ */

#ifndef __IDOMDocumentType_FWD_DEFINED__
#define __IDOMDocumentType_FWD_DEFINED__
typedef interface IDOMDocumentType IDOMDocumentType;
#ifdef __cplusplus
interface IDOMDocumentType;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMDocumentType_FWD_DEFINED__
#define __DispDOMDocumentType_FWD_DEFINED__
typedef interface DispDOMDocumentType DispDOMDocumentType;
#ifdef __cplusplus
interface DispDOMDocumentType;
#endif /* __cplusplus */
#endif

#ifndef __DOMDocumentType_FWD_DEFINED__
#define __DOMDocumentType_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMDocumentType DOMDocumentType;
#else
typedef struct DOMDocumentType DOMDocumentType;
#endif /* defined __cplusplus */
#endif /* defined __DOMDocumentType_FWD_DEFINED__ */

#ifndef __IDOMNodeIterator_FWD_DEFINED__
#define __IDOMNodeIterator_FWD_DEFINED__
typedef interface IDOMNodeIterator IDOMNodeIterator;
#ifdef __cplusplus
interface IDOMNodeIterator;
#endif /* __cplusplus */
#endif

#ifndef __IDOMTreeWalker_FWD_DEFINED__
#define __IDOMTreeWalker_FWD_DEFINED__
typedef interface IDOMTreeWalker IDOMTreeWalker;
#ifdef __cplusplus
interface IDOMTreeWalker;
#endif /* __cplusplus */
#endif

#ifndef __DispNodeIterator_FWD_DEFINED__
#define __DispNodeIterator_FWD_DEFINED__
typedef interface DispNodeIterator DispNodeIterator;
#ifdef __cplusplus
interface DispNodeIterator;
#endif /* __cplusplus */
#endif

#ifndef __NodeIterator_FWD_DEFINED__
#define __NodeIterator_FWD_DEFINED__
#ifdef __cplusplus
typedef class NodeIterator NodeIterator;
#else
typedef struct NodeIterator NodeIterator;
#endif /* defined __cplusplus */
#endif /* defined __NodeIterator_FWD_DEFINED__ */

#ifndef __DispTreeWalker_FWD_DEFINED__
#define __DispTreeWalker_FWD_DEFINED__
typedef interface DispTreeWalker DispTreeWalker;
#ifdef __cplusplus
interface DispTreeWalker;
#endif /* __cplusplus */
#endif

#ifndef __TreeWalker_FWD_DEFINED__
#define __TreeWalker_FWD_DEFINED__
#ifdef __cplusplus
typedef class TreeWalker TreeWalker;
#else
typedef struct TreeWalker TreeWalker;
#endif /* defined __cplusplus */
#endif /* defined __TreeWalker_FWD_DEFINED__ */

#ifndef __IDOMProcessingInstruction_FWD_DEFINED__
#define __IDOMProcessingInstruction_FWD_DEFINED__
typedef interface IDOMProcessingInstruction IDOMProcessingInstruction;
#ifdef __cplusplus
interface IDOMProcessingInstruction;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMProcessingInstruction_FWD_DEFINED__
#define __DispDOMProcessingInstruction_FWD_DEFINED__
typedef interface DispDOMProcessingInstruction DispDOMProcessingInstruction;
#ifdef __cplusplus
interface DispDOMProcessingInstruction;
#endif /* __cplusplus */
#endif

#ifndef __DOMProcessingInstruction_FWD_DEFINED__
#define __DOMProcessingInstruction_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMProcessingInstruction DOMProcessingInstruction;
#else
typedef struct DOMProcessingInstruction DOMProcessingInstruction;
#endif /* defined __cplusplus */
#endif /* defined __DOMProcessingInstruction_FWD_DEFINED__ */

#ifndef __IHTMLPerformance_FWD_DEFINED__
#define __IHTMLPerformance_FWD_DEFINED__
typedef interface IHTMLPerformance IHTMLPerformance;
#ifdef __cplusplus
interface IHTMLPerformance;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPerformanceNavigation_FWD_DEFINED__
#define __IHTMLPerformanceNavigation_FWD_DEFINED__
typedef interface IHTMLPerformanceNavigation IHTMLPerformanceNavigation;
#ifdef __cplusplus
interface IHTMLPerformanceNavigation;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPerformanceTiming_FWD_DEFINED__
#define __IHTMLPerformanceTiming_FWD_DEFINED__
typedef interface IHTMLPerformanceTiming IHTMLPerformanceTiming;
#ifdef __cplusplus
interface IHTMLPerformanceTiming;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLPerformance_FWD_DEFINED__
#define __DispHTMLPerformance_FWD_DEFINED__
typedef interface DispHTMLPerformance DispHTMLPerformance;
#ifdef __cplusplus
interface DispHTMLPerformance;
#endif /* __cplusplus */
#endif

#ifndef __HTMLPerformance_FWD_DEFINED__
#define __HTMLPerformance_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLPerformance HTMLPerformance;
#else
typedef struct HTMLPerformance HTMLPerformance;
#endif /* defined __cplusplus */
#endif /* defined __HTMLPerformance_FWD_DEFINED__ */

#ifndef __DispHTMLPerformanceNavigation_FWD_DEFINED__
#define __DispHTMLPerformanceNavigation_FWD_DEFINED__
typedef interface DispHTMLPerformanceNavigation DispHTMLPerformanceNavigation;
#ifdef __cplusplus
interface DispHTMLPerformanceNavigation;
#endif /* __cplusplus */
#endif

#ifndef __HTMLPerformanceNavigation_FWD_DEFINED__
#define __HTMLPerformanceNavigation_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLPerformanceNavigation HTMLPerformanceNavigation;
#else
typedef struct HTMLPerformanceNavigation HTMLPerformanceNavigation;
#endif /* defined __cplusplus */
#endif /* defined __HTMLPerformanceNavigation_FWD_DEFINED__ */

#ifndef __DispHTMLPerformanceTiming_FWD_DEFINED__
#define __DispHTMLPerformanceTiming_FWD_DEFINED__
typedef interface DispHTMLPerformanceTiming DispHTMLPerformanceTiming;
#ifdef __cplusplus
interface DispHTMLPerformanceTiming;
#endif /* __cplusplus */
#endif

#ifndef __HTMLPerformanceTiming_FWD_DEFINED__
#define __HTMLPerformanceTiming_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLPerformanceTiming HTMLPerformanceTiming;
#else
typedef struct HTMLPerformanceTiming HTMLPerformanceTiming;
#endif /* defined __cplusplus */
#endif /* defined __HTMLPerformanceTiming_FWD_DEFINED__ */

#ifndef __ISVGTSpanElement_FWD_DEFINED__
#define __ISVGTSpanElement_FWD_DEFINED__
typedef interface ISVGTSpanElement ISVGTSpanElement;
#ifdef __cplusplus
interface ISVGTSpanElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGTSpanElement_FWD_DEFINED__
#define __DispSVGTSpanElement_FWD_DEFINED__
typedef interface DispSVGTSpanElement DispSVGTSpanElement;
#ifdef __cplusplus
interface DispSVGTSpanElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGTSpanElement_FWD_DEFINED__
#define __SVGTSpanElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTSpanElement SVGTSpanElement;
#else
typedef struct SVGTSpanElement SVGTSpanElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGTSpanElement_FWD_DEFINED__ */

#ifndef __ITemplatePrinter_FWD_DEFINED__
#define __ITemplatePrinter_FWD_DEFINED__
typedef interface ITemplatePrinter ITemplatePrinter;
#ifdef __cplusplus
interface ITemplatePrinter;
#endif /* __cplusplus */
#endif

#ifndef __ITemplatePrinter2_FWD_DEFINED__
#define __ITemplatePrinter2_FWD_DEFINED__
typedef interface ITemplatePrinter2 ITemplatePrinter2;
#ifdef __cplusplus
interface ITemplatePrinter2;
#endif /* __cplusplus */
#endif

#ifndef __ITemplatePrinter3_FWD_DEFINED__
#define __ITemplatePrinter3_FWD_DEFINED__
typedef interface ITemplatePrinter3 ITemplatePrinter3;
#ifdef __cplusplus
interface ITemplatePrinter3;
#endif /* __cplusplus */
#endif

#ifndef __IPrintManagerTemplatePrinter_FWD_DEFINED__
#define __IPrintManagerTemplatePrinter_FWD_DEFINED__
typedef interface IPrintManagerTemplatePrinter IPrintManagerTemplatePrinter;
#ifdef __cplusplus
interface IPrintManagerTemplatePrinter;
#endif /* __cplusplus */
#endif

#ifndef __CTemplatePrinter_FWD_DEFINED__
#define __CTemplatePrinter_FWD_DEFINED__
#ifdef __cplusplus
typedef class CTemplatePrinter CTemplatePrinter;
#else
typedef struct CTemplatePrinter CTemplatePrinter;
#endif /* defined __cplusplus */
#endif /* defined __CTemplatePrinter_FWD_DEFINED__ */

#ifndef __DispCPrintManagerTemplatePrinter_FWD_DEFINED__
#define __DispCPrintManagerTemplatePrinter_FWD_DEFINED__
typedef interface DispCPrintManagerTemplatePrinter DispCPrintManagerTemplatePrinter;
#ifdef __cplusplus
interface DispCPrintManagerTemplatePrinter;
#endif /* __cplusplus */
#endif

#ifndef __CPrintManagerTemplatePrinter_FWD_DEFINED__
#define __CPrintManagerTemplatePrinter_FWD_DEFINED__
#ifdef __cplusplus
typedef class CPrintManagerTemplatePrinter CPrintManagerTemplatePrinter;
#else
typedef struct CPrintManagerTemplatePrinter CPrintManagerTemplatePrinter;
#endif /* defined __cplusplus */
#endif /* defined __CPrintManagerTemplatePrinter_FWD_DEFINED__ */

#ifndef __ISVGTextPathElement_FWD_DEFINED__
#define __ISVGTextPathElement_FWD_DEFINED__
typedef interface ISVGTextPathElement ISVGTextPathElement;
#ifdef __cplusplus
interface ISVGTextPathElement;
#endif /* __cplusplus */
#endif

#ifndef __DispSVGTextPathElement_FWD_DEFINED__
#define __DispSVGTextPathElement_FWD_DEFINED__
typedef interface DispSVGTextPathElement DispSVGTextPathElement;
#ifdef __cplusplus
interface DispSVGTextPathElement;
#endif /* __cplusplus */
#endif

#ifndef __SVGTextPathElement_FWD_DEFINED__
#define __SVGTextPathElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class SVGTextPathElement SVGTextPathElement;
#else
typedef struct SVGTextPathElement SVGTextPathElement;
#endif /* defined __cplusplus */
#endif /* defined __SVGTextPathElement_FWD_DEFINED__ */

#ifndef __IDOMXmlSerializer_FWD_DEFINED__
#define __IDOMXmlSerializer_FWD_DEFINED__
typedef interface IDOMXmlSerializer IDOMXmlSerializer;
#ifdef __cplusplus
interface IDOMXmlSerializer;
#endif /* __cplusplus */
#endif

#ifndef __IDOMXmlSerializerFactory_FWD_DEFINED__
#define __IDOMXmlSerializerFactory_FWD_DEFINED__
typedef interface IDOMXmlSerializerFactory IDOMXmlSerializerFactory;
#ifdef __cplusplus
interface IDOMXmlSerializerFactory;
#endif /* __cplusplus */
#endif

#ifndef __IDOMParser_FWD_DEFINED__
#define __IDOMParser_FWD_DEFINED__
typedef interface IDOMParser IDOMParser;
#ifdef __cplusplus
interface IDOMParser;
#endif /* __cplusplus */
#endif

#ifndef __IDOMParserFactory_FWD_DEFINED__
#define __IDOMParserFactory_FWD_DEFINED__
typedef interface IDOMParserFactory IDOMParserFactory;
#ifdef __cplusplus
interface IDOMParserFactory;
#endif /* __cplusplus */
#endif

#ifndef __DispXMLSerializer_FWD_DEFINED__
#define __DispXMLSerializer_FWD_DEFINED__
typedef interface DispXMLSerializer DispXMLSerializer;
#ifdef __cplusplus
interface DispXMLSerializer;
#endif /* __cplusplus */
#endif

#ifndef __XMLSerializer_FWD_DEFINED__
#define __XMLSerializer_FWD_DEFINED__
#ifdef __cplusplus
typedef class XMLSerializer XMLSerializer;
#else
typedef struct XMLSerializer XMLSerializer;
#endif /* defined __cplusplus */
#endif /* defined __XMLSerializer_FWD_DEFINED__ */

#ifndef __HTMLDOMXmlSerializerFactory_FWD_DEFINED__
#define __HTMLDOMXmlSerializerFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDOMXmlSerializerFactory HTMLDOMXmlSerializerFactory;
#else
typedef struct HTMLDOMXmlSerializerFactory HTMLDOMXmlSerializerFactory;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDOMXmlSerializerFactory_FWD_DEFINED__ */

#ifndef __DispDOMParser_FWD_DEFINED__
#define __DispDOMParser_FWD_DEFINED__
typedef interface DispDOMParser DispDOMParser;
#ifdef __cplusplus
interface DispDOMParser;
#endif /* __cplusplus */
#endif

#ifndef __DOMParser_FWD_DEFINED__
#define __DOMParser_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMParser DOMParser;
#else
typedef struct DOMParser DOMParser;
#endif /* defined __cplusplus */
#endif /* defined __DOMParser_FWD_DEFINED__ */

#ifndef __DOMParserFactory_FWD_DEFINED__
#define __DOMParserFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMParserFactory DOMParserFactory;
#else
typedef struct DOMParserFactory DOMParserFactory;
#endif /* defined __cplusplus */
#endif /* defined __DOMParserFactory_FWD_DEFINED__ */

#ifndef __DispHTMLSemanticElement_FWD_DEFINED__
#define __DispHTMLSemanticElement_FWD_DEFINED__
typedef interface DispHTMLSemanticElement DispHTMLSemanticElement;
#ifdef __cplusplus
interface DispHTMLSemanticElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLSemanticElement_FWD_DEFINED__
#define __HTMLSemanticElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLSemanticElement HTMLSemanticElement;
#else
typedef struct HTMLSemanticElement HTMLSemanticElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLSemanticElement_FWD_DEFINED__ */

#ifndef __IHTMLProgressElement_FWD_DEFINED__
#define __IHTMLProgressElement_FWD_DEFINED__
typedef interface IHTMLProgressElement IHTMLProgressElement;
#ifdef __cplusplus
interface IHTMLProgressElement;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLProgressElement_FWD_DEFINED__
#define __DispHTMLProgressElement_FWD_DEFINED__
typedef interface DispHTMLProgressElement DispHTMLProgressElement;
#ifdef __cplusplus
interface DispHTMLProgressElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLProgressElement_FWD_DEFINED__
#define __HTMLProgressElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLProgressElement HTMLProgressElement;
#else
typedef struct HTMLProgressElement HTMLProgressElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLProgressElement_FWD_DEFINED__ */

#ifndef __IDOMMSTransitionEvent_FWD_DEFINED__
#define __IDOMMSTransitionEvent_FWD_DEFINED__
typedef interface IDOMMSTransitionEvent IDOMMSTransitionEvent;
#ifdef __cplusplus
interface IDOMMSTransitionEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMMSTransitionEvent_FWD_DEFINED__
#define __DispDOMMSTransitionEvent_FWD_DEFINED__
typedef interface DispDOMMSTransitionEvent DispDOMMSTransitionEvent;
#ifdef __cplusplus
interface DispDOMMSTransitionEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMMSTransitionEvent_FWD_DEFINED__
#define __DOMMSTransitionEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMMSTransitionEvent DOMMSTransitionEvent;
#else
typedef struct DOMMSTransitionEvent DOMMSTransitionEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMMSTransitionEvent_FWD_DEFINED__ */

#ifndef __IDOMMSAnimationEvent_FWD_DEFINED__
#define __IDOMMSAnimationEvent_FWD_DEFINED__
typedef interface IDOMMSAnimationEvent IDOMMSAnimationEvent;
#ifdef __cplusplus
interface IDOMMSAnimationEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMMSAnimationEvent_FWD_DEFINED__
#define __DispDOMMSAnimationEvent_FWD_DEFINED__
typedef interface DispDOMMSAnimationEvent DispDOMMSAnimationEvent;
#ifdef __cplusplus
interface DispDOMMSAnimationEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMMSAnimationEvent_FWD_DEFINED__
#define __DOMMSAnimationEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMMSAnimationEvent DOMMSAnimationEvent;
#else
typedef struct DOMMSAnimationEvent DOMMSAnimationEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMMSAnimationEvent_FWD_DEFINED__ */

#ifndef __IWebGeolocation_FWD_DEFINED__
#define __IWebGeolocation_FWD_DEFINED__
typedef interface IWebGeolocation IWebGeolocation;
#ifdef __cplusplus
interface IWebGeolocation;
#endif /* __cplusplus */
#endif

#ifndef __IWebGeocoordinates_FWD_DEFINED__
#define __IWebGeocoordinates_FWD_DEFINED__
typedef interface IWebGeocoordinates IWebGeocoordinates;
#ifdef __cplusplus
interface IWebGeocoordinates;
#endif /* __cplusplus */
#endif

#ifndef __IWebGeopositionError_FWD_DEFINED__
#define __IWebGeopositionError_FWD_DEFINED__
typedef interface IWebGeopositionError IWebGeopositionError;
#ifdef __cplusplus
interface IWebGeopositionError;
#endif /* __cplusplus */
#endif

#ifndef __IWebGeoposition_FWD_DEFINED__
#define __IWebGeoposition_FWD_DEFINED__
typedef interface IWebGeoposition IWebGeoposition;
#ifdef __cplusplus
interface IWebGeoposition;
#endif /* __cplusplus */
#endif

#ifndef __DispWebGeolocation_FWD_DEFINED__
#define __DispWebGeolocation_FWD_DEFINED__
typedef interface DispWebGeolocation DispWebGeolocation;
#ifdef __cplusplus
interface DispWebGeolocation;
#endif /* __cplusplus */
#endif

#ifndef __WebGeolocation_FWD_DEFINED__
#define __WebGeolocation_FWD_DEFINED__
#ifdef __cplusplus
typedef class WebGeolocation WebGeolocation;
#else
typedef struct WebGeolocation WebGeolocation;
#endif /* defined __cplusplus */
#endif /* defined __WebGeolocation_FWD_DEFINED__ */

#ifndef __DispWebGeocoordinates_FWD_DEFINED__
#define __DispWebGeocoordinates_FWD_DEFINED__
typedef interface DispWebGeocoordinates DispWebGeocoordinates;
#ifdef __cplusplus
interface DispWebGeocoordinates;
#endif /* __cplusplus */
#endif

#ifndef __WebGeocoordinates_FWD_DEFINED__
#define __WebGeocoordinates_FWD_DEFINED__
#ifdef __cplusplus
typedef class WebGeocoordinates WebGeocoordinates;
#else
typedef struct WebGeocoordinates WebGeocoordinates;
#endif /* defined __cplusplus */
#endif /* defined __WebGeocoordinates_FWD_DEFINED__ */

#ifndef __DispWebGeopositionError_FWD_DEFINED__
#define __DispWebGeopositionError_FWD_DEFINED__
typedef interface DispWebGeopositionError DispWebGeopositionError;
#ifdef __cplusplus
interface DispWebGeopositionError;
#endif /* __cplusplus */
#endif

#ifndef __WebGeopositionError_FWD_DEFINED__
#define __WebGeopositionError_FWD_DEFINED__
#ifdef __cplusplus
typedef class WebGeopositionError WebGeopositionError;
#else
typedef struct WebGeopositionError WebGeopositionError;
#endif /* defined __cplusplus */
#endif /* defined __WebGeopositionError_FWD_DEFINED__ */

#ifndef __DispWebGeoposition_FWD_DEFINED__
#define __DispWebGeoposition_FWD_DEFINED__
typedef interface DispWebGeoposition DispWebGeoposition;
#ifdef __cplusplus
interface DispWebGeoposition;
#endif /* __cplusplus */
#endif

#ifndef __WebGeoposition_FWD_DEFINED__
#define __WebGeoposition_FWD_DEFINED__
#ifdef __cplusplus
typedef class WebGeoposition WebGeoposition;
#else
typedef struct WebGeoposition WebGeoposition;
#endif /* defined __cplusplus */
#endif /* defined __WebGeoposition_FWD_DEFINED__ */

#ifndef __IClientCaps_FWD_DEFINED__
#define __IClientCaps_FWD_DEFINED__
typedef interface IClientCaps IClientCaps;
#ifdef __cplusplus
interface IClientCaps;
#endif /* __cplusplus */
#endif

#ifndef __CClientCaps_FWD_DEFINED__
#define __CClientCaps_FWD_DEFINED__
#ifdef __cplusplus
typedef class CClientCaps CClientCaps;
#else
typedef struct CClientCaps CClientCaps;
#endif /* defined __cplusplus */
#endif /* defined __CClientCaps_FWD_DEFINED__ */

#ifndef __IDOMMSManipulationEvent_FWD_DEFINED__
#define __IDOMMSManipulationEvent_FWD_DEFINED__
typedef interface IDOMMSManipulationEvent IDOMMSManipulationEvent;
#ifdef __cplusplus
interface IDOMMSManipulationEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMMSManipulationEvent_FWD_DEFINED__
#define __DispDOMMSManipulationEvent_FWD_DEFINED__
typedef interface DispDOMMSManipulationEvent DispDOMMSManipulationEvent;
#ifdef __cplusplus
interface DispDOMMSManipulationEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMMSManipulationEvent_FWD_DEFINED__
#define __DOMMSManipulationEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMMSManipulationEvent DOMMSManipulationEvent;
#else
typedef struct DOMMSManipulationEvent DOMMSManipulationEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMMSManipulationEvent_FWD_DEFINED__ */

#ifndef __IDOMCloseEvent_FWD_DEFINED__
#define __IDOMCloseEvent_FWD_DEFINED__
typedef interface IDOMCloseEvent IDOMCloseEvent;
#ifdef __cplusplus
interface IDOMCloseEvent;
#endif /* __cplusplus */
#endif

#ifndef __DispDOMCloseEvent_FWD_DEFINED__
#define __DispDOMCloseEvent_FWD_DEFINED__
typedef interface DispDOMCloseEvent DispDOMCloseEvent;
#ifdef __cplusplus
interface DispDOMCloseEvent;
#endif /* __cplusplus */
#endif

#ifndef __DOMCloseEvent_FWD_DEFINED__
#define __DOMCloseEvent_FWD_DEFINED__
#ifdef __cplusplus
typedef class DOMCloseEvent DOMCloseEvent;
#else
typedef struct DOMCloseEvent DOMCloseEvent;
#endif /* defined __cplusplus */
#endif /* defined __DOMCloseEvent_FWD_DEFINED__ */

#ifndef __IHTMLApplicationCache_FWD_DEFINED__
#define __IHTMLApplicationCache_FWD_DEFINED__
typedef interface IHTMLApplicationCache IHTMLApplicationCache;
#ifdef __cplusplus
interface IHTMLApplicationCache;
#endif /* __cplusplus */
#endif

#ifndef __DispApplicationCache_FWD_DEFINED__
#define __DispApplicationCache_FWD_DEFINED__
typedef interface DispApplicationCache DispApplicationCache;
#ifdef __cplusplus
interface DispApplicationCache;
#endif /* __cplusplus */
#endif

#ifndef __ApplicationCache_FWD_DEFINED__
#define __ApplicationCache_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationCache ApplicationCache;
#else
typedef struct ApplicationCache ApplicationCache;
#endif /* defined __cplusplus */
#endif /* defined __ApplicationCache_FWD_DEFINED__ */

#ifndef __ICSSFilterSite_FWD_DEFINED__
#define __ICSSFilterSite_FWD_DEFINED__
typedef interface ICSSFilterSite ICSSFilterSite;
#ifdef __cplusplus
interface ICSSFilterSite;
#endif /* __cplusplus */
#endif

#ifndef __ICSSFilter_FWD_DEFINED__
#define __ICSSFilter_FWD_DEFINED__
typedef interface ICSSFilter ICSSFilter;
#ifdef __cplusplus
interface ICSSFilter;
#endif /* __cplusplus */
#endif

#ifndef __ISecureUrlHost_FWD_DEFINED__
#define __ISecureUrlHost_FWD_DEFINED__
typedef interface ISecureUrlHost ISecureUrlHost;
#ifdef __cplusplus
interface ISecureUrlHost;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupServices_FWD_DEFINED__
#define __IMarkupServices_FWD_DEFINED__
typedef interface IMarkupServices IMarkupServices;
#ifdef __cplusplus
interface IMarkupServices;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupServices2_FWD_DEFINED__
#define __IMarkupServices2_FWD_DEFINED__
typedef interface IMarkupServices2 IMarkupServices2;
#ifdef __cplusplus
interface IMarkupServices2;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupContainer_FWD_DEFINED__
#define __IMarkupContainer_FWD_DEFINED__
typedef interface IMarkupContainer IMarkupContainer;
#ifdef __cplusplus
interface IMarkupContainer;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupContainer2_FWD_DEFINED__
#define __IMarkupContainer2_FWD_DEFINED__
typedef interface IMarkupContainer2 IMarkupContainer2;
#ifdef __cplusplus
interface IMarkupContainer2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLChangePlayback_FWD_DEFINED__
#define __IHTMLChangePlayback_FWD_DEFINED__
typedef interface IHTMLChangePlayback IHTMLChangePlayback;
#ifdef __cplusplus
interface IHTMLChangePlayback;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupPointer_FWD_DEFINED__
#define __IMarkupPointer_FWD_DEFINED__
typedef interface IMarkupPointer IMarkupPointer;
#ifdef __cplusplus
interface IMarkupPointer;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupPointer2_FWD_DEFINED__
#define __IMarkupPointer2_FWD_DEFINED__
typedef interface IMarkupPointer2 IMarkupPointer2;
#ifdef __cplusplus
interface IMarkupPointer2;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupTextFrags_FWD_DEFINED__
#define __IMarkupTextFrags_FWD_DEFINED__
typedef interface IMarkupTextFrags IMarkupTextFrags;
#ifdef __cplusplus
interface IMarkupTextFrags;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLChangeLog_FWD_DEFINED__
#define __IHTMLChangeLog_FWD_DEFINED__
typedef interface IHTMLChangeLog IHTMLChangeLog;
#ifdef __cplusplus
interface IHTMLChangeLog;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLChangeSink_FWD_DEFINED__
#define __IHTMLChangeSink_FWD_DEFINED__
typedef interface IHTMLChangeSink IHTMLChangeSink;
#ifdef __cplusplus
interface IHTMLChangeSink;
#endif /* __cplusplus */
#endif

#ifndef __IXMLGenericParse_FWD_DEFINED__
#define __IXMLGenericParse_FWD_DEFINED__
typedef interface IXMLGenericParse IXMLGenericParse;
#ifdef __cplusplus
interface IXMLGenericParse;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEditHost_FWD_DEFINED__
#define __IHTMLEditHost_FWD_DEFINED__
typedef interface IHTMLEditHost IHTMLEditHost;
#ifdef __cplusplus
interface IHTMLEditHost;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEditHost2_FWD_DEFINED__
#define __IHTMLEditHost2_FWD_DEFINED__
typedef interface IHTMLEditHost2 IHTMLEditHost2;
#ifdef __cplusplus
interface IHTMLEditHost2;
#endif /* __cplusplus */
#endif

#ifndef __ISegment_FWD_DEFINED__
#define __ISegment_FWD_DEFINED__
typedef interface ISegment ISegment;
#ifdef __cplusplus
interface ISegment;
#endif /* __cplusplus */
#endif

#ifndef __ISegmentListIterator_FWD_DEFINED__
#define __ISegmentListIterator_FWD_DEFINED__
typedef interface ISegmentListIterator ISegmentListIterator;
#ifdef __cplusplus
interface ISegmentListIterator;
#endif /* __cplusplus */
#endif

#ifndef __ISegmentList_FWD_DEFINED__
#define __ISegmentList_FWD_DEFINED__
typedef interface ISegmentList ISegmentList;
#ifdef __cplusplus
interface ISegmentList;
#endif /* __cplusplus */
#endif

#ifndef __ISequenceNumber_FWD_DEFINED__
#define __ISequenceNumber_FWD_DEFINED__
typedef interface ISequenceNumber ISequenceNumber;
#ifdef __cplusplus
interface ISequenceNumber;
#endif /* __cplusplus */
#endif

#ifndef __IIMEServices_FWD_DEFINED__
#define __IIMEServices_FWD_DEFINED__
typedef interface IIMEServices IIMEServices;
#ifdef __cplusplus
interface IIMEServices;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCaret_FWD_DEFINED__
#define __IHTMLCaret_FWD_DEFINED__
typedef interface IHTMLCaret IHTMLCaret;
#ifdef __cplusplus
interface IHTMLCaret;
#endif /* __cplusplus */
#endif

#ifndef __IHighlightRenderingServices_FWD_DEFINED__
#define __IHighlightRenderingServices_FWD_DEFINED__
typedef interface IHighlightRenderingServices IHighlightRenderingServices;
#ifdef __cplusplus
interface IHighlightRenderingServices;
#endif /* __cplusplus */
#endif

#ifndef __ISelectionServicesListener_FWD_DEFINED__
#define __ISelectionServicesListener_FWD_DEFINED__
typedef interface ISelectionServicesListener ISelectionServicesListener;
#ifdef __cplusplus
interface ISelectionServicesListener;
#endif /* __cplusplus */
#endif

#ifndef __ISelectionServices_FWD_DEFINED__
#define __ISelectionServices_FWD_DEFINED__
typedef interface ISelectionServices ISelectionServices;
#ifdef __cplusplus
interface ISelectionServices;
#endif /* __cplusplus */
#endif

#ifndef __IElementSegment_FWD_DEFINED__
#define __IElementSegment_FWD_DEFINED__
typedef interface IElementSegment IElementSegment;
#ifdef __cplusplus
interface IElementSegment;
#endif /* __cplusplus */
#endif

#ifndef __IHighlightSegment_FWD_DEFINED__
#define __IHighlightSegment_FWD_DEFINED__
typedef interface IHighlightSegment IHighlightSegment;
#ifdef __cplusplus
interface IHighlightSegment;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEditDesigner_FWD_DEFINED__
#define __IHTMLEditDesigner_FWD_DEFINED__
typedef interface IHTMLEditDesigner IHTMLEditDesigner;
#ifdef __cplusplus
interface IHTMLEditDesigner;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEditServices_FWD_DEFINED__
#define __IHTMLEditServices_FWD_DEFINED__
typedef interface IHTMLEditServices IHTMLEditServices;
#ifdef __cplusplus
interface IHTMLEditServices;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEditServices2_FWD_DEFINED__
#define __IHTMLEditServices2_FWD_DEFINED__
typedef interface IHTMLEditServices2 IHTMLEditServices2;
#ifdef __cplusplus
interface IHTMLEditServices2;
#endif /* __cplusplus */
#endif

#ifndef __ILineInfo_FWD_DEFINED__
#define __ILineInfo_FWD_DEFINED__
typedef interface ILineInfo ILineInfo;
#ifdef __cplusplus
interface ILineInfo;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLComputedStyle_FWD_DEFINED__
#define __IHTMLComputedStyle_FWD_DEFINED__
typedef interface IHTMLComputedStyle IHTMLComputedStyle;
#ifdef __cplusplus
interface IHTMLComputedStyle;
#endif /* __cplusplus */
#endif

#ifndef __IDisplayPointer_FWD_DEFINED__
#define __IDisplayPointer_FWD_DEFINED__
typedef interface IDisplayPointer IDisplayPointer;
#ifdef __cplusplus
interface IDisplayPointer;
#endif /* __cplusplus */
#endif

#ifndef __IDisplayServices_FWD_DEFINED__
#define __IDisplayServices_FWD_DEFINED__
typedef interface IDisplayServices IDisplayServices;
#ifdef __cplusplus
interface IDisplayServices;
#endif /* __cplusplus */
#endif

#ifndef __IHtmlDlgSafeHelper_FWD_DEFINED__
#define __IHtmlDlgSafeHelper_FWD_DEFINED__
typedef interface IHtmlDlgSafeHelper IHtmlDlgSafeHelper;
#ifdef __cplusplus
interface IHtmlDlgSafeHelper;
#endif /* __cplusplus */
#endif

#ifndef __IBlockFormats_FWD_DEFINED__
#define __IBlockFormats_FWD_DEFINED__
typedef interface IBlockFormats IBlockFormats;
#ifdef __cplusplus
interface IBlockFormats;
#endif /* __cplusplus */
#endif

#ifndef __IFontNames_FWD_DEFINED__
#define __IFontNames_FWD_DEFINED__
typedef interface IFontNames IFontNames;
#ifdef __cplusplus
interface IFontNames;
#endif /* __cplusplus */
#endif

#ifndef __HtmlDlgSafeHelper_FWD_DEFINED__
#define __HtmlDlgSafeHelper_FWD_DEFINED__
#ifdef __cplusplus
typedef class HtmlDlgSafeHelper HtmlDlgSafeHelper;
#else
typedef struct HtmlDlgSafeHelper HtmlDlgSafeHelper;
#endif /* defined __cplusplus */
#endif /* defined __HtmlDlgSafeHelper_FWD_DEFINED__ */

#ifndef __BlockFormats_FWD_DEFINED__
#define __BlockFormats_FWD_DEFINED__
#ifdef __cplusplus
typedef class BlockFormats BlockFormats;
#else
typedef struct BlockFormats BlockFormats;
#endif /* defined __cplusplus */
#endif /* defined __BlockFormats_FWD_DEFINED__ */

#ifndef __FontNames_FWD_DEFINED__
#define __FontNames_FWD_DEFINED__
#ifdef __cplusplus
typedef class FontNames FontNames;
#else
typedef struct FontNames FontNames;
#endif /* defined __cplusplus */
#endif /* defined __FontNames_FWD_DEFINED__ */

#ifndef __IDeveloperConsoleMessageReceiver_FWD_DEFINED__
#define __IDeveloperConsoleMessageReceiver_FWD_DEFINED__
typedef interface IDeveloperConsoleMessageReceiver IDeveloperConsoleMessageReceiver;
#ifdef __cplusplus
interface IDeveloperConsoleMessageReceiver;
#endif /* __cplusplus */
#endif

#ifndef __IDebugCallbackNotificationHandler_FWD_DEFINED__
#define __IDebugCallbackNotificationHandler_FWD_DEFINED__
typedef interface IDebugCallbackNotificationHandler IDebugCallbackNotificationHandler;
#ifdef __cplusplus
interface IDebugCallbackNotificationHandler;
#endif /* __cplusplus */
#endif

#ifndef __IScriptEventHandler_FWD_DEFINED__
#define __IScriptEventHandler_FWD_DEFINED__
typedef interface IScriptEventHandler IScriptEventHandler;
#ifdef __cplusplus
interface IScriptEventHandler;
#endif /* __cplusplus */
#endif

#ifndef __IScriptEventHandlerSourceInfo_FWD_DEFINED__
#define __IScriptEventHandlerSourceInfo_FWD_DEFINED__
typedef interface IScriptEventHandlerSourceInfo IScriptEventHandlerSourceInfo;
#ifdef __cplusplus
interface IScriptEventHandlerSourceInfo;
#endif /* __cplusplus */
#endif

#ifndef __IDOMEventRegistrationCallback_FWD_DEFINED__
#define __IDOMEventRegistrationCallback_FWD_DEFINED__
typedef interface IDOMEventRegistrationCallback IDOMEventRegistrationCallback;
#ifdef __cplusplus
interface IDOMEventRegistrationCallback;
#endif /* __cplusplus */
#endif

#ifndef __IEventTarget2_FWD_DEFINED__
#define __IEventTarget2_FWD_DEFINED__
typedef interface IEventTarget2 IEventTarget2;
#ifdef __cplusplus
interface IEventTarget2;
#endif /* __cplusplus */
#endif

#ifndef __HTMLNamespaceEvents_FWD_DEFINED__
#define __HTMLNamespaceEvents_FWD_DEFINED__
typedef interface HTMLNamespaceEvents HTMLNamespaceEvents;
#ifdef __cplusplus
interface HTMLNamespaceEvents;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLNamespace_FWD_DEFINED__
#define __IHTMLNamespace_FWD_DEFINED__
typedef interface IHTMLNamespace IHTMLNamespace;
#ifdef __cplusplus
interface IHTMLNamespace;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLNamespaceCollection_FWD_DEFINED__
#define __IHTMLNamespaceCollection_FWD_DEFINED__
typedef interface IHTMLNamespaceCollection IHTMLNamespaceCollection;
#ifdef __cplusplus
interface IHTMLNamespaceCollection;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLNamespace_FWD_DEFINED__
#define __DispHTMLNamespace_FWD_DEFINED__
typedef interface DispHTMLNamespace DispHTMLNamespace;
#ifdef __cplusplus
interface DispHTMLNamespace;
#endif /* __cplusplus */
#endif

#ifndef __HTMLNamespace_FWD_DEFINED__
#define __HTMLNamespace_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLNamespace HTMLNamespace;
#else
typedef struct HTMLNamespace HTMLNamespace;
#endif /* defined __cplusplus */
#endif /* defined __HTMLNamespace_FWD_DEFINED__ */

#ifndef __DispHTMLNamespaceCollection_FWD_DEFINED__
#define __DispHTMLNamespaceCollection_FWD_DEFINED__
typedef interface DispHTMLNamespaceCollection DispHTMLNamespaceCollection;
#ifdef __cplusplus
interface DispHTMLNamespaceCollection;
#endif /* __cplusplus */
#endif

#ifndef __HTMLNamespaceCollection_FWD_DEFINED__
#define __HTMLNamespaceCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLNamespaceCollection HTMLNamespaceCollection;
#else
typedef struct HTMLNamespaceCollection HTMLNamespaceCollection;
#endif /* defined __cplusplus */
#endif /* defined __HTMLNamespaceCollection_FWD_DEFINED__ */

#ifndef __IHTMLPainter_FWD_DEFINED__
#define __IHTMLPainter_FWD_DEFINED__
typedef interface IHTMLPainter IHTMLPainter;
#ifdef __cplusplus
interface IHTMLPainter;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPainterEventInfo_FWD_DEFINED__
#define __IHTMLPainterEventInfo_FWD_DEFINED__
typedef interface IHTMLPainterEventInfo IHTMLPainterEventInfo;
#ifdef __cplusplus
interface IHTMLPainterEventInfo;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPainterOverlay_FWD_DEFINED__
#define __IHTMLPainterOverlay_FWD_DEFINED__
typedef interface IHTMLPainterOverlay IHTMLPainterOverlay;
#ifdef __cplusplus
interface IHTMLPainterOverlay;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPaintSite_FWD_DEFINED__
#define __IHTMLPaintSite_FWD_DEFINED__
typedef interface IHTMLPaintSite IHTMLPaintSite;
#ifdef __cplusplus
interface IHTMLPaintSite;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLIPrintCollection_FWD_DEFINED__
#define __IHTMLIPrintCollection_FWD_DEFINED__
typedef interface IHTMLIPrintCollection IHTMLIPrintCollection;
#ifdef __cplusplus
interface IHTMLIPrintCollection;
#endif /* __cplusplus */
#endif

#ifndef __IEnumPrivacyRecords_FWD_DEFINED__
#define __IEnumPrivacyRecords_FWD_DEFINED__
typedef interface IEnumPrivacyRecords IEnumPrivacyRecords;
#ifdef __cplusplus
interface IEnumPrivacyRecords;
#endif /* __cplusplus */
#endif

#ifndef __IWPCBlockedUrls_FWD_DEFINED__
#define __IWPCBlockedUrls_FWD_DEFINED__
typedef interface IWPCBlockedUrls IWPCBlockedUrls;
#ifdef __cplusplus
interface IWPCBlockedUrls;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMConstructorCollection_FWD_DEFINED__
#define __IHTMLDOMConstructorCollection_FWD_DEFINED__
typedef interface IHTMLDOMConstructorCollection IHTMLDOMConstructorCollection;
#ifdef __cplusplus
interface IHTMLDOMConstructorCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDialog_FWD_DEFINED__
#define __IHTMLDialog_FWD_DEFINED__
typedef interface IHTMLDialog IHTMLDialog;
#ifdef __cplusplus
interface IHTMLDialog;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDialog2_FWD_DEFINED__
#define __IHTMLDialog2_FWD_DEFINED__
typedef interface IHTMLDialog2 IHTMLDialog2;
#ifdef __cplusplus
interface IHTMLDialog2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDialog3_FWD_DEFINED__
#define __IHTMLDialog3_FWD_DEFINED__
typedef interface IHTMLDialog3 IHTMLDialog3;
#ifdef __cplusplus
interface IHTMLDialog3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLModelessInit_FWD_DEFINED__
#define __IHTMLModelessInit_FWD_DEFINED__
typedef interface IHTMLModelessInit IHTMLModelessInit;
#ifdef __cplusplus
interface IHTMLModelessInit;
#endif /* __cplusplus */
#endif

#ifndef __ThreadDialogProcParam_FWD_DEFINED__
#define __ThreadDialogProcParam_FWD_DEFINED__
#ifdef __cplusplus
typedef class ThreadDialogProcParam ThreadDialogProcParam;
#else
typedef struct ThreadDialogProcParam ThreadDialogProcParam;
#endif /* defined __cplusplus */
#endif /* defined __ThreadDialogProcParam_FWD_DEFINED__ */

#ifndef __HTMLDialog_FWD_DEFINED__
#define __HTMLDialog_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLDialog HTMLDialog;
#else
typedef struct HTMLDialog HTMLDialog;
#endif /* defined __cplusplus */
#endif /* defined __HTMLDialog_FWD_DEFINED__ */

#ifndef __IHTMLPopup_FWD_DEFINED__
#define __IHTMLPopup_FWD_DEFINED__
typedef interface IHTMLPopup IHTMLPopup;
#ifdef __cplusplus
interface IHTMLPopup;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLPopup_FWD_DEFINED__
#define __DispHTMLPopup_FWD_DEFINED__
typedef interface DispHTMLPopup DispHTMLPopup;
#ifdef __cplusplus
interface DispHTMLPopup;
#endif /* __cplusplus */
#endif

#ifndef __HTMLPopup_FWD_DEFINED__
#define __HTMLPopup_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLPopup HTMLPopup;
#else
typedef struct HTMLPopup HTMLPopup;
#endif /* defined __cplusplus */
#endif /* defined __HTMLPopup_FWD_DEFINED__ */

#ifndef __IHTMLAppBehavior_FWD_DEFINED__
#define __IHTMLAppBehavior_FWD_DEFINED__
typedef interface IHTMLAppBehavior IHTMLAppBehavior;
#ifdef __cplusplus
interface IHTMLAppBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAppBehavior2_FWD_DEFINED__
#define __IHTMLAppBehavior2_FWD_DEFINED__
typedef interface IHTMLAppBehavior2 IHTMLAppBehavior2;
#ifdef __cplusplus
interface IHTMLAppBehavior2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAppBehavior3_FWD_DEFINED__
#define __IHTMLAppBehavior3_FWD_DEFINED__
typedef interface IHTMLAppBehavior3 IHTMLAppBehavior3;
#ifdef __cplusplus
interface IHTMLAppBehavior3;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLAppBehavior_FWD_DEFINED__
#define __DispHTMLAppBehavior_FWD_DEFINED__
typedef interface DispHTMLAppBehavior DispHTMLAppBehavior;
#ifdef __cplusplus
interface DispHTMLAppBehavior;
#endif /* __cplusplus */
#endif

#ifndef __HTMLAppBehavior_FWD_DEFINED__
#define __HTMLAppBehavior_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLAppBehavior HTMLAppBehavior;
#else
typedef struct HTMLAppBehavior HTMLAppBehavior;
#endif /* defined __cplusplus */
#endif /* defined __HTMLAppBehavior_FWD_DEFINED__ */

#ifndef __OldHTMLDocument_FWD_DEFINED__
#define __OldHTMLDocument_FWD_DEFINED__
#ifdef __cplusplus
typedef class OldHTMLDocument OldHTMLDocument;
#else
typedef struct OldHTMLDocument OldHTMLDocument;
#endif /* defined __cplusplus */
#endif /* defined __OldHTMLDocument_FWD_DEFINED__ */

#ifndef __OldHTMLFormElement_FWD_DEFINED__
#define __OldHTMLFormElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class OldHTMLFormElement OldHTMLFormElement;
#else
typedef struct OldHTMLFormElement OldHTMLFormElement;
#endif /* defined __cplusplus */
#endif /* defined __OldHTMLFormElement_FWD_DEFINED__ */

#ifndef __DispIHTMLInputButtonElement_FWD_DEFINED__
#define __DispIHTMLInputButtonElement_FWD_DEFINED__
typedef interface DispIHTMLInputButtonElement DispIHTMLInputButtonElement;
#ifdef __cplusplus
interface DispIHTMLInputButtonElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputButtonElement_FWD_DEFINED__
#define __HTMLInputButtonElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLInputButtonElement HTMLInputButtonElement;
#else
typedef struct HTMLInputButtonElement HTMLInputButtonElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLInputButtonElement_FWD_DEFINED__ */

#ifndef __DispIHTMLInputTextElement_FWD_DEFINED__
#define __DispIHTMLInputTextElement_FWD_DEFINED__
typedef interface DispIHTMLInputTextElement DispIHTMLInputTextElement;
#ifdef __cplusplus
interface DispIHTMLInputTextElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputTextElement_FWD_DEFINED__
#define __HTMLInputTextElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLInputTextElement HTMLInputTextElement;
#else
typedef struct HTMLInputTextElement HTMLInputTextElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLInputTextElement_FWD_DEFINED__ */

#ifndef __DispIHTMLInputFileElement_FWD_DEFINED__
#define __DispIHTMLInputFileElement_FWD_DEFINED__
typedef interface DispIHTMLInputFileElement DispIHTMLInputFileElement;
#ifdef __cplusplus
interface DispIHTMLInputFileElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputFileElement_FWD_DEFINED__
#define __HTMLInputFileElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLInputFileElement HTMLInputFileElement;
#else
typedef struct HTMLInputFileElement HTMLInputFileElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLInputFileElement_FWD_DEFINED__ */

#ifndef __DispIHTMLOptionButtonElement_FWD_DEFINED__
#define __DispIHTMLOptionButtonElement_FWD_DEFINED__
typedef interface DispIHTMLOptionButtonElement DispIHTMLOptionButtonElement;
#ifdef __cplusplus
interface DispIHTMLOptionButtonElement;
#endif /* __cplusplus */
#endif

#ifndef __HTMLOptionButtonElement_FWD_DEFINED__
#define __HTMLOptionButtonElement_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLOptionButtonElement HTMLOptionButtonElement;
#else
typedef struct HTMLOptionButtonElement HTMLOptionButtonElement;
#endif /* defined __cplusplus */
#endif /* defined __HTMLOptionButtonElement_FWD_DEFINED__ */

#ifndef __DispIHTMLInputImage_FWD_DEFINED__
#define __DispIHTMLInputImage_FWD_DEFINED__
typedef interface DispIHTMLInputImage DispIHTMLInputImage;
#ifdef __cplusplus
interface DispIHTMLInputImage;
#endif /* __cplusplus */
#endif

#ifndef __HTMLInputImage_FWD_DEFINED__
#define __HTMLInputImage_FWD_DEFINED__
#ifdef __cplusplus
typedef class HTMLInputImage HTMLInputImage;
#else
typedef struct HTMLInputImage HTMLInputImage;
#endif /* defined __cplusplus */
#endif /* defined __HTMLInputImage_FWD_DEFINED__ */

#ifndef __IElementBehaviorFactory_FWD_DEFINED__
#define __IElementBehaviorFactory_FWD_DEFINED__
typedef interface IElementBehaviorFactory IElementBehaviorFactory;
#ifdef __cplusplus
interface IElementBehaviorFactory;
#endif /* __cplusplus */
#endif

#ifndef __IElementNamespace_FWD_DEFINED__
#define __IElementNamespace_FWD_DEFINED__
typedef interface IElementNamespace IElementNamespace;
#ifdef __cplusplus
interface IElementNamespace;
#endif /* __cplusplus */
#endif

#ifndef __IElementNamespaceTable_FWD_DEFINED__
#define __IElementNamespaceTable_FWD_DEFINED__
typedef interface IElementNamespaceTable IElementNamespaceTable;
#ifdef __cplusplus
interface IElementNamespaceTable;
#endif /* __cplusplus */
#endif

#ifndef __IElementNamespaceFactory_FWD_DEFINED__
#define __IElementNamespaceFactory_FWD_DEFINED__
typedef interface IElementNamespaceFactory IElementNamespaceFactory;
#ifdef __cplusplus
interface IElementNamespaceFactory;
#endif /* __cplusplus */
#endif

#ifndef __IElementNamespaceFactory2_FWD_DEFINED__
#define __IElementNamespaceFactory2_FWD_DEFINED__
typedef interface IElementNamespaceFactory2 IElementNamespaceFactory2;
#ifdef __cplusplus
interface IElementNamespaceFactory2;
#endif /* __cplusplus */
#endif

#ifndef __IElementNamespaceFactoryCallback_FWD_DEFINED__
#define __IElementNamespaceFactoryCallback_FWD_DEFINED__
typedef interface IElementNamespaceFactoryCallback IElementNamespaceFactoryCallback;
#ifdef __cplusplus
interface IElementNamespaceFactoryCallback;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehavior_FWD_DEFINED__
#define __IElementBehavior_FWD_DEFINED__
typedef interface IElementBehavior IElementBehavior;
#ifdef __cplusplus
interface IElementBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;
#ifdef __cplusplus
interface IElementBehaviorSite;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteOM_FWD_DEFINED__
#define __IElementBehaviorSiteOM_FWD_DEFINED__
typedef interface IElementBehaviorSiteOM IElementBehaviorSiteOM;
#ifdef __cplusplus
interface IElementBehaviorSiteOM;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteOM2_FWD_DEFINED__
#define __IElementBehaviorSiteOM2_FWD_DEFINED__
typedef interface IElementBehaviorSiteOM2 IElementBehaviorSiteOM2;
#ifdef __cplusplus
interface IElementBehaviorSiteOM2;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorRender_FWD_DEFINED__
#define __IElementBehaviorRender_FWD_DEFINED__
typedef interface IElementBehaviorRender IElementBehaviorRender;
#ifdef __cplusplus
interface IElementBehaviorRender;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteRender_FWD_DEFINED__
#define __IElementBehaviorSiteRender_FWD_DEFINED__
typedef interface IElementBehaviorSiteRender IElementBehaviorSiteRender;
#ifdef __cplusplus
interface IElementBehaviorSiteRender;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorCategory_FWD_DEFINED__
#define __IElementBehaviorCategory_FWD_DEFINED__
typedef interface IElementBehaviorCategory IElementBehaviorCategory;
#ifdef __cplusplus
interface IElementBehaviorCategory;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteCategory_FWD_DEFINED__
#define __IElementBehaviorSiteCategory_FWD_DEFINED__
typedef interface IElementBehaviorSiteCategory IElementBehaviorSiteCategory;
#ifdef __cplusplus
interface IElementBehaviorSiteCategory;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSubmit_FWD_DEFINED__
#define __IElementBehaviorSubmit_FWD_DEFINED__
typedef interface IElementBehaviorSubmit IElementBehaviorSubmit;
#ifdef __cplusplus
interface IElementBehaviorSubmit;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorFocus_FWD_DEFINED__
#define __IElementBehaviorFocus_FWD_DEFINED__
typedef interface IElementBehaviorFocus IElementBehaviorFocus;
#ifdef __cplusplus
interface IElementBehaviorFocus;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorLayout_FWD_DEFINED__
#define __IElementBehaviorLayout_FWD_DEFINED__
typedef interface IElementBehaviorLayout IElementBehaviorLayout;
#ifdef __cplusplus
interface IElementBehaviorLayout;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorLayout2_FWD_DEFINED__
#define __IElementBehaviorLayout2_FWD_DEFINED__
typedef interface IElementBehaviorLayout2 IElementBehaviorLayout2;
#ifdef __cplusplus
interface IElementBehaviorLayout2;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteLayout_FWD_DEFINED__
#define __IElementBehaviorSiteLayout_FWD_DEFINED__
typedef interface IElementBehaviorSiteLayout IElementBehaviorSiteLayout;
#ifdef __cplusplus
interface IElementBehaviorSiteLayout;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteLayout2_FWD_DEFINED__
#define __IElementBehaviorSiteLayout2_FWD_DEFINED__
typedef interface IElementBehaviorSiteLayout2 IElementBehaviorSiteLayout2;
#ifdef __cplusplus
interface IElementBehaviorSiteLayout2;
#endif /* __cplusplus */
#endif

#ifndef __IHostBehaviorInit_FWD_DEFINED__
#define __IHostBehaviorInit_FWD_DEFINED__
typedef interface IHostBehaviorInit IHostBehaviorInit;
#ifdef __cplusplus
interface IHostBehaviorInit;
#endif /* __cplusplus */
#endif

#ifndef __IViewObjectPresentSite_FWD_DEFINED__
#define __IViewObjectPresentSite_FWD_DEFINED__
typedef interface IViewObjectPresentSite IViewObjectPresentSite;
#ifdef __cplusplus
interface IViewObjectPresentSite;
#endif /* __cplusplus */
#endif

#ifndef __ISurfacePresenter_FWD_DEFINED__
#define __ISurfacePresenter_FWD_DEFINED__
typedef interface ISurfacePresenter ISurfacePresenter;
#ifdef __cplusplus
interface ISurfacePresenter;
#endif /* __cplusplus */
#endif

#ifndef __ICanvasPixelArrayData_FWD_DEFINED__
#define __ICanvasPixelArrayData_FWD_DEFINED__
typedef interface ICanvasPixelArrayData ICanvasPixelArrayData;
#ifdef __cplusplus
interface ICanvasPixelArrayData;
#endif /* __cplusplus */
#endif

#ifndef __IViewObjectPrint_FWD_DEFINED__
#define __IViewObjectPrint_FWD_DEFINED__
typedef interface IViewObjectPrint IViewObjectPrint;
#ifdef __cplusplus
interface IViewObjectPrint;
#endif /* __cplusplus */
#endif

#ifndef __IViewObjectPresentNotifySite_FWD_DEFINED__
#define __IViewObjectPresentNotifySite_FWD_DEFINED__
typedef interface IViewObjectPresentNotifySite IViewObjectPresentNotifySite;
#ifdef __cplusplus
interface IViewObjectPresentNotifySite;
#endif /* __cplusplus */
#endif

#ifndef __IViewObjectPresentNotify_FWD_DEFINED__
#define __IViewObjectPresentNotify_FWD_DEFINED__
typedef interface IViewObjectPresentNotify IViewObjectPresentNotify;
#ifdef __cplusplus
interface IViewObjectPresentNotify;
#endif /* __cplusplus */
#endif

#ifndef __ITrackingProtection_FWD_DEFINED__
#define __ITrackingProtection_FWD_DEFINED__
typedef interface ITrackingProtection ITrackingProtection;
#ifdef __cplusplus
interface ITrackingProtection;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <ocidl.h>
#include <dimm.h>
#include <shtypes.h>
#include <dispex.h>
#include <ocidl.h>
#include <dxgitype.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER within this package.
 */

#include <winapifamily.h>

#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#include <dxgitype.h>
#include <olectl.h>

EXTERN_C const GUID CMDSETID_Forms3;
EXTERN_C const GUID CLSID_MHTMLDocument;
EXTERN_C const GUID CLSID_IEXMLDocument;
EXTERN_C const GUID CLSID_SVGDocument;
EXTERN_C const GUID CLSID_XHTMLDocument;
EXTERN_C const GUID CLSID_HTADocument;
EXTERN_C const GUID CLSID_HTMLApplication;
EXTERN_C const GUID CLSID_HTMLPluginDocument;
EXTERN_C const GUID CLSID_CStyle;

DEFINE_GUID(SID_SEditCommandTarget,0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
DEFINE_GUID(CGID_EditStateCommands,0x3050f4b6,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
DEFINE_GUID(SID_SHTMLEditHost,0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
DEFINE_GUID(SID_SHTMLEditServices,0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);

#define SID_SHTMLWindow IID_IHTMLWindow2
#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory
#define SID_STrackingProtection IID_ITrackingProtection

#define COOKIEACTION_NONE 0x0
#define COOKIEACTION_ACCEPT 0x1
#define COOKIEACTION_REJECT 0x2
#define COOKIEACTION_DOWNGRADE 0x4
#define COOKIEACTION_LEASH 0x8
#define COOKIEACTION_SUPPRESS 0x10
#define COOKIEACTION_READ 0x20

#define PRIVACY_URLISTOPLEVEL 0x10000
#define PRIVACY_URLHASCOMPACTPOLICY 0x20000
#define PRIVACY_URLHASPOSTDATA 0x80000
#define PRIVACY_URLHASPOLICYREFLINK 0x100000
#define PRIVACY_URLHASPOLICYREFHEADER 0x200000
#define PRIVACY_URLHASP3PHEADER 0x400000

#define DEBUGCALLBACKNOTIFICATION_TIMEOUT 0x1
#define DEBUGCALLBACKNOTIFICATION_INTERVAL 0x2
#define DEBUGCALLBACKNOTIFICATION_IMMEDIATE 0x4
#define DEBUGCALLBACKNOTIFICATION_ANIMATIONFRAME 0x8
#define DEBUGCALLBACKNOTIFICATION_DOMEVENT 0x10

#define DEBUGDOMEVENTPROPAGATIONSTATUS_DEFAULTCANCELED 0x1
#define DEBUGDOMEVENTPROPAGATIONSTATUS_STOPIMMEDIATEPROPAGATION 0x2
#define DEBUGDOMEVENTPROPAGATIONSTATUS_STOPPROPAGATION 0x4

/*****************************************************************************
 * IHTMLFiltersCollection interface
 */
#ifndef __IHTMLFiltersCollection_INTERFACE_DEFINED__
#define __IHTMLFiltersCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFiltersCollection, 0x3050f3ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3ee-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFiltersCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT *pvarIndex,
        VARIANT *pvarResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFiltersCollection, 0x3050f3ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFiltersCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFiltersCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFiltersCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFiltersCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFiltersCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFiltersCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLFiltersCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLFiltersCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLFiltersCollection *This,
        VARIANT *pvarIndex,
        VARIANT *pvarResult);

    END_INTERFACE
} IHTMLFiltersCollectionVtbl;

interface IHTMLFiltersCollection {
    CONST_VTBL IHTMLFiltersCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFiltersCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFiltersCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFiltersCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFiltersCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFiltersCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFiltersCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFiltersCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFiltersCollection methods ***/
#define IHTMLFiltersCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLFiltersCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLFiltersCollection_item(This,pvarIndex,pvarResult) (This)->lpVtbl->item(This,pvarIndex,pvarResult)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFiltersCollection_QueryInterface(IHTMLFiltersCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFiltersCollection_AddRef(IHTMLFiltersCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFiltersCollection_Release(IHTMLFiltersCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFiltersCollection_GetTypeInfoCount(IHTMLFiltersCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFiltersCollection_GetTypeInfo(IHTMLFiltersCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFiltersCollection_GetIDsOfNames(IHTMLFiltersCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFiltersCollection_Invoke(IHTMLFiltersCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFiltersCollection methods ***/
static inline HRESULT IHTMLFiltersCollection_get_length(IHTMLFiltersCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLFiltersCollection_get__newEnum(IHTMLFiltersCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLFiltersCollection_item(IHTMLFiltersCollection* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLFiltersCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIE70DispatchEx interface
 */
#ifndef __IIE70DispatchEx_INTERFACE_DEFINED__
#define __IIE70DispatchEx_INTERFACE_DEFINED__

DEFINE_GUID(IID_IIE70DispatchEx, 0x3051046b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051046b-98b5-11cf-bb82-00aa00bdce0b")
IIE70DispatchEx : public IDispatchEx
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IIE70DispatchEx, 0x3051046b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IIE70DispatchExVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IIE70DispatchEx *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IIE70DispatchEx *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IIE70DispatchEx *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IIE70DispatchEx *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDispatchEx methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDispID)(
        IIE70DispatchEx *This,
        BSTR bstrName,
        DWORD grfdex,
        DISPID *pid);

    HRESULT (STDMETHODCALLTYPE *InvokeEx)(
        IIE70DispatchEx *This,
        DISPID id,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pdp,
        VARIANT *pvarRes,
        EXCEPINFO *pei,
        IServiceProvider *pspCaller);

    HRESULT (STDMETHODCALLTYPE *DeleteMemberByName)(
        IIE70DispatchEx *This,
        BSTR bstrName,
        DWORD grfdex);

    HRESULT (STDMETHODCALLTYPE *DeleteMemberByDispID)(
        IIE70DispatchEx *This,
        DISPID id);

    HRESULT (STDMETHODCALLTYPE *GetMemberProperties)(
        IIE70DispatchEx *This,
        DISPID id,
        DWORD grfdexFetch,
        DWORD *pgrfdex);

    HRESULT (STDMETHODCALLTYPE *GetMemberName)(
        IIE70DispatchEx *This,
        DISPID id,
        BSTR *pbstrName);

    HRESULT (STDMETHODCALLTYPE *GetNextDispID)(
        IIE70DispatchEx *This,
        DWORD grfdex,
        DISPID id,
        DISPID *pid);

    HRESULT (STDMETHODCALLTYPE *GetNameSpaceParent)(
        IIE70DispatchEx *This,
        IUnknown **ppunk);

    END_INTERFACE
} IIE70DispatchExVtbl;

interface IIE70DispatchEx {
    CONST_VTBL IIE70DispatchExVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IIE70DispatchEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IIE70DispatchEx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IIE70DispatchEx_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IIE70DispatchEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IIE70DispatchEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IIE70DispatchEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IIE70DispatchEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDispatchEx methods ***/
#define IIE70DispatchEx_GetDispID(This,bstrName,grfdex,pid) (This)->lpVtbl->GetDispID(This,bstrName,grfdex,pid)
#define IIE70DispatchEx_InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller) (This)->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)
#define IIE70DispatchEx_DeleteMemberByName(This,bstrName,grfdex) (This)->lpVtbl->DeleteMemberByName(This,bstrName,grfdex)
#define IIE70DispatchEx_DeleteMemberByDispID(This,id) (This)->lpVtbl->DeleteMemberByDispID(This,id)
#define IIE70DispatchEx_GetMemberProperties(This,id,grfdexFetch,pgrfdex) (This)->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex)
#define IIE70DispatchEx_GetMemberName(This,id,pbstrName) (This)->lpVtbl->GetMemberName(This,id,pbstrName)
#define IIE70DispatchEx_GetNextDispID(This,grfdex,id,pid) (This)->lpVtbl->GetNextDispID(This,grfdex,id,pid)
#define IIE70DispatchEx_GetNameSpaceParent(This,ppunk) (This)->lpVtbl->GetNameSpaceParent(This,ppunk)
#else
/*** IUnknown methods ***/
static inline HRESULT IIE70DispatchEx_QueryInterface(IIE70DispatchEx* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IIE70DispatchEx_AddRef(IIE70DispatchEx* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IIE70DispatchEx_Release(IIE70DispatchEx* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IIE70DispatchEx_GetTypeInfoCount(IIE70DispatchEx* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IIE70DispatchEx_GetTypeInfo(IIE70DispatchEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IIE70DispatchEx_GetIDsOfNames(IIE70DispatchEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IIE70DispatchEx_Invoke(IIE70DispatchEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDispatchEx methods ***/
static inline HRESULT IIE70DispatchEx_GetDispID(IIE70DispatchEx* This,BSTR bstrName,DWORD grfdex,DISPID *pid) {
    return This->lpVtbl->GetDispID(This,bstrName,grfdex,pid);
}
static inline HRESULT IIE70DispatchEx_InvokeEx(IIE70DispatchEx* This,DISPID id,LCID lcid,WORD wFlags,DISPPARAMS *pdp,VARIANT *pvarRes,EXCEPINFO *pei,IServiceProvider *pspCaller) {
    return This->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller);
}
static inline HRESULT IIE70DispatchEx_DeleteMemberByName(IIE70DispatchEx* This,BSTR bstrName,DWORD grfdex) {
    return This->lpVtbl->DeleteMemberByName(This,bstrName,grfdex);
}
static inline HRESULT IIE70DispatchEx_DeleteMemberByDispID(IIE70DispatchEx* This,DISPID id) {
    return This->lpVtbl->DeleteMemberByDispID(This,id);
}
static inline HRESULT IIE70DispatchEx_GetMemberProperties(IIE70DispatchEx* This,DISPID id,DWORD grfdexFetch,DWORD *pgrfdex) {
    return This->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex);
}
static inline HRESULT IIE70DispatchEx_GetMemberName(IIE70DispatchEx* This,DISPID id,BSTR *pbstrName) {
    return This->lpVtbl->GetMemberName(This,id,pbstrName);
}
static inline HRESULT IIE70DispatchEx_GetNextDispID(IIE70DispatchEx* This,DWORD grfdex,DISPID id,DISPID *pid) {
    return This->lpVtbl->GetNextDispID(This,grfdex,id,pid);
}
static inline HRESULT IIE70DispatchEx_GetNameSpaceParent(IIE70DispatchEx* This,IUnknown **ppunk) {
    return This->lpVtbl->GetNameSpaceParent(This,ppunk);
}
#endif
#endif

#endif


#endif  /* __IIE70DispatchEx_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIE80DispatchEx interface
 */
#ifndef __IIE80DispatchEx_INTERFACE_DEFINED__
#define __IIE80DispatchEx_INTERFACE_DEFINED__

DEFINE_GUID(IID_IIE80DispatchEx, 0x3051046c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051046c-98b5-11cf-bb82-00aa00bdce0b")
IIE80DispatchEx : public IDispatchEx
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IIE80DispatchEx, 0x3051046c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IIE80DispatchExVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IIE80DispatchEx *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IIE80DispatchEx *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IIE80DispatchEx *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IIE80DispatchEx *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDispatchEx methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDispID)(
        IIE80DispatchEx *This,
        BSTR bstrName,
        DWORD grfdex,
        DISPID *pid);

    HRESULT (STDMETHODCALLTYPE *InvokeEx)(
        IIE80DispatchEx *This,
        DISPID id,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pdp,
        VARIANT *pvarRes,
        EXCEPINFO *pei,
        IServiceProvider *pspCaller);

    HRESULT (STDMETHODCALLTYPE *DeleteMemberByName)(
        IIE80DispatchEx *This,
        BSTR bstrName,
        DWORD grfdex);

    HRESULT (STDMETHODCALLTYPE *DeleteMemberByDispID)(
        IIE80DispatchEx *This,
        DISPID id);

    HRESULT (STDMETHODCALLTYPE *GetMemberProperties)(
        IIE80DispatchEx *This,
        DISPID id,
        DWORD grfdexFetch,
        DWORD *pgrfdex);

    HRESULT (STDMETHODCALLTYPE *GetMemberName)(
        IIE80DispatchEx *This,
        DISPID id,
        BSTR *pbstrName);

    HRESULT (STDMETHODCALLTYPE *GetNextDispID)(
        IIE80DispatchEx *This,
        DWORD grfdex,
        DISPID id,
        DISPID *pid);

    HRESULT (STDMETHODCALLTYPE *GetNameSpaceParent)(
        IIE80DispatchEx *This,
        IUnknown **ppunk);

    END_INTERFACE
} IIE80DispatchExVtbl;

interface IIE80DispatchEx {
    CONST_VTBL IIE80DispatchExVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IIE80DispatchEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IIE80DispatchEx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IIE80DispatchEx_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IIE80DispatchEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IIE80DispatchEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IIE80DispatchEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IIE80DispatchEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDispatchEx methods ***/
#define IIE80DispatchEx_GetDispID(This,bstrName,grfdex,pid) (This)->lpVtbl->GetDispID(This,bstrName,grfdex,pid)
#define IIE80DispatchEx_InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller) (This)->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)
#define IIE80DispatchEx_DeleteMemberByName(This,bstrName,grfdex) (This)->lpVtbl->DeleteMemberByName(This,bstrName,grfdex)
#define IIE80DispatchEx_DeleteMemberByDispID(This,id) (This)->lpVtbl->DeleteMemberByDispID(This,id)
#define IIE80DispatchEx_GetMemberProperties(This,id,grfdexFetch,pgrfdex) (This)->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex)
#define IIE80DispatchEx_GetMemberName(This,id,pbstrName) (This)->lpVtbl->GetMemberName(This,id,pbstrName)
#define IIE80DispatchEx_GetNextDispID(This,grfdex,id,pid) (This)->lpVtbl->GetNextDispID(This,grfdex,id,pid)
#define IIE80DispatchEx_GetNameSpaceParent(This,ppunk) (This)->lpVtbl->GetNameSpaceParent(This,ppunk)
#else
/*** IUnknown methods ***/
static inline HRESULT IIE80DispatchEx_QueryInterface(IIE80DispatchEx* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IIE80DispatchEx_AddRef(IIE80DispatchEx* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IIE80DispatchEx_Release(IIE80DispatchEx* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IIE80DispatchEx_GetTypeInfoCount(IIE80DispatchEx* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IIE80DispatchEx_GetTypeInfo(IIE80DispatchEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IIE80DispatchEx_GetIDsOfNames(IIE80DispatchEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IIE80DispatchEx_Invoke(IIE80DispatchEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDispatchEx methods ***/
static inline HRESULT IIE80DispatchEx_GetDispID(IIE80DispatchEx* This,BSTR bstrName,DWORD grfdex,DISPID *pid) {
    return This->lpVtbl->GetDispID(This,bstrName,grfdex,pid);
}
static inline HRESULT IIE80DispatchEx_InvokeEx(IIE80DispatchEx* This,DISPID id,LCID lcid,WORD wFlags,DISPPARAMS *pdp,VARIANT *pvarRes,EXCEPINFO *pei,IServiceProvider *pspCaller) {
    return This->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller);
}
static inline HRESULT IIE80DispatchEx_DeleteMemberByName(IIE80DispatchEx* This,BSTR bstrName,DWORD grfdex) {
    return This->lpVtbl->DeleteMemberByName(This,bstrName,grfdex);
}
static inline HRESULT IIE80DispatchEx_DeleteMemberByDispID(IIE80DispatchEx* This,DISPID id) {
    return This->lpVtbl->DeleteMemberByDispID(This,id);
}
static inline HRESULT IIE80DispatchEx_GetMemberProperties(IIE80DispatchEx* This,DISPID id,DWORD grfdexFetch,DWORD *pgrfdex) {
    return This->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex);
}
static inline HRESULT IIE80DispatchEx_GetMemberName(IIE80DispatchEx* This,DISPID id,BSTR *pbstrName) {
    return This->lpVtbl->GetMemberName(This,id,pbstrName);
}
static inline HRESULT IIE80DispatchEx_GetNextDispID(IIE80DispatchEx* This,DWORD grfdex,DISPID id,DISPID *pid) {
    return This->lpVtbl->GetNextDispID(This,grfdex,id,pid);
}
static inline HRESULT IIE80DispatchEx_GetNameSpaceParent(IIE80DispatchEx* This,IUnknown **ppunk) {
    return This->lpVtbl->GetNameSpaceParent(This,ppunk);
}
#endif
#endif

#endif


#endif  /* __IIE80DispatchEx_INTERFACE_DEFINED__ */

#ifndef __MSHTML_LIBRARY_DEFINED__
#define __MSHTML_LIBRARY_DEFINED__

DEFINE_GUID(LIBID_MSHTML, 0x3050f1c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifndef __IDOMEvent_FWD_DEFINED__
#define __IDOMEvent_FWD_DEFINED__
typedef interface IDOMEvent IDOMEvent;
#ifdef __cplusplus
interface IDOMEvent;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehavior_FWD_DEFINED__
#define __IElementBehavior_FWD_DEFINED__
typedef interface IElementBehavior IElementBehavior;
#ifdef __cplusplus
interface IElementBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorFactory_FWD_DEFINED__
#define __IElementBehaviorFactory_FWD_DEFINED__
typedef interface IElementBehaviorFactory IElementBehaviorFactory;
#ifdef __cplusplus
interface IElementBehaviorFactory;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorRender_FWD_DEFINED__
#define __IElementBehaviorRender_FWD_DEFINED__
typedef interface IElementBehaviorRender IElementBehaviorRender;
#ifdef __cplusplus
interface IElementBehaviorRender;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;
#ifdef __cplusplus
interface IElementBehaviorSite;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteOM_FWD_DEFINED__
#define __IElementBehaviorSiteOM_FWD_DEFINED__
typedef interface IElementBehaviorSiteOM IElementBehaviorSiteOM;
#ifdef __cplusplus
interface IElementBehaviorSiteOM;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSiteRender_FWD_DEFINED__
#define __IElementBehaviorSiteRender_FWD_DEFINED__
typedef interface IElementBehaviorSiteRender IElementBehaviorSiteRender;
#ifdef __cplusplus
interface IElementBehaviorSiteRender;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLEventObj_FWD_DEFINED__
#define __IHTMLEventObj_FWD_DEFINED__
typedef interface IHTMLEventObj IHTMLEventObj;
#ifdef __cplusplus
interface IHTMLEventObj;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheetRule_FWD_DEFINED__
#define __IHTMLStyleSheetRule_FWD_DEFINED__
typedef interface IHTMLStyleSheetRule IHTMLStyleSheetRule;
#ifdef __cplusplus
interface IHTMLStyleSheetRule;
#endif /* __cplusplus */
#endif

typedef enum _htmlBlockAlign {
    htmlBlockAlignNotSet = 0,
    htmlBlockAlignLeft = 1,
    htmlBlockAlignCenter = 2,
    htmlBlockAlignRight = 3,
    htmlBlockAlignJustify = 4,
    htmlBlockAlign_Max = 0x7fffffff
} htmlBlockAlign;
typedef enum _htmlClear {
    htmlClearNotSet = 0,
    htmlClearAll = 1,
    htmlClearLeft = 2,
    htmlClearRight = 3,
    htmlClearBoth = 4,
    htmlClearNone = 5,
    htmlClear_Max = 0x7fffffff
} htmlClear;
typedef enum _htmlControlAlign {
    htmlControlAlignNotSet = 0,
    htmlControlAlignLeft = 1,
    htmlControlAlignCenter = 2,
    htmlControlAlignRight = 3,
    htmlControlAlignTextTop = 4,
    htmlControlAlignAbsMiddle = 5,
    htmlControlAlignBaseline = 6,
    htmlControlAlignAbsBottom = 7,
    htmlControlAlignBottom = 8,
    htmlControlAlignMiddle = 9,
    htmlControlAlignTop = 10,
    htmlControlAlign_Max = 0x7fffffff
} htmlControlAlign;
typedef enum _htmlDesignMode {
    htmlDesignModeInherit = -2,
    htmlDesignModeOn = -1,
    htmlDesignModeOff = 0,
    htmlDesignMode_Max = 0x7fffffff
} htmlDesignMode;
typedef enum _htmlReadyState {
    htmlReadyStateuninitialized = 0,
    htmlReadyStateloading = 1,
    htmlReadyStateloaded = 2,
    htmlReadyStateinteractive = 3,
    htmlReadyStatecomplete = 4,
    htmlReadyState_Max = 0x7fffffff
} htmlReadyState;
typedef enum _htmlZOrder {
    htmlZOrderFront = 0,
    htmlZOrderBack = 1,
    htmlZOrder_Max = 0x7fffffff
} htmlZOrder;
typedef enum _htmlLoop {
    htmlLoopLoopInfinite = -1,
    htmlLoop_Max = 0x7fffffff
} htmlLoop;
typedef enum _mediaType {
    mediaTypeNotSet = 0,
    mediaTypeAll = 511,
    mediaTypeAural = 1,
    mediaTypeBraille = 2,
    mediaTypeEmbossed = 4,
    mediaTypeHandheld = 8,
    mediaTypePrint = 16,
    mediaTypeProjection = 32,
    mediaTypeScreen = 64,
    mediaTypeTty = 128,
    mediaTypeTv = 256,
    mediaType_Max = 0x7fffffff
} mediaType;
typedef enum _DomConstructor {
    DomConstructorObject = 0,
    DomConstructorAttr = 1,
    DomConstructorBehaviorUrnsCollection = 2,
    DomConstructorBookmarkCollection = 3,
    DomConstructorCompatibleInfo = 4,
    DomConstructorCompatibleInfoCollection = 5,
    DomConstructorControlRangeCollection = 6,
    DomConstructorCSSCurrentStyleDeclaration = 7,
    DomConstructorCSSRuleList = 8,
    DomConstructorCSSRuleStyleDeclaration = 9,
    DomConstructorCSSStyleDeclaration = 10,
    DomConstructorCSSStyleRule = 11,
    DomConstructorCSSStyleSheet = 12,
    DomConstructorDataTransfer = 13,
    DomConstructorDOMImplementation = 14,
    DomConstructorElement = 15,
    DomConstructorEvent = 16,
    DomConstructorHistory = 17,
    DomConstructorHTCElementBehaviorDefaults = 18,
    DomConstructorHTMLAnchorElement = 19,
    DomConstructorHTMLAreaElement = 20,
    DomConstructorHTMLAreasCollection = 21,
    DomConstructorHTMLBaseElement = 22,
    DomConstructorHTMLBaseFontElement = 23,
    DomConstructorHTMLBGSoundElement = 24,
    DomConstructorHTMLBlockElement = 25,
    DomConstructorHTMLBodyElement = 26,
    DomConstructorHTMLBRElement = 27,
    DomConstructorHTMLButtonElement = 28,
    DomConstructorHTMLCollection = 29,
    DomConstructorHTMLCommentElement = 30,
    DomConstructorHTMLDDElement = 31,
    DomConstructorHTMLDivElement = 32,
    DomConstructorHTMLDocument = 33,
    DomConstructorHTMLDListElement = 34,
    DomConstructorHTMLDTElement = 35,
    DomConstructorHTMLEmbedElement = 36,
    DomConstructorHTMLFieldSetElement = 37,
    DomConstructorHTMLFontElement = 38,
    DomConstructorHTMLFormElement = 39,
    DomConstructorHTMLFrameElement = 40,
    DomConstructorHTMLFrameSetElement = 41,
    DomConstructorHTMLGenericElement = 42,
    DomConstructorHTMLHeadElement = 43,
    DomConstructorHTMLHeadingElement = 44,
    DomConstructorHTMLHRElement = 45,
    DomConstructorHTMLHtmlElement = 46,
    DomConstructorHTMLIFrameElement = 47,
    DomConstructorHTMLImageElement = 48,
    DomConstructorHTMLInputElement = 49,
    DomConstructorHTMLIsIndexElement = 50,
    DomConstructorHTMLLabelElement = 51,
    DomConstructorHTMLLegendElement = 52,
    DomConstructorHTMLLIElement = 53,
    DomConstructorHTMLLinkElement = 54,
    DomConstructorHTMLMapElement = 55,
    DomConstructorHTMLMarqueeElement = 56,
    DomConstructorHTMLMetaElement = 57,
    DomConstructorHTMLModelessDialog = 58,
    DomConstructorHTMLNamespaceInfo = 59,
    DomConstructorHTMLNamespaceInfoCollection = 60,
    DomConstructorHTMLNextIdElement = 61,
    DomConstructorHTMLNoShowElement = 62,
    DomConstructorHTMLObjectElement = 63,
    DomConstructorHTMLOListElement = 64,
    DomConstructorHTMLOptionElement = 65,
    DomConstructorHTMLParagraphElement = 66,
    DomConstructorHTMLParamElement = 67,
    DomConstructorHTMLPhraseElement = 68,
    DomConstructorHTMLPluginsCollection = 69,
    DomConstructorHTMLPopup = 70,
    DomConstructorHTMLScriptElement = 71,
    DomConstructorHTMLSelectElement = 72,
    DomConstructorHTMLSpanElement = 73,
    DomConstructorHTMLStyleElement = 74,
    DomConstructorHTMLTableCaptionElement = 75,
    DomConstructorHTMLTableCellElement = 76,
    DomConstructorHTMLTableColElement = 77,
    DomConstructorHTMLTableElement = 78,
    DomConstructorHTMLTableRowElement = 79,
    DomConstructorHTMLTableSectionElement = 80,
    DomConstructorHTMLTextAreaElement = 81,
    DomConstructorHTMLTextElement = 82,
    DomConstructorHTMLTitleElement = 83,
    DomConstructorHTMLUListElement = 84,
    DomConstructorHTMLUnknownElement = 85,
    DomConstructorImage = 86,
    DomConstructorLocation = 87,
    DomConstructorNamedNodeMap = 88,
    DomConstructorNavigator = 89,
    DomConstructorNodeList = 90,
    DomConstructorOption = 91,
    DomConstructorScreen = 92,
    DomConstructorSelection = 93,
    DomConstructorStaticNodeList = 94,
    DomConstructorStorage = 95,
    DomConstructorStyleSheetList = 96,
    DomConstructorStyleSheetPage = 97,
    DomConstructorStyleSheetPageList = 98,
    DomConstructorText = 99,
    DomConstructorTextRange = 100,
    DomConstructorTextRangeCollection = 101,
    DomConstructorTextRectangle = 102,
    DomConstructorTextRectangleList = 103,
    DomConstructorWindow = 104,
    DomConstructorXDomainRequest = 105,
    DomConstructorXMLHttpRequest = 106,
    DomConstructorMax = 107,
    DomConstructor_Max = 0x7fffffff
} DomConstructor;
typedef enum _styleBackgroundAttachment {
    styleBackgroundAttachmentFixed = 0,
    styleBackgroundAttachmentScroll = 1,
    styleBackgroundAttachmentNotSet = 2,
    styleBackgroundAttachment_Max = 0x7fffffff
} styleBackgroundAttachment;
typedef enum _styleBackgroundAttachment3 {
    styleBackgroundAttachment3Fixed = 0,
    styleBackgroundAttachment3Scroll = 1,
    styleBackgroundAttachment3Local = 2,
    styleBackgroundAttachment3NotSet = 3,
    styleBackgroundAttachment3_Max = 0x7fffffff
} styleBackgroundAttachment3;
typedef enum _styleBackgroundClip {
    styleBackgroundClipBorderBox = 0,
    styleBackgroundClipPaddingBox = 1,
    styleBackgroundClipContentBox = 2,
    styleBackgroundClipNotSet = 3,
    styleBackgroundClip_Max = 0x7fffffff
} styleBackgroundClip;
typedef enum _styleBackgroundOrigin {
    styleBackgroundOriginBorderBox = 0,
    styleBackgroundOriginPaddingBox = 1,
    styleBackgroundOriginContentBox = 2,
    styleBackgroundOriginNotSet = 3,
    styleBackgroundOrigin_Max = 0x7fffffff
} styleBackgroundOrigin;
typedef enum _styleBackgroundRepeat {
    styleBackgroundRepeatRepeat = 0,
    styleBackgroundRepeatRepeatX = 1,
    styleBackgroundRepeatRepeatY = 2,
    styleBackgroundRepeatNoRepeat = 3,
    styleBackgroundRepeatNotSet = 4,
    styleBackgroundRepeat_Max = 0x7fffffff
} styleBackgroundRepeat;
typedef enum _styleBorderCollapse {
    styleBorderCollapseNotSet = 0,
    styleBorderCollapseSeparate = 1,
    styleBorderCollapseCollapse = 2,
    styleBorderCollapse_Max = 0x7fffffff
} styleBorderCollapse;
typedef enum _styleCaptionSide {
    styleCaptionSideNotSet = 0,
    styleCaptionSideTop = 1,
    styleCaptionSideBottom = 2,
    styleCaptionSideLeft = 3,
    styleCaptionSideRight = 4,
    styleCaptionSide_Max = 0x7fffffff
} styleCaptionSide;
typedef enum _styleDataRepeat {
    styleDataRepeatNone = 0,
    styleDataRepeatInner = 1,
    styleDataRepeat_Max = 0x7fffffff
} styleDataRepeat;
typedef enum _styleEmptyCells {
    styleEmptyCellsNotSet = 0,
    styleEmptyCellsShow = 1,
    styleEmptyCellsHide = 2,
    styleEmptyCells_Max = 0x7fffffff
} styleEmptyCells;
typedef enum _styleFontStyle {
    styleFontStyleNotSet = 0,
    styleFontStyleItalic = 1,
    styleFontStyleOblique = 2,
    styleFontStyleNormal = 3,
    styleFontStyle_Max = 0x7fffffff
} styleFontStyle;
typedef enum _styleFontVariant {
    styleFontVariantNotSet = 0,
    styleFontVariantSmallCaps = 1,
    styleFontVariantNormal = 2,
    styleFontVariant_Max = 0x7fffffff
} styleFontVariant;
typedef enum _styleFontSize {
    styleFontSizeXXSmall = 0,
    styleFontSizeXSmall = 1,
    styleFontSizeSmall = 2,
    styleFontSizeMedium = 3,
    styleFontSizeLarge = 4,
    styleFontSizeXLarge = 5,
    styleFontSizeXXLarge = 6,
    styleFontSizeSmaller = 7,
    styleFontSizeLarger = 8,
    styleFontSize_Max = 0x7fffffff
} styleFontSize;
typedef enum _styleFontWeight {
    styleFontWeightNotSet = 0,
    styleFontWeight100 = 1,
    styleFontWeight200 = 2,
    styleFontWeight300 = 3,
    styleFontWeight400 = 4,
    styleFontWeight500 = 5,
    styleFontWeight600 = 6,
    styleFontWeight700 = 7,
    styleFontWeight800 = 8,
    styleFontWeight900 = 9,
    styleFontWeightNormal = 10,
    styleFontWeightBold = 11,
    styleFontWeightBolder = 12,
    styleFontWeightLighter = 13,
    styleFontWeight_Max = 0x7fffffff
} styleFontWeight;
typedef enum _styleMsOverflowStyle {
    styleMsOverflowStyleNotSet = 0,
    styleMsOverflowStyleAuto = 1,
    styleMsOverflowStyleNone = 2,
    styleMsOverflowStyleScrollbar = 3,
    styleMsOverflowStyleMsAutoHidingScrollbar = 4,
    styleMsOverflowStyle_Max = 0x7fffffff
} styleMsOverflowStyle;
typedef enum _styleOverflow {
    styleOverflowNotSet = 0,
    styleOverflowAuto = 1,
    styleOverflowHidden = 2,
    styleOverflowVisible = 3,
    styleOverflowScroll = 4,
    styleOverflow_Max = 0x7fffffff
} styleOverflow;
typedef enum _styleTableLayout {
    styleTableLayoutNotSet = 0,
    styleTableLayoutAuto = 1,
    styleTableLayoutFixed = 2,
    styleTableLayout_Max = 0x7fffffff
} styleTableLayout;
typedef enum _styleTextTransform {
    styleTextTransformNotSet = 0,
    styleTextTransformCapitalize = 1,
    styleTextTransformLowercase = 2,
    styleTextTransformUppercase = 3,
    styleTextTransformNone = 4,
    styleTextTransform_Max = 0x7fffffff
} styleTextTransform;
typedef enum _styleVerticalAlign {
    styleVerticalAlignAuto = 0,
    styleVerticalAlignBaseline = 1,
    styleVerticalAlignSub = 2,
    styleVerticalAlignSuper = 3,
    styleVerticalAlignTop = 4,
    styleVerticalAlignTextTop = 5,
    styleVerticalAlignMiddle = 6,
    styleVerticalAlignBottom = 7,
    styleVerticalAlignTextBottom = 8,
    styleVerticalAlignInherit = 9,
    styleVerticalAlignNotSet = 10,
    styleVerticalAlign_Max = 0x7fffffff
} styleVerticalAlign;
typedef enum _styleWidowsOrphans {
    styleWidowsOrphansNotSet = -2147483647,
    styleWidowsOrphans_Max = 0x7fffffff
} styleWidowsOrphans;
typedef enum _styleZIndex {
    styleZIndexAuto = -2147483647,
    styleZIndex_Max = 0x7fffffff
} styleZIndex;
typedef enum _styleAuto {
    styleAutoAuto = 0,
    styleAuto_Max = 0x7fffffff
} styleAuto;
typedef enum _styleNone {
    styleNoneNone = 0,
    styleNone_Max = 0x7fffffff
} styleNone;
typedef enum _styleNormal {
    styleNormalNormal = 0,
    styleNormal_Max = 0x7fffffff
} styleNormal;
typedef enum _styleBorderWidth {
    styleBorderWidthThin = 0,
    styleBorderWidthMedium = 1,
    styleBorderWidthThick = 2,
    styleBorderWidth_Max = 0x7fffffff
} styleBorderWidth;
typedef enum _stylePosition {
    stylePositionNotSet = 0,
    stylePositionstatic = 1,
    stylePositionrelative = 2,
    stylePositionabsolute = 3,
    stylePositionfixed = 4,
    stylePositionMsPage = 5,
    stylePosition_Max = 0x7fffffff
} stylePosition;
typedef enum _styleBorderStyle {
    styleBorderStyleNotSet = 0,
    styleBorderStyleDotted = 1,
    styleBorderStyleDashed = 2,
    styleBorderStyleSolid = 3,
    styleBorderStyleDouble = 4,
    styleBorderStyleGroove = 5,
    styleBorderStyleRidge = 6,
    styleBorderStyleInset = 7,
    styleBorderStyleOutset = 8,
    styleBorderStyleWindowInset = 9,
    styleBorderStyleNone = 10,
    styleBorderStyleHidden = 11,
    styleBorderStyle_Max = 0x7fffffff
} styleBorderStyle;
typedef enum _styleOutlineStyle {
    styleOutlineStyleNotSet = 0,
    styleOutlineStyleDotted = 1,
    styleOutlineStyleDashed = 2,
    styleOutlineStyleSolid = 3,
    styleOutlineStyleDouble = 4,
    styleOutlineStyleGroove = 5,
    styleOutlineStyleRidge = 6,
    styleOutlineStyleInset = 7,
    styleOutlineStyleOutset = 8,
    styleOutlineStyleWindowInset = 9,
    styleOutlineStyleNone = 10,
    styleOutlineStyle_Max = 0x7fffffff
} styleOutlineStyle;
typedef enum _styleStyleFloat {
    styleStyleFloatNotSet = 0,
    styleStyleFloatLeft = 1,
    styleStyleFloatRight = 2,
    styleStyleFloatNone = 3,
    styleStyleFloat_Max = 0x7fffffff
} styleStyleFloat;
typedef enum _styleDisplay {
    styleDisplayNotSet = 0,
    styleDisplayBlock = 1,
    styleDisplayInline = 2,
    styleDisplayListItem = 3,
    styleDisplayNone = 4,
    styleDisplayTableHeaderGroup = 5,
    styleDisplayTableFooterGroup = 6,
    styleDisplayInlineBlock = 7,
    styleDisplayTable = 8,
    styleDisplayInlineTable = 9,
    styleDisplayTableRow = 10,
    styleDisplayTableRowGroup = 11,
    styleDisplayTableColumn = 12,
    styleDisplayTableColumnGroup = 13,
    styleDisplayTableCell = 14,
    styleDisplayTableCaption = 15,
    styleDisplayRunIn = 16,
    styleDisplayRuby = 17,
    styleDisplayRubyBase = 18,
    styleDisplayRubyText = 19,
    styleDisplayRubyBaseContainer = 20,
    styleDisplayRubyTextContainer = 21,
    styleDisplayMsFlexbox = 22,
    styleDisplayMsInlineFlexbox = 23,
    styleDisplayMsGrid = 24,
    styleDisplayMsInlineGrid = 25,
    styleDisplay_Max = 0x7fffffff
} styleDisplay;
typedef enum _styleVisibility {
    styleVisibilityNotSet = 0,
    styleVisibilityInherit = 1,
    styleVisibilityVisible = 2,
    styleVisibilityHidden = 3,
    styleVisibilityCollapse = 4,
    styleVisibility_Max = 0x7fffffff
} styleVisibility;
typedef enum _styleListStyleType {
    styleListStyleTypeNotSet = 0,
    styleListStyleTypeDisc = 1,
    styleListStyleTypeCircle = 2,
    styleListStyleTypeSquare = 3,
    styleListStyleTypeDecimal = 4,
    styleListStyleTypeLowerRoman = 5,
    styleListStyleTypeUpperRoman = 6,
    styleListStyleTypeLowerAlpha = 7,
    styleListStyleTypeUpperAlpha = 8,
    styleListStyleTypeNone = 9,
    styleListStyleTypeDecimalLeadingZero = 10,
    styleListStyleTypeGeorgian = 11,
    styleListStyleTypeArmenian = 12,
    styleListStyleTypeUpperLatin = 13,
    styleListStyleTypeLowerLatin = 14,
    styleListStyleTypeUpperGreek = 15,
    styleListStyleTypeLowerGreek = 16,
    styleListStyleType_Max = 0x7fffffff
} styleListStyleType;
typedef enum _styleListStylePosition {
    styleListStylePositionNotSet = 0,
    styleListStylePositionInside = 1,
    styleListStylePositionOutSide = 2,
    styleListStylePosition_Max = 0x7fffffff
} styleListStylePosition;
typedef enum _styleWhiteSpace {
    styleWhiteSpaceNotSet = 0,
    styleWhiteSpaceNormal = 1,
    styleWhiteSpacePre = 2,
    styleWhiteSpaceNowrap = 3,
    styleWhiteSpacePreline = 4,
    styleWhiteSpacePrewrap = 5,
    styleWhiteSpace_Max = 0x7fffffff
} styleWhiteSpace;
typedef enum _stylePageBreak {
    stylePageBreakNotSet = 0,
    stylePageBreakAuto = 1,
    stylePageBreakAlways = 2,
    stylePageBreakLeft = 3,
    stylePageBreakRight = 4,
    stylePageBreakAvoid = 5,
    stylePageBreak_Max = 0x7fffffff
} stylePageBreak;
typedef enum _stylePageBreakInside {
    stylePageBreakInsideNotSet = 0,
    stylePageBreakInsideAuto = 1,
    stylePageBreakInsideAvoid = 2,
    stylePageBreakInside_Max = 0x7fffffff
} stylePageBreakInside;
typedef enum _styleCursor {
    styleCursorAuto = 0,
    styleCursorCrosshair = 1,
    styleCursorDefault = 2,
    styleCursorHand = 3,
    styleCursorMove = 4,
    styleCursorE_resize = 5,
    styleCursorNe_resize = 6,
    styleCursorNw_resize = 7,
    styleCursorN_resize = 8,
    styleCursorSe_resize = 9,
    styleCursorSw_resize = 10,
    styleCursorS_resize = 11,
    styleCursorW_resize = 12,
    styleCursorText = 13,
    styleCursorWait = 14,
    styleCursorHelp = 15,
    styleCursorPointer = 16,
    styleCursorProgress = 17,
    styleCursorNot_allowed = 18,
    styleCursorNo_drop = 19,
    styleCursorVertical_text = 20,
    styleCursorall_scroll = 21,
    styleCursorcol_resize = 22,
    styleCursorrow_resize = 23,
    styleCursorNone = 24,
    styleCursorContext_menu = 25,
    styleCursorEw_resize = 26,
    styleCursorNs_resize = 27,
    styleCursorNesw_resize = 28,
    styleCursorNwse_resize = 29,
    styleCursorCell = 30,
    styleCursorCopy = 31,
    styleCursorAlias = 32,
    styleCursorcustom = 33,
    styleCursorNotSet = 34,
    styleCursor_Max = 0x7fffffff
} styleCursor;
typedef enum _styleDir {
    styleDirNotSet = 0,
    styleDirLeftToRight = 1,
    styleDirRightToLeft = 2,
    styleDirInherit = 3,
    styleDir_Max = 0x7fffffff
} styleDir;
typedef enum _styleBidi {
    styleBidiNotSet = 0,
    styleBidiNormal = 1,
    styleBidiEmbed = 2,
    styleBidiOverride = 3,
    styleBidiInherit = 4,
    styleBidi_Max = 0x7fffffff
} styleBidi;
typedef enum _styleImeMode {
    styleImeModeAuto = 0,
    styleImeModeActive = 1,
    styleImeModeInactive = 2,
    styleImeModeDisabled = 3,
    styleImeModeNotSet = 4,
    styleImeMode_Max = 0x7fffffff
} styleImeMode;
typedef enum _styleRubyAlign {
    styleRubyAlignNotSet = 0,
    styleRubyAlignAuto = 1,
    styleRubyAlignLeft = 2,
    styleRubyAlignCenter = 3,
    styleRubyAlignRight = 4,
    styleRubyAlignDistributeLetter = 5,
    styleRubyAlignDistributeSpace = 6,
    styleRubyAlignLineEdge = 7,
    styleRubyAlign_Max = 0x7fffffff
} styleRubyAlign;
typedef enum _styleRubyPosition {
    styleRubyPositionNotSet = 0,
    styleRubyPositionAbove = 1,
    styleRubyPositionInline = 2,
    styleRubyPosition_Max = 0x7fffffff
} styleRubyPosition;
typedef enum _styleRubyOverhang {
    styleRubyOverhangNotSet = 0,
    styleRubyOverhangAuto = 1,
    styleRubyOverhangWhitespace = 2,
    styleRubyOverhangNone = 3,
    styleRubyOverhang_Max = 0x7fffffff
} styleRubyOverhang;
typedef enum _styleLayoutGridChar {
    styleLayoutGridCharNotSet = 0,
    styleLayoutGridCharAuto = 1,
    styleLayoutGridCharNone = 2,
    styleLayoutGridChar_Max = 0x7fffffff
} styleLayoutGridChar;
typedef enum _styleLayoutGridLine {
    styleLayoutGridLineNotSet = 0,
    styleLayoutGridLineAuto = 1,
    styleLayoutGridLineNone = 2,
    styleLayoutGridLine_Max = 0x7fffffff
} styleLayoutGridLine;
typedef enum _styleLayoutGridMode {
    styleLayoutGridModeNotSet = 0,
    styleLayoutGridModeChar = 1,
    styleLayoutGridModeLine = 2,
    styleLayoutGridModeBoth = 3,
    styleLayoutGridModeNone = 4,
    styleLayoutGridMode_Max = 0x7fffffff
} styleLayoutGridMode;
typedef enum _styleLayoutGridType {
    styleLayoutGridTypeNotSet = 0,
    styleLayoutGridTypeLoose = 1,
    styleLayoutGridTypeStrict = 2,
    styleLayoutGridTypeFixed = 3,
    styleLayoutGridType_Max = 0x7fffffff
} styleLayoutGridType;
typedef enum _styleLineBreak {
    styleLineBreakNotSet = 0,
    styleLineBreakNormal = 1,
    styleLineBreakStrict = 2,
    styleLineBreak_Max = 0x7fffffff
} styleLineBreak;
typedef enum _styleWordBreak {
    styleWordBreakNotSet = 0,
    styleWordBreakNormal = 1,
    styleWordBreakBreakAll = 2,
    styleWordBreakKeepAll = 3,
    styleWordBreak_Max = 0x7fffffff
} styleWordBreak;
typedef enum _styleWordWrap {
    styleWordWrapNotSet = 0,
    styleWordWrapOff = 1,
    styleWordWrapOn = 2,
    styleWordWrap_Max = 0x7fffffff
} styleWordWrap;
typedef enum _styleTextJustify {
    styleTextJustifyNotSet = 0,
    styleTextJustifyInterWord = 1,
    styleTextJustifyNewspaper = 2,
    styleTextJustifyDistribute = 3,
    styleTextJustifyDistributeAllLines = 4,
    styleTextJustifyInterIdeograph = 5,
    styleTextJustifyInterCluster = 6,
    styleTextJustifyKashida = 7,
    styleTextJustifyAuto = 8,
    styleTextJustify_Max = 0x7fffffff
} styleTextJustify;
typedef enum _styleTextAlignLast {
    styleTextAlignLastNotSet = 0,
    styleTextAlignLastLeft = 1,
    styleTextAlignLastCenter = 2,
    styleTextAlignLastRight = 3,
    styleTextAlignLastJustify = 4,
    styleTextAlignLastAuto = 5,
    styleTextAlignLast_Max = 0x7fffffff
} styleTextAlignLast;
typedef enum _styleTextJustifyTrim {
    styleTextJustifyTrimNotSet = 0,
    styleTextJustifyTrimNone = 1,
    styleTextJustifyTrimPunctuation = 2,
    styleTextJustifyTrimPunctAndKana = 3,
    styleTextJustifyTrim_Max = 0x7fffffff
} styleTextJustifyTrim;
typedef enum _styleAccelerator {
    styleAcceleratorFalse = 0,
    styleAcceleratorTrue = 1,
    styleAccelerator_Max = 0x7fffffff
} styleAccelerator;
typedef enum _styleLayoutFlow {
    styleLayoutFlowHorizontal = 0,
    styleLayoutFlowVerticalIdeographic = 1,
    styleLayoutFlowNotSet = 2,
    styleLayoutFlow_Max = 0x7fffffff
} styleLayoutFlow;
typedef enum _styleBlockProgression {
    styleBlockProgressionTb = 0,
    styleBlockProgressionRl = 1,
    styleBlockProgressionBt = 2,
    styleBlockProgressionLr = 3,
    styleBlockProgressionNotSet = 4,
    styleBlockProgression_Max = 0x7fffffff
} styleBlockProgression;
typedef enum _styleWritingMode {
    styleWritingModeLrtb = 0,
    styleWritingModeTbrl = 1,
    styleWritingModeRltb = 2,
    styleWritingModeBtrl = 3,
    styleWritingModeNotSet = 4,
    styleWritingModeTblr = 5,
    styleWritingModeBtlr = 6,
    styleWritingModeLrbt = 7,
    styleWritingModeRlbt = 8,
    styleWritingModeLr = 9,
    styleWritingModeRl = 10,
    styleWritingModeTb = 11,
    styleWritingMode_Max = 0x7fffffff
} styleWritingMode;
typedef enum _styleBool {
    styleBoolFalse = 0,
    styleBoolTrue = 1,
    styleBool_Max = 0x7fffffff
} styleBool;
typedef enum _styleTextUnderlinePosition {
    styleTextUnderlinePositionBelow = 0,
    styleTextUnderlinePositionAbove = 1,
    styleTextUnderlinePositionAuto = 2,
    styleTextUnderlinePositionNotSet = 3,
    styleTextUnderlinePosition_Max = 0x7fffffff
} styleTextUnderlinePosition;
typedef enum _styleTextOverflow {
    styleTextOverflowClip = 0,
    styleTextOverflowEllipsis = 1,
    styleTextOverflowNotSet = 2,
    styleTextOverflow_Max = 0x7fffffff
} styleTextOverflow;
typedef enum _styleInterpolation {
    styleInterpolationNotSet = 0,
    styleInterpolationNN = 1,
    styleInterpolationBCH = 2,
    styleInterpolation_Max = 0x7fffffff
} styleInterpolation;
typedef enum _styleBoxSizing {
    styleBoxSizingNotSet = 0,
    styleBoxSizingContentBox = 1,
    styleBoxSizingBorderBox = 2,
    styleBoxSizing_Max = 0x7fffffff
} styleBoxSizing;
typedef enum _styleMsFlex {
    styleMsFlexNone = 0,
    styleMsFlexNotSet = 1,
    styleMsFlex_Max = 0x7fffffff
} styleMsFlex;
typedef enum _styleMsFlexPreferredSize {
    styleMsFlexPreferredSizeAuto = 0,
    styleMsFlexPreferredSizeNotSet = 1,
    styleMsFlexPreferredSize_Max = 0x7fffffff
} styleMsFlexPreferredSize;
typedef enum _styleMsFlexDirection {
    styleMsFlexDirectionRow = 0,
    styleMsFlexDirectionRowReverse = 1,
    styleMsFlexDirectionColumn = 2,
    styleMsFlexDirectionColumnReverse = 3,
    styleMsFlexDirectionNotSet = 4,
    styleMsFlexDirection_Max = 0x7fffffff
} styleMsFlexDirection;
typedef enum _styleMsFlexWrap {
    styleMsFlexWrapNowrap = 0,
    styleMsFlexWrapWrap = 1,
    styleMsFlexWrapWrapReverse = 2,
    styleMsFlexWrapNotSet = 3,
    styleMsFlexWrap_Max = 0x7fffffff
} styleMsFlexWrap;
typedef enum _styleMsFlexAlign {
    styleMsFlexAlignStart = 0,
    styleMsFlexAlignEnd = 1,
    styleMsFlexAlignCenter = 2,
    styleMsFlexAlignBaseline = 3,
    styleMsFlexAlignStretch = 4,
    styleMsFlexAlignNotSet = 5,
    styleMsFlexAlign_Max = 0x7fffffff
} styleMsFlexAlign;
typedef enum _styleMsFlexItemAlign {
    styleMsFlexItemAlignStart = 0,
    styleMsFlexItemAlignEnd = 1,
    styleMsFlexItemAlignCenter = 2,
    styleMsFlexItemAlignBaseline = 3,
    styleMsFlexItemAlignStretch = 4,
    styleMsFlexItemAlignAuto = 5,
    styleMsFlexItemAlignNotSet = 6,
    styleMsFlexItemAlign_Max = 0x7fffffff
} styleMsFlexItemAlign;
typedef enum _styleMsFlexPack {
    styleMsFlexPackStart = 0,
    styleMsFlexPackEnd = 1,
    styleMsFlexPackCenter = 2,
    styleMsFlexPackJustify = 3,
    styleMsFlexPackDistribute = 4,
    styleMsFlexPackNotSet = 5,
    styleMsFlexPack_Max = 0x7fffffff
} styleMsFlexPack;
typedef enum _styleMsFlexLinePack {
    styleMsFlexLinePackStart = 0,
    styleMsFlexLinePackEnd = 1,
    styleMsFlexLinePackCenter = 2,
    styleMsFlexLinePackJustify = 3,
    styleMsFlexLinePackDistribute = 4,
    styleMsFlexLinePackStretch = 5,
    styleMsFlexLinePackNotSet = 6,
    styleMsFlexLinePack_Max = 0x7fffffff
} styleMsFlexLinePack;
typedef enum _styleColumnFill {
    styleColumnFillAuto = 0,
    styleColumnFillBalance = 1,
    styleColumnFillNotSet = 2,
    styleColumnFill_Max = 0x7fffffff
} styleColumnFill;
typedef enum _styleColumnSpan {
    styleColumnSpanOne = 0,
    styleColumnSpanAll = 1,
    styleColumnSpanNotSet = 2,
    styleColumnSpan_Max = 0x7fffffff
} styleColumnSpan;
typedef enum _styleBreak {
    styleBreakNotSet = 0,
    styleBreakAuto = 1,
    styleBreakAlways = 2,
    styleBreakAvoid = 3,
    styleBreakLeft = 4,
    styleBreakRight = 5,
    styleBreakPage = 6,
    styleBreakColumn = 7,
    styleBreakAvoidPage = 8,
    styleBreakAvoidColumn = 9,
    styleBreak_Max = 0x7fffffff
} styleBreak;
typedef enum _styleBreakInside {
    styleBreakInsideNotSet = 0,
    styleBreakInsideAuto = 1,
    styleBreakInsideAvoid = 2,
    styleBreakInsideAvoidPage = 3,
    styleBreakInsideAvoidColumn = 4,
    styleBreakInside_Max = 0x7fffffff
} styleBreakInside;
typedef enum _styleMsScrollChaining {
    styleMsScrollChainingNotSet = 0,
    styleMsScrollChainingNone = 1,
    styleMsScrollChainingChained = 2,
    styleMsScrollChaining_Max = 0x7fffffff
} styleMsScrollChaining;
typedef enum _styleMsContentZooming {
    styleMsContentZoomingNotSet = 0,
    styleMsContentZoomingNone = 1,
    styleMsContentZoomingZoom = 2,
    styleMsContentZooming_Max = 0x7fffffff
} styleMsContentZooming;
typedef enum _styleMsContentZoomSnapType {
    styleMsContentZoomSnapTypeNotSet = 0,
    styleMsContentZoomSnapTypeNone = 1,
    styleMsContentZoomSnapTypeMandatory = 2,
    styleMsContentZoomSnapTypeProximity = 3,
    styleMsContentZoomSnapType_Max = 0x7fffffff
} styleMsContentZoomSnapType;
typedef enum _styleMsScrollRails {
    styleMsScrollRailsNotSet = 0,
    styleMsScrollRailsNone = 1,
    styleMsScrollRailsRailed = 2,
    styleMsScrollRails_Max = 0x7fffffff
} styleMsScrollRails;
typedef enum _styleMsContentZoomChaining {
    styleMsContentZoomChainingNotSet = 0,
    styleMsContentZoomChainingNone = 1,
    styleMsContentZoomChainingChained = 2,
    styleMsContentZoomChaining_Max = 0x7fffffff
} styleMsContentZoomChaining;
typedef enum _styleMsScrollSnapType {
    styleMsScrollSnapTypeNotSet = 0,
    styleMsScrollSnapTypeNone = 1,
    styleMsScrollSnapTypeMandatory = 2,
    styleMsScrollSnapTypeProximity = 3,
    styleMsScrollSnapType_Max = 0x7fffffff
} styleMsScrollSnapType;
typedef enum _styleGridColumn {
    styleGridColumnNotSet = 0,
    styleGridColumn_Max = 0x7fffffff
} styleGridColumn;
typedef enum _styleGridColumnAlign {
    styleGridColumnAlignCenter = 0,
    styleGridColumnAlignEnd = 1,
    styleGridColumnAlignStart = 2,
    styleGridColumnAlignStretch = 3,
    styleGridColumnAlignNotSet = 4,
    styleGridColumnAlign_Max = 0x7fffffff
} styleGridColumnAlign;
typedef enum _styleGridColumnSpan {
    styleGridColumnSpanNotSet = 0,
    styleGridColumnSpan_Max = 0x7fffffff
} styleGridColumnSpan;
typedef enum _styleGridRow {
    styleGridRowNotSet = 0,
    styleGridRow_Max = 0x7fffffff
} styleGridRow;
typedef enum _styleGridRowAlign {
    styleGridRowAlignCenter = 0,
    styleGridRowAlignEnd = 1,
    styleGridRowAlignStart = 2,
    styleGridRowAlignStretch = 3,
    styleGridRowAlignNotSet = 4,
    styleGridRowAlign_Max = 0x7fffffff
} styleGridRowAlign;
typedef enum _styleGridRowSpan {
    styleGridRowSpanNotSet = 0,
    styleGridRowSpan_Max = 0x7fffffff
} styleGridRowSpan;
typedef enum _styleWrapThrough {
    styleWrapThroughNotSet = 0,
    styleWrapThroughWrap = 1,
    styleWrapThroughNone = 2,
    styleWrapThrough_Max = 0x7fffffff
} styleWrapThrough;
typedef enum _styleWrapFlow {
    styleWrapFlowNotSet = 0,
    styleWrapFlowAuto = 1,
    styleWrapFlowBoth = 2,
    styleWrapFlowStart = 3,
    styleWrapFlowEnd = 4,
    styleWrapFlowClear = 5,
    styleWrapFlowMinimum = 6,
    styleWrapFlowMaximum = 7,
    styleWrapFlow_Max = 0x7fffffff
} styleWrapFlow;
typedef enum _styleAlignmentBaseline {
    styleAlignmentBaselineNotSet = 0,
    styleAlignmentBaselineAfterEdge = 1,
    styleAlignmentBaselineAlphabetic = 2,
    styleAlignmentBaselineAuto = 3,
    styleAlignmentBaselineBaseline = 4,
    styleAlignmentBaselineBeforeEdge = 5,
    styleAlignmentBaselineCentral = 6,
    styleAlignmentBaselineHanging = 7,
    styleAlignmentBaselineMathematical = 8,
    styleAlignmentBaselineMiddle = 9,
    styleAlignmentBaselineTextAfterEdge = 10,
    styleAlignmentBaselineTextBeforeEdge = 11,
    styleAlignmentBaselineIdeographic = 12,
    styleAlignmentBaseline_Max = 0x7fffffff
} styleAlignmentBaseline;
typedef enum _styleBaselineShift {
    styleBaselineShiftBaseline = 0,
    styleBaselineShiftSub = 1,
    styleBaselineShiftSuper = 2,
    styleBaselineShift_Max = 0x7fffffff
} styleBaselineShift;
typedef enum _styleClipRule {
    styleClipRuleNotSet = 0,
    styleClipRuleNonZero = 1,
    styleClipRuleEvenOdd = 2,
    styleClipRule_Max = 0x7fffffff
} styleClipRule;
typedef enum _styleDominantBaseline {
    styleDominantBaselineNotSet = 0,
    styleDominantBaselineAlphabetic = 1,
    styleDominantBaselineAuto = 2,
    styleDominantBaselineCentral = 3,
    styleDominantBaselineHanging = 4,
    styleDominantBaselineIdeographic = 5,
    styleDominantBaselineMathematical = 6,
    styleDominantBaselineMiddle = 7,
    styleDominantBaselineNoChange = 8,
    styleDominantBaselineResetSize = 9,
    styleDominantBaselineTextAfterEdge = 10,
    styleDominantBaselineTextBeforeEdge = 11,
    styleDominantBaselineUseScript = 12,
    styleDominantBaseline_Max = 0x7fffffff
} styleDominantBaseline;
typedef enum _styleFillRule {
    styleFillRuleNotSet = 0,
    styleFillRuleNonZero = 1,
    styleFillRuleEvenOdd = 2,
    styleFillRule_Max = 0x7fffffff
} styleFillRule;
typedef enum _styleFontStretch {
    styleFontStretchNotSet = 0,
    styleFontStretchWider = 1,
    styleFontStretchNarrower = 2,
    styleFontStretchUltraCondensed = 3,
    styleFontStretchExtraCondensed = 4,
    styleFontStretchCondensed = 5,
    styleFontStretchSemiCondensed = 6,
    styleFontStretchNormal = 7,
    styleFontStretchSemiExpanded = 8,
    styleFontStretchExpanded = 9,
    styleFontStretchExtraExpanded = 10,
    styleFontStretchUltraExpanded = 11,
    styleFontStretch_Max = 0x7fffffff
} styleFontStretch;
typedef enum _stylePointerEvents {
    stylePointerEventsNotSet = 0,
    stylePointerEventsVisiblePainted = 1,
    stylePointerEventsVisibleFill = 2,
    stylePointerEventsVisibleStroke = 3,
    stylePointerEventsVisible = 4,
    stylePointerEventsPainted = 5,
    stylePointerEventsFill = 6,
    stylePointerEventsStroke = 7,
    stylePointerEventsAll = 8,
    stylePointerEventsNone = 9,
    stylePointerEvents_Max = 0x7fffffff
} stylePointerEvents;
typedef enum _styleEnableBackground {
    styleEnableBackgroundNotSet = 0,
    styleEnableBackgroundAccumulate = 1,
    styleEnableBackgroundNew = 2,
    styleEnableBackgroundInherit = 3,
    styleEnableBackground_Max = 0x7fffffff
} styleEnableBackground;
typedef enum _styleStrokeLinecap {
    styleStrokeLinecapNotSet = 0,
    styleStrokeLinecapButt = 1,
    styleStrokeLinecapRound = 2,
    styleStrokeLinecapSquare = 3,
    styleStrokeLinecap_Max = 0x7fffffff
} styleStrokeLinecap;
typedef enum _styleStrokeLinejoin {
    styleStrokeLinejoinNotSet = 0,
    styleStrokeLinejoinMiter = 1,
    styleStrokeLinejoinRound = 2,
    styleStrokeLinejoinBevel = 3,
    styleStrokeLinejoin_Max = 0x7fffffff
} styleStrokeLinejoin;
typedef enum _styleTextAnchor {
    styleTextAnchorNotSet = 0,
    styleTextAnchorStart = 1,
    styleTextAnchorMiddle = 2,
    styleTextAnchorEnd = 3,
    styleTextAnchor_Max = 0x7fffffff
} styleTextAnchor;
typedef enum _styleAttrType {
    styleAttrTypeString = 0,
    styleAttrTypeColor = 1,
    styleAttrTypeUrl = 2,
    styleAttrTypeInteger = 3,
    styleAttrTypeNumber = 4,
    styleAttrTypeLength = 5,
    styleAttrTypePx = 6,
    styleAttrTypeEm = 7,
    styleAttrTypeEx = 8,
    styleAttrTypeIn = 9,
    styleAttrTypeCm = 10,
    styleAttrTypeMm = 11,
    styleAttrTypePt = 12,
    styleAttrTypePc = 13,
    styleAttrTypeRem = 14,
    styleAttrTypeCh = 15,
    styleAttrTypeVh = 16,
    styleAttrTypeVw = 17,
    styleAttrTypeVmin = 18,
    styleAttrTypePercentage = 19,
    styleAttrTypeAngle = 20,
    styleAttrTypeDeg = 21,
    styleAttrTypeRad = 22,
    styleAttrTypeGrad = 23,
    styleAttrTypeTime = 24,
    styleAttrTypeS = 25,
    styleAttrTypeMs = 26,
    styleAttrType_Max = 0x7fffffff
} styleAttrType;
typedef enum _styleInitialColor {
    styleInitialColorNoInitial = 0,
    styleInitialColorColorProperty = 1,
    styleInitialColorTransparent = 2,
    styleInitialColorInvert = 3,
    styleInitialColor_Max = 0x7fffffff
} styleInitialColor;
typedef enum _styleInitialString {
    styleInitialStringNoInitial = 0,
    styleInitialStringNone = 1,
    styleInitialStringAuto = 2,
    styleInitialStringNormal = 3,
    styleInitialString_Max = 0x7fffffff
} styleInitialString;
typedef enum _styleTransformOriginX {
    styleTransformOriginXNotSet = 0,
    styleTransformOriginXLeft = 1,
    styleTransformOriginXCenter = 2,
    styleTransformOriginXRight = 3,
    styleTransformOriginX_Max = 0x7fffffff
} styleTransformOriginX;
typedef enum _styleTransformOriginY {
    styleTransformOriginYNotSet = 0,
    styleTransformOriginYTop = 1,
    styleTransformOriginYCenter = 2,
    styleTransformOriginYBottom = 3,
    styleTransformOriginY_Max = 0x7fffffff
} styleTransformOriginY;
typedef enum _stylePerspectiveOriginX {
    stylePerspectiveOriginXNotSet = 0,
    stylePerspectiveOriginXLeft = 1,
    stylePerspectiveOriginXCenter = 2,
    stylePerspectiveOriginXRight = 3,
    stylePerspectiveOriginX_Max = 0x7fffffff
} stylePerspectiveOriginX;
typedef enum _stylePerspectiveOriginY {
    stylePerspectiveOriginYNotSet = 0,
    stylePerspectiveOriginYTop = 1,
    stylePerspectiveOriginYCenter = 2,
    stylePerspectiveOriginYBottom = 3,
    stylePerspectiveOriginY_Max = 0x7fffffff
} stylePerspectiveOriginY;
typedef enum _styleTransformStyle {
    styleTransformStyleFlat = 0,
    styleTransformStyleNotSet = 1,
    styleTransformStyle_Max = 0x7fffffff
} styleTransformStyle;
typedef enum _styleBackfaceVisibility {
    styleBackfaceVisibilityVisible = 0,
    styleBackfaceVisibilityHidden = 1,
    styleBackfaceVisibilityNotSet = 2,
    styleBackfaceVisibility_Max = 0x7fffffff
} styleBackfaceVisibility;
typedef enum _styleTextSizeAdjust {
    styleTextSizeAdjustNone = 0,
    styleTextSizeAdjustAuto = 1,
    styleTextSizeAdjust_Max = 0x7fffffff
} styleTextSizeAdjust;
typedef enum _styleColorInterpolationFilters {
    styleColorInterpolationFiltersAuto = 0,
    styleColorInterpolationFiltersSRgb = 1,
    styleColorInterpolationFiltersLinearRgb = 2,
    styleColorInterpolationFiltersNotSet = 3,
    styleColorInterpolationFilters_Max = 0x7fffffff
} styleColorInterpolationFilters;
typedef enum _styleHyphens {
    styleHyphensNone = 0,
    styleHyphensManual = 1,
    styleHyphensAuto = 2,
    styleHyphensNotSet = 3,
    styleHyphens_Max = 0x7fffffff
} styleHyphens;
typedef enum _styleHyphenateLimitLines {
    styleHyphenateLimitLinesNoLimit = 0,
    styleHyphenateLimitLines_Max = 0x7fffffff
} styleHyphenateLimitLines;
typedef enum _styleMsAnimationPlayState {
    styleMsAnimationPlayStateRunning = 0,
    styleMsAnimationPlayStatePaused = 1,
    styleMsAnimationPlayStateNotSet = 2,
    styleMsAnimationPlayState_Max = 0x7fffffff
} styleMsAnimationPlayState;
typedef enum _styleMsAnimationDirection {
    styleMsAnimationDirectionNormal = 0,
    styleMsAnimationDirectionAlternate = 1,
    styleMsAnimationDirectionReverse = 2,
    styleMsAnimationDirectionAlternateReverse = 3,
    styleMsAnimationDirectionNotSet = 4,
    styleMsAnimationDirection_Max = 0x7fffffff
} styleMsAnimationDirection;
typedef enum _styleMsAnimationFillMode {
    styleMsAnimationFillModeNone = 0,
    styleMsAnimationFillModeForwards = 1,
    styleMsAnimationFillModeBackwards = 2,
    styleMsAnimationFillModeBoth = 3,
    styleMsAnimationFillModeNotSet = 4,
    styleMsAnimationFillMode_Max = 0x7fffffff
} styleMsAnimationFillMode;
typedef enum _styleMsHighContrastAdjust {
    styleMsHighContrastAdjustNotSet = 0,
    styleMsHighContrastAdjustAuto = 1,
    styleMsHighContrastAdjustNone = 2,
    styleMsHighContrastAdjust_Max = 0x7fffffff
} styleMsHighContrastAdjust;
typedef enum _styleMsUserSelect {
    styleMsUserSelectAuto = 0,
    styleMsUserSelectText = 1,
    styleMsUserSelectElement = 2,
    styleMsUserSelectNone = 3,
    styleMsUserSelectNotSet = 4,
    styleMsUserSelect_Max = 0x7fffffff
} styleMsUserSelect;
typedef enum _styleMsTouchAction {
    styleMsTouchActionNotSet = -1,
    styleMsTouchActionNone = 0,
    styleMsTouchActionAuto = 1,
    styleMsTouchActionManipulation = 2,
    styleMsTouchActionDoubleTapZoom = 4,
    styleMsTouchActionPanX = 8,
    styleMsTouchActionPanY = 16,
    styleMsTouchActionPinchZoom = 32,
    styleMsTouchAction_Max = 0x7fffffff
} styleMsTouchAction;
typedef enum _styleMsTouchSelect {
    styleMsTouchSelectGrippers = 0,
    styleMsTouchSelectNone = 1,
    styleMsTouchSelectNotSet = 2,
    styleMsTouchSelect_Max = 0x7fffffff
} styleMsTouchSelect;
typedef enum _styleMsScrollTranslation {
    styleMsScrollTranslationNotSet = 0,
    styleMsScrollTranslationNone = 1,
    styleMsScrollTranslationVtoH = 2,
    styleMsScrollTranslation_Max = 0x7fffffff
} styleMsScrollTranslation;
/*****************************************************************************
 * IHTMLDOMConstructor interface
 */
#ifndef __IHTMLDOMConstructor_INTERFACE_DEFINED__
#define __IHTMLDOMConstructor_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMConstructor, 0x3051049b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051049b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMConstructor : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_constructor(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE LookupGetter(
        BSTR propname,
        VARIANT *ppDispHandler) = 0;

    virtual HRESULT STDMETHODCALLTYPE LookupSetter(
        BSTR propname,
        VARIANT *ppDispHandler) = 0;

    virtual HRESULT STDMETHODCALLTYPE DefineGetter(
        BSTR propname,
        VARIANT *pdispHandler) = 0;

    virtual HRESULT STDMETHODCALLTYPE DefineSetter(
        BSTR propname,
        VARIANT *pdispHandler) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMConstructor, 0x3051049b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMConstructorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMConstructor *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMConstructor *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMConstructor *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMConstructor *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMConstructor methods ***/
    HRESULT (STDMETHODCALLTYPE *get_constructor)(
        IHTMLDOMConstructor *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *LookupGetter)(
        IHTMLDOMConstructor *This,
        BSTR propname,
        VARIANT *ppDispHandler);

    HRESULT (STDMETHODCALLTYPE *LookupSetter)(
        IHTMLDOMConstructor *This,
        BSTR propname,
        VARIANT *ppDispHandler);

    HRESULT (STDMETHODCALLTYPE *DefineGetter)(
        IHTMLDOMConstructor *This,
        BSTR propname,
        VARIANT *pdispHandler);

    HRESULT (STDMETHODCALLTYPE *DefineSetter)(
        IHTMLDOMConstructor *This,
        BSTR propname,
        VARIANT *pdispHandler);

    END_INTERFACE
} IHTMLDOMConstructorVtbl;

interface IHTMLDOMConstructor {
    CONST_VTBL IHTMLDOMConstructorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMConstructor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMConstructor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMConstructor_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMConstructor_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMConstructor_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMConstructor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMConstructor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMConstructor methods ***/
#define IHTMLDOMConstructor_get_constructor(This,p) (This)->lpVtbl->get_constructor(This,p)
#define IHTMLDOMConstructor_LookupGetter(This,propname,ppDispHandler) (This)->lpVtbl->LookupGetter(This,propname,ppDispHandler)
#define IHTMLDOMConstructor_LookupSetter(This,propname,ppDispHandler) (This)->lpVtbl->LookupSetter(This,propname,ppDispHandler)
#define IHTMLDOMConstructor_DefineGetter(This,propname,pdispHandler) (This)->lpVtbl->DefineGetter(This,propname,pdispHandler)
#define IHTMLDOMConstructor_DefineSetter(This,propname,pdispHandler) (This)->lpVtbl->DefineSetter(This,propname,pdispHandler)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMConstructor_QueryInterface(IHTMLDOMConstructor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMConstructor_AddRef(IHTMLDOMConstructor* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMConstructor_Release(IHTMLDOMConstructor* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMConstructor_GetTypeInfoCount(IHTMLDOMConstructor* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMConstructor_GetTypeInfo(IHTMLDOMConstructor* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMConstructor_GetIDsOfNames(IHTMLDOMConstructor* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMConstructor_Invoke(IHTMLDOMConstructor* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMConstructor methods ***/
static inline HRESULT IHTMLDOMConstructor_get_constructor(IHTMLDOMConstructor* This,IDispatch **p) {
    return This->lpVtbl->get_constructor(This,p);
}
static inline HRESULT IHTMLDOMConstructor_LookupGetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *ppDispHandler) {
    return This->lpVtbl->LookupGetter(This,propname,ppDispHandler);
}
static inline HRESULT IHTMLDOMConstructor_LookupSetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *ppDispHandler) {
    return This->lpVtbl->LookupSetter(This,propname,ppDispHandler);
}
static inline HRESULT IHTMLDOMConstructor_DefineGetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *pdispHandler) {
    return This->lpVtbl->DefineGetter(This,propname,pdispHandler);
}
static inline HRESULT IHTMLDOMConstructor_DefineSetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *pdispHandler) {
    return This->lpVtbl->DefineSetter(This,propname,pdispHandler);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMConstructor_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCSSStyleDeclaration interface
 */
#ifndef __IHTMLCSSStyleDeclaration_INTERFACE_DEFINED__
#define __IHTMLCSSStyleDeclaration_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCSSStyleDeclaration, 0x30510740, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510740-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCSSStyleDeclaration : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentRule(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPropertyValue(
        BSTR bstrPropertyName,
        BSTR *pbstrPropertyValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPropertyPriority(
        BSTR bstrPropertyName,
        BSTR *pbstrPropertyPriority) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeProperty(
        BSTR bstrPropertyName,
        BSTR *pbstrPropertyValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE setProperty(
        BSTR bstrPropertyName,
        VARIANT *pvarPropertyValue,
        VARIANT *pvarPropertyPriority = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        BSTR *pbstrPropertyName) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontFamily(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontFamily(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontVariant(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontVariant(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontWeight(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontWeight(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontSize(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontSize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_font(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_font(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_color(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_background(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_background(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundImage(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundRepeat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundRepeat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundAttachment(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundAttachment(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPositionX(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionX(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPositionY(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionY(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_letterSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_letterSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecoration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecoration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_verticalAlign(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_verticalAlign(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textTransform(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textTransform(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textIndent(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textIndent(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginRight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginBottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_margin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_margin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingRight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingBottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_padding(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_padding(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTop(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTop(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRight(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRight(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottom(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottom(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeft(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeft(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderWidth(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderWidth(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_styleFloat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleFloat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clear(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clear(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_display(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_display(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_visibility(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_visibility(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyleType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStylePosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStylePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyleImage(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_whiteSpace(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_whiteSpace(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_top(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_top(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_left(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_left(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_zIndex(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zIndex(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakBefore(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakBefore(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakAfter(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakAfter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cssText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cursor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cursor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clip(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clip(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_filter(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_filter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_tableLayout(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tableLayout(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderCollapse(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderCollapse(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_direction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_direction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_behavior(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behavior(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_position(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_unicodeBidi(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unicodeBidi(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_right(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_right(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_imeMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyPosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyPosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyOverhang(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyOverhang(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridChar(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridChar(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridLine(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridLine(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGrid(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGrid(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAutospace(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAutospace(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordBreak(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineBreak(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textJustify(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustify(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textJustifyTrim(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustifyTrim(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textKashida(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashida(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflowX(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowX(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflowY(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowY(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accelerator(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accelerator(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutFlow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutFlow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_zoom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zoom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordWrap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordWrap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textUnderlinePosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textUnderlinePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarBaseColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarFaceColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbar3dLightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarShadowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarHighlightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarDarkShadowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarArrowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarTrackColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_writingMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_writingMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAlignLast(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlignLast(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textKashidaSpace(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashidaSpace(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textOverflow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textOverflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_minHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msInterpolationMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msInterpolationMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_minWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_content(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_content(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_captionSide(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_captionSide(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_counterIncrement(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_counterIncrement(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_counterReset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_counterReset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outline(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outline(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_boxSizing(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boxSizing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderSpacing(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderSpacing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_orphans(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_orphans(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_widows(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_widows(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakInside(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakInside(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_emptyCells(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_emptyCells(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msBlockProgression(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msBlockProgression(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_quotes(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_quotes(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alignmentBaseline(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alignmentBaseline(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_baselineShift(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baselineShift(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dominantBaseline(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dominantBaseline(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontSizeAdjust(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontSizeAdjust(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontStretch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontStretch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_opacity(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_opacity(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clipPath(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipPath(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clipRule(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipRule(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fill(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fill(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fillOpacity(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fillOpacity(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fillRule(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fillRule(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_kerning(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_kerning(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marker(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marker(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_markerEnd(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_markerEnd(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_markerMid(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_markerMid(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_markerStart(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_markerStart(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_mask(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_mask(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pointerEvents(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pointerEvents(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_stopColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_stopColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_stopOpacity(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_stopOpacity(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_stroke(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_stroke(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeDasharray(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeDasharray(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeDashoffset(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeDashoffset(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeLinecap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeLinecap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeLinejoin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeLinejoin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeMiterlimit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeMiterlimit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeOpacity(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeOpacity(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAnchor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAnchor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_glyphOrientationHorizontal(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_glyphOrientationHorizontal(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_glyphOrientationVertical(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_glyphOrientationVertical(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRadius(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRadius(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopLeftRadius(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopLeftRadius(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopRightRadius(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopRightRadius(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomRightRadius(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomRightRadius(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomLeftRadius(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomLeftRadius(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clipTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clipRight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clipLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cssFloat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssFloat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundClip(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundClip(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundOrigin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundOrigin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundSize(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundSize(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_boxShadow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boxShadow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransform(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransform(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransformOrigin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransformOrigin(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCSSStyleDeclaration, 0x30510740, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCSSStyleDeclarationVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCSSStyleDeclaration *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCSSStyleDeclaration *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCSSStyleDeclaration *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCSSStyleDeclaration *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCSSStyleDeclaration methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLCSSStyleDeclaration *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_parentRule)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *getPropertyValue)(
        IHTMLCSSStyleDeclaration *This,
        BSTR bstrPropertyName,
        BSTR *pbstrPropertyValue);

    HRESULT (STDMETHODCALLTYPE *getPropertyPriority)(
        IHTMLCSSStyleDeclaration *This,
        BSTR bstrPropertyName,
        BSTR *pbstrPropertyPriority);

    HRESULT (STDMETHODCALLTYPE *removeProperty)(
        IHTMLCSSStyleDeclaration *This,
        BSTR bstrPropertyName,
        BSTR *pbstrPropertyValue);

    HRESULT (STDMETHODCALLTYPE *setProperty)(
        IHTMLCSSStyleDeclaration *This,
        BSTR bstrPropertyName,
        VARIANT *pvarPropertyValue,
        VARIANT *pvarPropertyPriority);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLCSSStyleDeclaration *This,
        LONG index,
        BSTR *pbstrPropertyName);

    HRESULT (STDMETHODCALLTYPE *put_fontFamily)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontFamily)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontVariant)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontVariant)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontWeight)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontWeight)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontSize)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_fontSize)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_font)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_font)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_color)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_background)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_background)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundImage)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundImage)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundRepeat)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundRepeat)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundAttachment)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundAttachment)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPositionX)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionX)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPositionY)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionY)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_wordSpacing)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_wordSpacing)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_letterSpacing)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_letterSpacing)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecoration)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textDecoration)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_verticalAlign)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_verticalAlign)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textTransform)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textTransform)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAlign)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAlign)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textIndent)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textIndent)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_lineHeight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_lineHeight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginTop)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginTop)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginRight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginRight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginBottom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginBottom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginLeft)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginLeft)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_margin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_margin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingTop)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingTop)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingRight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingRight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingBottom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingBottom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingLeft)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingLeft)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_padding)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_padding)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTop)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTop)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRight)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderRight)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottom)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottom)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeft)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeft)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderWidth)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderWidth)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_styleFloat)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_styleFloat)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clear)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clear)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_display)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_display)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_visibility)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_visibility)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyleType)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyleType)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStylePosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStylePosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyleImage)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyleImage)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_whiteSpace)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_whiteSpace)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_top)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_top)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_left)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_left)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_zIndex)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_zIndex)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_overflow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakBefore)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakBefore)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakAfter)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakAfter)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cssText)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cssText)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cursor)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cursor)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clip)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clip)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_filter)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_filter)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_tableLayout)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_tableLayout)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderCollapse)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderCollapse)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_direction)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_direction)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_behavior)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_behavior)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_position)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_unicodeBidi)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_unicodeBidi)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bottom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bottom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_right)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_right)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_imeMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_imeMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyAlign)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyAlign)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyPosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyPosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyOverhang)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyOverhang)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridChar)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridChar)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridLine)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridLine)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridType)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridType)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGrid)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGrid)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAutospace)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAutospace)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_wordBreak)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_wordBreak)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lineBreak)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lineBreak)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textJustify)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textJustify)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textJustifyTrim)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textJustifyTrim)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textKashida)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textKashida)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_overflowX)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflowX)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_overflowY)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflowY)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_accelerator)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accelerator)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutFlow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutFlow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_zoom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_zoom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_wordWrap)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_wordWrap)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textUnderlinePosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textUnderlinePosition)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarBaseColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarBaseColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarFaceColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarFaceColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbar3dLightColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbar3dLightColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarShadowColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarShadowColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarHighlightColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarHighlightColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarDarkShadowColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarDarkShadowColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarArrowColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarArrowColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarTrackColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarTrackColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_writingMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_writingMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAlignLast)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAlignLast)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textKashidaSpace)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textKashidaSpace)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textOverflow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textOverflow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_minHeight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_minHeight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msInterpolationMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msInterpolationMode)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_maxHeight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_maxHeight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_minWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_minWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_maxWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_maxWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_content)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_content)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_captionSide)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_captionSide)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_counterIncrement)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_counterIncrement)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_counterReset)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_counterReset)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outline)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outline)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_outlineWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outlineStyle)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_outlineColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_boxSizing)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_boxSizing)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderSpacing)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderSpacing)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_orphans)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_orphans)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_widows)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_widows)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakInside)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakInside)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_emptyCells)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_emptyCells)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msBlockProgression)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msBlockProgression)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_quotes)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_quotes)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_alignmentBaseline)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_alignmentBaseline)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_baselineShift)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_baselineShift)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_dominantBaseline)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dominantBaseline)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontSizeAdjust)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_fontSizeAdjust)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_fontStretch)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontStretch)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_opacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_opacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_clipPath)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clipPath)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clipRule)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clipRule)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fill)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fill)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fillOpacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_fillOpacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_fillRule)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fillRule)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_kerning)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_kerning)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marker)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_marker)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_markerEnd)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_markerEnd)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_markerMid)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_markerMid)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_markerStart)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_markerStart)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_mask)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_mask)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pointerEvents)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pointerEvents)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_stopColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_stopColor)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_stopOpacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_stopOpacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_stroke)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_stroke)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeDasharray)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_strokeDasharray)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeDashoffset)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_strokeDashoffset)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeLinecap)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_strokeLinecap)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeLinejoin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_strokeLinejoin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeMiterlimit)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_strokeMiterlimit)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeOpacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_strokeOpacity)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_strokeWidth)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textAnchor)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAnchor)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_glyphOrientationHorizontal)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_glyphOrientationHorizontal)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_glyphOrientationVertical)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_glyphOrientationVertical)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopLeftRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopLeftRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopRightRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopRightRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomRightRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomRightRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomLeftRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomLeftRadius)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clipTop)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_clipTop)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_clipRight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_clipRight)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_clipBottom)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_clipLeft)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_clipLeft)(
        IHTMLCSSStyleDeclaration *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_cssFloat)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cssFloat)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundClip)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundClip)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundOrigin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundOrigin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundSize)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundSize)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_boxShadow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_boxShadow)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransform)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransform)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransformOrigin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransformOrigin)(
        IHTMLCSSStyleDeclaration *This,
        BSTR *p);

    END_INTERFACE
} IHTMLCSSStyleDeclarationVtbl;

interface IHTMLCSSStyleDeclaration {
    CONST_VTBL IHTMLCSSStyleDeclarationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCSSStyleDeclaration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCSSStyleDeclaration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCSSStyleDeclaration_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCSSStyleDeclaration_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCSSStyleDeclaration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCSSStyleDeclaration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCSSStyleDeclaration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCSSStyleDeclaration methods ***/
#define IHTMLCSSStyleDeclaration_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLCSSStyleDeclaration_get_parentRule(This,p) (This)->lpVtbl->get_parentRule(This,p)
#define IHTMLCSSStyleDeclaration_getPropertyValue(This,bstrPropertyName,pbstrPropertyValue) (This)->lpVtbl->getPropertyValue(This,bstrPropertyName,pbstrPropertyValue)
#define IHTMLCSSStyleDeclaration_getPropertyPriority(This,bstrPropertyName,pbstrPropertyPriority) (This)->lpVtbl->getPropertyPriority(This,bstrPropertyName,pbstrPropertyPriority)
#define IHTMLCSSStyleDeclaration_removeProperty(This,bstrPropertyName,pbstrPropertyValue) (This)->lpVtbl->removeProperty(This,bstrPropertyName,pbstrPropertyValue)
#define IHTMLCSSStyleDeclaration_setProperty(This,bstrPropertyName,pvarPropertyValue,pvarPropertyPriority) (This)->lpVtbl->setProperty(This,bstrPropertyName,pvarPropertyValue,pvarPropertyPriority)
#define IHTMLCSSStyleDeclaration_item(This,index,pbstrPropertyName) (This)->lpVtbl->item(This,index,pbstrPropertyName)
#define IHTMLCSSStyleDeclaration_put_fontFamily(This,v) (This)->lpVtbl->put_fontFamily(This,v)
#define IHTMLCSSStyleDeclaration_get_fontFamily(This,p) (This)->lpVtbl->get_fontFamily(This,p)
#define IHTMLCSSStyleDeclaration_put_fontStyle(This,v) (This)->lpVtbl->put_fontStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_fontStyle(This,p) (This)->lpVtbl->get_fontStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_fontVariant(This,v) (This)->lpVtbl->put_fontVariant(This,v)
#define IHTMLCSSStyleDeclaration_get_fontVariant(This,p) (This)->lpVtbl->get_fontVariant(This,p)
#define IHTMLCSSStyleDeclaration_put_fontWeight(This,v) (This)->lpVtbl->put_fontWeight(This,v)
#define IHTMLCSSStyleDeclaration_get_fontWeight(This,p) (This)->lpVtbl->get_fontWeight(This,p)
#define IHTMLCSSStyleDeclaration_put_fontSize(This,v) (This)->lpVtbl->put_fontSize(This,v)
#define IHTMLCSSStyleDeclaration_get_fontSize(This,p) (This)->lpVtbl->get_fontSize(This,p)
#define IHTMLCSSStyleDeclaration_put_font(This,v) (This)->lpVtbl->put_font(This,v)
#define IHTMLCSSStyleDeclaration_get_font(This,p) (This)->lpVtbl->get_font(This,p)
#define IHTMLCSSStyleDeclaration_put_color(This,v) (This)->lpVtbl->put_color(This,v)
#define IHTMLCSSStyleDeclaration_get_color(This,p) (This)->lpVtbl->get_color(This,p)
#define IHTMLCSSStyleDeclaration_put_background(This,v) (This)->lpVtbl->put_background(This,v)
#define IHTMLCSSStyleDeclaration_get_background(This,p) (This)->lpVtbl->get_background(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundColor(This,v) (This)->lpVtbl->put_backgroundColor(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundColor(This,p) (This)->lpVtbl->get_backgroundColor(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundImage(This,v) (This)->lpVtbl->put_backgroundImage(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundImage(This,p) (This)->lpVtbl->get_backgroundImage(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundRepeat(This,v) (This)->lpVtbl->put_backgroundRepeat(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundRepeat(This,p) (This)->lpVtbl->get_backgroundRepeat(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundAttachment(This,v) (This)->lpVtbl->put_backgroundAttachment(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundAttachment(This,p) (This)->lpVtbl->get_backgroundAttachment(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundPosition(This,v) (This)->lpVtbl->put_backgroundPosition(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundPosition(This,p) (This)->lpVtbl->get_backgroundPosition(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundPositionX(This,v) (This)->lpVtbl->put_backgroundPositionX(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundPositionX(This,p) (This)->lpVtbl->get_backgroundPositionX(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundPositionY(This,v) (This)->lpVtbl->put_backgroundPositionY(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundPositionY(This,p) (This)->lpVtbl->get_backgroundPositionY(This,p)
#define IHTMLCSSStyleDeclaration_put_wordSpacing(This,v) (This)->lpVtbl->put_wordSpacing(This,v)
#define IHTMLCSSStyleDeclaration_get_wordSpacing(This,p) (This)->lpVtbl->get_wordSpacing(This,p)
#define IHTMLCSSStyleDeclaration_put_letterSpacing(This,v) (This)->lpVtbl->put_letterSpacing(This,v)
#define IHTMLCSSStyleDeclaration_get_letterSpacing(This,p) (This)->lpVtbl->get_letterSpacing(This,p)
#define IHTMLCSSStyleDeclaration_put_textDecoration(This,v) (This)->lpVtbl->put_textDecoration(This,v)
#define IHTMLCSSStyleDeclaration_get_textDecoration(This,p) (This)->lpVtbl->get_textDecoration(This,p)
#define IHTMLCSSStyleDeclaration_put_verticalAlign(This,v) (This)->lpVtbl->put_verticalAlign(This,v)
#define IHTMLCSSStyleDeclaration_get_verticalAlign(This,p) (This)->lpVtbl->get_verticalAlign(This,p)
#define IHTMLCSSStyleDeclaration_put_textTransform(This,v) (This)->lpVtbl->put_textTransform(This,v)
#define IHTMLCSSStyleDeclaration_get_textTransform(This,p) (This)->lpVtbl->get_textTransform(This,p)
#define IHTMLCSSStyleDeclaration_put_textAlign(This,v) (This)->lpVtbl->put_textAlign(This,v)
#define IHTMLCSSStyleDeclaration_get_textAlign(This,p) (This)->lpVtbl->get_textAlign(This,p)
#define IHTMLCSSStyleDeclaration_put_textIndent(This,v) (This)->lpVtbl->put_textIndent(This,v)
#define IHTMLCSSStyleDeclaration_get_textIndent(This,p) (This)->lpVtbl->get_textIndent(This,p)
#define IHTMLCSSStyleDeclaration_put_lineHeight(This,v) (This)->lpVtbl->put_lineHeight(This,v)
#define IHTMLCSSStyleDeclaration_get_lineHeight(This,p) (This)->lpVtbl->get_lineHeight(This,p)
#define IHTMLCSSStyleDeclaration_put_marginTop(This,v) (This)->lpVtbl->put_marginTop(This,v)
#define IHTMLCSSStyleDeclaration_get_marginTop(This,p) (This)->lpVtbl->get_marginTop(This,p)
#define IHTMLCSSStyleDeclaration_put_marginRight(This,v) (This)->lpVtbl->put_marginRight(This,v)
#define IHTMLCSSStyleDeclaration_get_marginRight(This,p) (This)->lpVtbl->get_marginRight(This,p)
#define IHTMLCSSStyleDeclaration_put_marginBottom(This,v) (This)->lpVtbl->put_marginBottom(This,v)
#define IHTMLCSSStyleDeclaration_get_marginBottom(This,p) (This)->lpVtbl->get_marginBottom(This,p)
#define IHTMLCSSStyleDeclaration_put_marginLeft(This,v) (This)->lpVtbl->put_marginLeft(This,v)
#define IHTMLCSSStyleDeclaration_get_marginLeft(This,p) (This)->lpVtbl->get_marginLeft(This,p)
#define IHTMLCSSStyleDeclaration_put_margin(This,v) (This)->lpVtbl->put_margin(This,v)
#define IHTMLCSSStyleDeclaration_get_margin(This,p) (This)->lpVtbl->get_margin(This,p)
#define IHTMLCSSStyleDeclaration_put_paddingTop(This,v) (This)->lpVtbl->put_paddingTop(This,v)
#define IHTMLCSSStyleDeclaration_get_paddingTop(This,p) (This)->lpVtbl->get_paddingTop(This,p)
#define IHTMLCSSStyleDeclaration_put_paddingRight(This,v) (This)->lpVtbl->put_paddingRight(This,v)
#define IHTMLCSSStyleDeclaration_get_paddingRight(This,p) (This)->lpVtbl->get_paddingRight(This,p)
#define IHTMLCSSStyleDeclaration_put_paddingBottom(This,v) (This)->lpVtbl->put_paddingBottom(This,v)
#define IHTMLCSSStyleDeclaration_get_paddingBottom(This,p) (This)->lpVtbl->get_paddingBottom(This,p)
#define IHTMLCSSStyleDeclaration_put_paddingLeft(This,v) (This)->lpVtbl->put_paddingLeft(This,v)
#define IHTMLCSSStyleDeclaration_get_paddingLeft(This,p) (This)->lpVtbl->get_paddingLeft(This,p)
#define IHTMLCSSStyleDeclaration_put_padding(This,v) (This)->lpVtbl->put_padding(This,v)
#define IHTMLCSSStyleDeclaration_get_padding(This,p) (This)->lpVtbl->get_padding(This,p)
#define IHTMLCSSStyleDeclaration_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLCSSStyleDeclaration_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLCSSStyleDeclaration_put_borderTop(This,v) (This)->lpVtbl->put_borderTop(This,v)
#define IHTMLCSSStyleDeclaration_get_borderTop(This,p) (This)->lpVtbl->get_borderTop(This,p)
#define IHTMLCSSStyleDeclaration_put_borderRight(This,v) (This)->lpVtbl->put_borderRight(This,v)
#define IHTMLCSSStyleDeclaration_get_borderRight(This,p) (This)->lpVtbl->get_borderRight(This,p)
#define IHTMLCSSStyleDeclaration_put_borderBottom(This,v) (This)->lpVtbl->put_borderBottom(This,v)
#define IHTMLCSSStyleDeclaration_get_borderBottom(This,p) (This)->lpVtbl->get_borderBottom(This,p)
#define IHTMLCSSStyleDeclaration_put_borderLeft(This,v) (This)->lpVtbl->put_borderLeft(This,v)
#define IHTMLCSSStyleDeclaration_get_borderLeft(This,p) (This)->lpVtbl->get_borderLeft(This,p)
#define IHTMLCSSStyleDeclaration_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLCSSStyleDeclaration_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLCSSStyleDeclaration_put_borderTopColor(This,v) (This)->lpVtbl->put_borderTopColor(This,v)
#define IHTMLCSSStyleDeclaration_get_borderTopColor(This,p) (This)->lpVtbl->get_borderTopColor(This,p)
#define IHTMLCSSStyleDeclaration_put_borderRightColor(This,v) (This)->lpVtbl->put_borderRightColor(This,v)
#define IHTMLCSSStyleDeclaration_get_borderRightColor(This,p) (This)->lpVtbl->get_borderRightColor(This,p)
#define IHTMLCSSStyleDeclaration_put_borderBottomColor(This,v) (This)->lpVtbl->put_borderBottomColor(This,v)
#define IHTMLCSSStyleDeclaration_get_borderBottomColor(This,p) (This)->lpVtbl->get_borderBottomColor(This,p)
#define IHTMLCSSStyleDeclaration_put_borderLeftColor(This,v) (This)->lpVtbl->put_borderLeftColor(This,v)
#define IHTMLCSSStyleDeclaration_get_borderLeftColor(This,p) (This)->lpVtbl->get_borderLeftColor(This,p)
#define IHTMLCSSStyleDeclaration_put_borderWidth(This,v) (This)->lpVtbl->put_borderWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_borderWidth(This,p) (This)->lpVtbl->get_borderWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_borderTopWidth(This,v) (This)->lpVtbl->put_borderTopWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_borderTopWidth(This,p) (This)->lpVtbl->get_borderTopWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_borderRightWidth(This,v) (This)->lpVtbl->put_borderRightWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_borderRightWidth(This,p) (This)->lpVtbl->get_borderRightWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_borderBottomWidth(This,v) (This)->lpVtbl->put_borderBottomWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_borderBottomWidth(This,p) (This)->lpVtbl->get_borderBottomWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_borderLeftWidth(This,v) (This)->lpVtbl->put_borderLeftWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_borderLeftWidth(This,p) (This)->lpVtbl->get_borderLeftWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_borderStyle(This,v) (This)->lpVtbl->put_borderStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_borderStyle(This,p) (This)->lpVtbl->get_borderStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_borderTopStyle(This,v) (This)->lpVtbl->put_borderTopStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_borderTopStyle(This,p) (This)->lpVtbl->get_borderTopStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_borderRightStyle(This,v) (This)->lpVtbl->put_borderRightStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_borderRightStyle(This,p) (This)->lpVtbl->get_borderRightStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_borderBottomStyle(This,v) (This)->lpVtbl->put_borderBottomStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_borderBottomStyle(This,p) (This)->lpVtbl->get_borderBottomStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_borderLeftStyle(This,v) (This)->lpVtbl->put_borderLeftStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_borderLeftStyle(This,p) (This)->lpVtbl->get_borderLeftStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLCSSStyleDeclaration_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLCSSStyleDeclaration_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLCSSStyleDeclaration_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLCSSStyleDeclaration_put_styleFloat(This,v) (This)->lpVtbl->put_styleFloat(This,v)
#define IHTMLCSSStyleDeclaration_get_styleFloat(This,p) (This)->lpVtbl->get_styleFloat(This,p)
#define IHTMLCSSStyleDeclaration_put_clear(This,v) (This)->lpVtbl->put_clear(This,v)
#define IHTMLCSSStyleDeclaration_get_clear(This,p) (This)->lpVtbl->get_clear(This,p)
#define IHTMLCSSStyleDeclaration_put_display(This,v) (This)->lpVtbl->put_display(This,v)
#define IHTMLCSSStyleDeclaration_get_display(This,p) (This)->lpVtbl->get_display(This,p)
#define IHTMLCSSStyleDeclaration_put_visibility(This,v) (This)->lpVtbl->put_visibility(This,v)
#define IHTMLCSSStyleDeclaration_get_visibility(This,p) (This)->lpVtbl->get_visibility(This,p)
#define IHTMLCSSStyleDeclaration_put_listStyleType(This,v) (This)->lpVtbl->put_listStyleType(This,v)
#define IHTMLCSSStyleDeclaration_get_listStyleType(This,p) (This)->lpVtbl->get_listStyleType(This,p)
#define IHTMLCSSStyleDeclaration_put_listStylePosition(This,v) (This)->lpVtbl->put_listStylePosition(This,v)
#define IHTMLCSSStyleDeclaration_get_listStylePosition(This,p) (This)->lpVtbl->get_listStylePosition(This,p)
#define IHTMLCSSStyleDeclaration_put_listStyleImage(This,v) (This)->lpVtbl->put_listStyleImage(This,v)
#define IHTMLCSSStyleDeclaration_get_listStyleImage(This,p) (This)->lpVtbl->get_listStyleImage(This,p)
#define IHTMLCSSStyleDeclaration_put_listStyle(This,v) (This)->lpVtbl->put_listStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_listStyle(This,p) (This)->lpVtbl->get_listStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_whiteSpace(This,v) (This)->lpVtbl->put_whiteSpace(This,v)
#define IHTMLCSSStyleDeclaration_get_whiteSpace(This,p) (This)->lpVtbl->get_whiteSpace(This,p)
#define IHTMLCSSStyleDeclaration_put_top(This,v) (This)->lpVtbl->put_top(This,v)
#define IHTMLCSSStyleDeclaration_get_top(This,p) (This)->lpVtbl->get_top(This,p)
#define IHTMLCSSStyleDeclaration_put_left(This,v) (This)->lpVtbl->put_left(This,v)
#define IHTMLCSSStyleDeclaration_get_left(This,p) (This)->lpVtbl->get_left(This,p)
#define IHTMLCSSStyleDeclaration_put_zIndex(This,v) (This)->lpVtbl->put_zIndex(This,v)
#define IHTMLCSSStyleDeclaration_get_zIndex(This,p) (This)->lpVtbl->get_zIndex(This,p)
#define IHTMLCSSStyleDeclaration_put_overflow(This,v) (This)->lpVtbl->put_overflow(This,v)
#define IHTMLCSSStyleDeclaration_get_overflow(This,p) (This)->lpVtbl->get_overflow(This,p)
#define IHTMLCSSStyleDeclaration_put_pageBreakBefore(This,v) (This)->lpVtbl->put_pageBreakBefore(This,v)
#define IHTMLCSSStyleDeclaration_get_pageBreakBefore(This,p) (This)->lpVtbl->get_pageBreakBefore(This,p)
#define IHTMLCSSStyleDeclaration_put_pageBreakAfter(This,v) (This)->lpVtbl->put_pageBreakAfter(This,v)
#define IHTMLCSSStyleDeclaration_get_pageBreakAfter(This,p) (This)->lpVtbl->get_pageBreakAfter(This,p)
#define IHTMLCSSStyleDeclaration_put_cssText(This,v) (This)->lpVtbl->put_cssText(This,v)
#define IHTMLCSSStyleDeclaration_get_cssText(This,p) (This)->lpVtbl->get_cssText(This,p)
#define IHTMLCSSStyleDeclaration_put_cursor(This,v) (This)->lpVtbl->put_cursor(This,v)
#define IHTMLCSSStyleDeclaration_get_cursor(This,p) (This)->lpVtbl->get_cursor(This,p)
#define IHTMLCSSStyleDeclaration_put_clip(This,v) (This)->lpVtbl->put_clip(This,v)
#define IHTMLCSSStyleDeclaration_get_clip(This,p) (This)->lpVtbl->get_clip(This,p)
#define IHTMLCSSStyleDeclaration_put_filter(This,v) (This)->lpVtbl->put_filter(This,v)
#define IHTMLCSSStyleDeclaration_get_filter(This,p) (This)->lpVtbl->get_filter(This,p)
#define IHTMLCSSStyleDeclaration_put_tableLayout(This,v) (This)->lpVtbl->put_tableLayout(This,v)
#define IHTMLCSSStyleDeclaration_get_tableLayout(This,p) (This)->lpVtbl->get_tableLayout(This,p)
#define IHTMLCSSStyleDeclaration_put_borderCollapse(This,v) (This)->lpVtbl->put_borderCollapse(This,v)
#define IHTMLCSSStyleDeclaration_get_borderCollapse(This,p) (This)->lpVtbl->get_borderCollapse(This,p)
#define IHTMLCSSStyleDeclaration_put_direction(This,v) (This)->lpVtbl->put_direction(This,v)
#define IHTMLCSSStyleDeclaration_get_direction(This,p) (This)->lpVtbl->get_direction(This,p)
#define IHTMLCSSStyleDeclaration_put_behavior(This,v) (This)->lpVtbl->put_behavior(This,v)
#define IHTMLCSSStyleDeclaration_get_behavior(This,p) (This)->lpVtbl->get_behavior(This,p)
#define IHTMLCSSStyleDeclaration_put_position(This,v) (This)->lpVtbl->put_position(This,v)
#define IHTMLCSSStyleDeclaration_get_position(This,p) (This)->lpVtbl->get_position(This,p)
#define IHTMLCSSStyleDeclaration_put_unicodeBidi(This,v) (This)->lpVtbl->put_unicodeBidi(This,v)
#define IHTMLCSSStyleDeclaration_get_unicodeBidi(This,p) (This)->lpVtbl->get_unicodeBidi(This,p)
#define IHTMLCSSStyleDeclaration_put_bottom(This,v) (This)->lpVtbl->put_bottom(This,v)
#define IHTMLCSSStyleDeclaration_get_bottom(This,p) (This)->lpVtbl->get_bottom(This,p)
#define IHTMLCSSStyleDeclaration_put_right(This,v) (This)->lpVtbl->put_right(This,v)
#define IHTMLCSSStyleDeclaration_get_right(This,p) (This)->lpVtbl->get_right(This,p)
#define IHTMLCSSStyleDeclaration_put_imeMode(This,v) (This)->lpVtbl->put_imeMode(This,v)
#define IHTMLCSSStyleDeclaration_get_imeMode(This,p) (This)->lpVtbl->get_imeMode(This,p)
#define IHTMLCSSStyleDeclaration_put_rubyAlign(This,v) (This)->lpVtbl->put_rubyAlign(This,v)
#define IHTMLCSSStyleDeclaration_get_rubyAlign(This,p) (This)->lpVtbl->get_rubyAlign(This,p)
#define IHTMLCSSStyleDeclaration_put_rubyPosition(This,v) (This)->lpVtbl->put_rubyPosition(This,v)
#define IHTMLCSSStyleDeclaration_get_rubyPosition(This,p) (This)->lpVtbl->get_rubyPosition(This,p)
#define IHTMLCSSStyleDeclaration_put_rubyOverhang(This,v) (This)->lpVtbl->put_rubyOverhang(This,v)
#define IHTMLCSSStyleDeclaration_get_rubyOverhang(This,p) (This)->lpVtbl->get_rubyOverhang(This,p)
#define IHTMLCSSStyleDeclaration_put_layoutGridChar(This,v) (This)->lpVtbl->put_layoutGridChar(This,v)
#define IHTMLCSSStyleDeclaration_get_layoutGridChar(This,p) (This)->lpVtbl->get_layoutGridChar(This,p)
#define IHTMLCSSStyleDeclaration_put_layoutGridLine(This,v) (This)->lpVtbl->put_layoutGridLine(This,v)
#define IHTMLCSSStyleDeclaration_get_layoutGridLine(This,p) (This)->lpVtbl->get_layoutGridLine(This,p)
#define IHTMLCSSStyleDeclaration_put_layoutGridMode(This,v) (This)->lpVtbl->put_layoutGridMode(This,v)
#define IHTMLCSSStyleDeclaration_get_layoutGridMode(This,p) (This)->lpVtbl->get_layoutGridMode(This,p)
#define IHTMLCSSStyleDeclaration_put_layoutGridType(This,v) (This)->lpVtbl->put_layoutGridType(This,v)
#define IHTMLCSSStyleDeclaration_get_layoutGridType(This,p) (This)->lpVtbl->get_layoutGridType(This,p)
#define IHTMLCSSStyleDeclaration_put_layoutGrid(This,v) (This)->lpVtbl->put_layoutGrid(This,v)
#define IHTMLCSSStyleDeclaration_get_layoutGrid(This,p) (This)->lpVtbl->get_layoutGrid(This,p)
#define IHTMLCSSStyleDeclaration_put_textAutospace(This,v) (This)->lpVtbl->put_textAutospace(This,v)
#define IHTMLCSSStyleDeclaration_get_textAutospace(This,p) (This)->lpVtbl->get_textAutospace(This,p)
#define IHTMLCSSStyleDeclaration_put_wordBreak(This,v) (This)->lpVtbl->put_wordBreak(This,v)
#define IHTMLCSSStyleDeclaration_get_wordBreak(This,p) (This)->lpVtbl->get_wordBreak(This,p)
#define IHTMLCSSStyleDeclaration_put_lineBreak(This,v) (This)->lpVtbl->put_lineBreak(This,v)
#define IHTMLCSSStyleDeclaration_get_lineBreak(This,p) (This)->lpVtbl->get_lineBreak(This,p)
#define IHTMLCSSStyleDeclaration_put_textJustify(This,v) (This)->lpVtbl->put_textJustify(This,v)
#define IHTMLCSSStyleDeclaration_get_textJustify(This,p) (This)->lpVtbl->get_textJustify(This,p)
#define IHTMLCSSStyleDeclaration_put_textJustifyTrim(This,v) (This)->lpVtbl->put_textJustifyTrim(This,v)
#define IHTMLCSSStyleDeclaration_get_textJustifyTrim(This,p) (This)->lpVtbl->get_textJustifyTrim(This,p)
#define IHTMLCSSStyleDeclaration_put_textKashida(This,v) (This)->lpVtbl->put_textKashida(This,v)
#define IHTMLCSSStyleDeclaration_get_textKashida(This,p) (This)->lpVtbl->get_textKashida(This,p)
#define IHTMLCSSStyleDeclaration_put_overflowX(This,v) (This)->lpVtbl->put_overflowX(This,v)
#define IHTMLCSSStyleDeclaration_get_overflowX(This,p) (This)->lpVtbl->get_overflowX(This,p)
#define IHTMLCSSStyleDeclaration_put_overflowY(This,v) (This)->lpVtbl->put_overflowY(This,v)
#define IHTMLCSSStyleDeclaration_get_overflowY(This,p) (This)->lpVtbl->get_overflowY(This,p)
#define IHTMLCSSStyleDeclaration_put_accelerator(This,v) (This)->lpVtbl->put_accelerator(This,v)
#define IHTMLCSSStyleDeclaration_get_accelerator(This,p) (This)->lpVtbl->get_accelerator(This,p)
#define IHTMLCSSStyleDeclaration_put_layoutFlow(This,v) (This)->lpVtbl->put_layoutFlow(This,v)
#define IHTMLCSSStyleDeclaration_get_layoutFlow(This,p) (This)->lpVtbl->get_layoutFlow(This,p)
#define IHTMLCSSStyleDeclaration_put_zoom(This,v) (This)->lpVtbl->put_zoom(This,v)
#define IHTMLCSSStyleDeclaration_get_zoom(This,p) (This)->lpVtbl->get_zoom(This,p)
#define IHTMLCSSStyleDeclaration_put_wordWrap(This,v) (This)->lpVtbl->put_wordWrap(This,v)
#define IHTMLCSSStyleDeclaration_get_wordWrap(This,p) (This)->lpVtbl->get_wordWrap(This,p)
#define IHTMLCSSStyleDeclaration_put_textUnderlinePosition(This,v) (This)->lpVtbl->put_textUnderlinePosition(This,v)
#define IHTMLCSSStyleDeclaration_get_textUnderlinePosition(This,p) (This)->lpVtbl->get_textUnderlinePosition(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbarBaseColor(This,v) (This)->lpVtbl->put_scrollbarBaseColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbarBaseColor(This,p) (This)->lpVtbl->get_scrollbarBaseColor(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbarFaceColor(This,v) (This)->lpVtbl->put_scrollbarFaceColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbarFaceColor(This,p) (This)->lpVtbl->get_scrollbarFaceColor(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbar3dLightColor(This,v) (This)->lpVtbl->put_scrollbar3dLightColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbar3dLightColor(This,p) (This)->lpVtbl->get_scrollbar3dLightColor(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbarShadowColor(This,v) (This)->lpVtbl->put_scrollbarShadowColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbarShadowColor(This,p) (This)->lpVtbl->get_scrollbarShadowColor(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbarHighlightColor(This,v) (This)->lpVtbl->put_scrollbarHighlightColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbarHighlightColor(This,p) (This)->lpVtbl->get_scrollbarHighlightColor(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbarDarkShadowColor(This,v) (This)->lpVtbl->put_scrollbarDarkShadowColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbarDarkShadowColor(This,p) (This)->lpVtbl->get_scrollbarDarkShadowColor(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbarArrowColor(This,v) (This)->lpVtbl->put_scrollbarArrowColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbarArrowColor(This,p) (This)->lpVtbl->get_scrollbarArrowColor(This,p)
#define IHTMLCSSStyleDeclaration_put_scrollbarTrackColor(This,v) (This)->lpVtbl->put_scrollbarTrackColor(This,v)
#define IHTMLCSSStyleDeclaration_get_scrollbarTrackColor(This,p) (This)->lpVtbl->get_scrollbarTrackColor(This,p)
#define IHTMLCSSStyleDeclaration_put_writingMode(This,v) (This)->lpVtbl->put_writingMode(This,v)
#define IHTMLCSSStyleDeclaration_get_writingMode(This,p) (This)->lpVtbl->get_writingMode(This,p)
#define IHTMLCSSStyleDeclaration_put_textAlignLast(This,v) (This)->lpVtbl->put_textAlignLast(This,v)
#define IHTMLCSSStyleDeclaration_get_textAlignLast(This,p) (This)->lpVtbl->get_textAlignLast(This,p)
#define IHTMLCSSStyleDeclaration_put_textKashidaSpace(This,v) (This)->lpVtbl->put_textKashidaSpace(This,v)
#define IHTMLCSSStyleDeclaration_get_textKashidaSpace(This,p) (This)->lpVtbl->get_textKashidaSpace(This,p)
#define IHTMLCSSStyleDeclaration_put_textOverflow(This,v) (This)->lpVtbl->put_textOverflow(This,v)
#define IHTMLCSSStyleDeclaration_get_textOverflow(This,p) (This)->lpVtbl->get_textOverflow(This,p)
#define IHTMLCSSStyleDeclaration_put_minHeight(This,v) (This)->lpVtbl->put_minHeight(This,v)
#define IHTMLCSSStyleDeclaration_get_minHeight(This,p) (This)->lpVtbl->get_minHeight(This,p)
#define IHTMLCSSStyleDeclaration_put_msInterpolationMode(This,v) (This)->lpVtbl->put_msInterpolationMode(This,v)
#define IHTMLCSSStyleDeclaration_get_msInterpolationMode(This,p) (This)->lpVtbl->get_msInterpolationMode(This,p)
#define IHTMLCSSStyleDeclaration_put_maxHeight(This,v) (This)->lpVtbl->put_maxHeight(This,v)
#define IHTMLCSSStyleDeclaration_get_maxHeight(This,p) (This)->lpVtbl->get_maxHeight(This,p)
#define IHTMLCSSStyleDeclaration_put_minWidth(This,v) (This)->lpVtbl->put_minWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_minWidth(This,p) (This)->lpVtbl->get_minWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_maxWidth(This,v) (This)->lpVtbl->put_maxWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_maxWidth(This,p) (This)->lpVtbl->get_maxWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_content(This,v) (This)->lpVtbl->put_content(This,v)
#define IHTMLCSSStyleDeclaration_get_content(This,p) (This)->lpVtbl->get_content(This,p)
#define IHTMLCSSStyleDeclaration_put_captionSide(This,v) (This)->lpVtbl->put_captionSide(This,v)
#define IHTMLCSSStyleDeclaration_get_captionSide(This,p) (This)->lpVtbl->get_captionSide(This,p)
#define IHTMLCSSStyleDeclaration_put_counterIncrement(This,v) (This)->lpVtbl->put_counterIncrement(This,v)
#define IHTMLCSSStyleDeclaration_get_counterIncrement(This,p) (This)->lpVtbl->get_counterIncrement(This,p)
#define IHTMLCSSStyleDeclaration_put_counterReset(This,v) (This)->lpVtbl->put_counterReset(This,v)
#define IHTMLCSSStyleDeclaration_get_counterReset(This,p) (This)->lpVtbl->get_counterReset(This,p)
#define IHTMLCSSStyleDeclaration_put_outline(This,v) (This)->lpVtbl->put_outline(This,v)
#define IHTMLCSSStyleDeclaration_get_outline(This,p) (This)->lpVtbl->get_outline(This,p)
#define IHTMLCSSStyleDeclaration_put_outlineWidth(This,v) (This)->lpVtbl->put_outlineWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_outlineWidth(This,p) (This)->lpVtbl->get_outlineWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_outlineStyle(This,v) (This)->lpVtbl->put_outlineStyle(This,v)
#define IHTMLCSSStyleDeclaration_get_outlineStyle(This,p) (This)->lpVtbl->get_outlineStyle(This,p)
#define IHTMLCSSStyleDeclaration_put_outlineColor(This,v) (This)->lpVtbl->put_outlineColor(This,v)
#define IHTMLCSSStyleDeclaration_get_outlineColor(This,p) (This)->lpVtbl->get_outlineColor(This,p)
#define IHTMLCSSStyleDeclaration_put_boxSizing(This,v) (This)->lpVtbl->put_boxSizing(This,v)
#define IHTMLCSSStyleDeclaration_get_boxSizing(This,p) (This)->lpVtbl->get_boxSizing(This,p)
#define IHTMLCSSStyleDeclaration_put_borderSpacing(This,v) (This)->lpVtbl->put_borderSpacing(This,v)
#define IHTMLCSSStyleDeclaration_get_borderSpacing(This,p) (This)->lpVtbl->get_borderSpacing(This,p)
#define IHTMLCSSStyleDeclaration_put_orphans(This,v) (This)->lpVtbl->put_orphans(This,v)
#define IHTMLCSSStyleDeclaration_get_orphans(This,p) (This)->lpVtbl->get_orphans(This,p)
#define IHTMLCSSStyleDeclaration_put_widows(This,v) (This)->lpVtbl->put_widows(This,v)
#define IHTMLCSSStyleDeclaration_get_widows(This,p) (This)->lpVtbl->get_widows(This,p)
#define IHTMLCSSStyleDeclaration_put_pageBreakInside(This,v) (This)->lpVtbl->put_pageBreakInside(This,v)
#define IHTMLCSSStyleDeclaration_get_pageBreakInside(This,p) (This)->lpVtbl->get_pageBreakInside(This,p)
#define IHTMLCSSStyleDeclaration_put_emptyCells(This,v) (This)->lpVtbl->put_emptyCells(This,v)
#define IHTMLCSSStyleDeclaration_get_emptyCells(This,p) (This)->lpVtbl->get_emptyCells(This,p)
#define IHTMLCSSStyleDeclaration_put_msBlockProgression(This,v) (This)->lpVtbl->put_msBlockProgression(This,v)
#define IHTMLCSSStyleDeclaration_get_msBlockProgression(This,p) (This)->lpVtbl->get_msBlockProgression(This,p)
#define IHTMLCSSStyleDeclaration_put_quotes(This,v) (This)->lpVtbl->put_quotes(This,v)
#define IHTMLCSSStyleDeclaration_get_quotes(This,p) (This)->lpVtbl->get_quotes(This,p)
#define IHTMLCSSStyleDeclaration_put_alignmentBaseline(This,v) (This)->lpVtbl->put_alignmentBaseline(This,v)
#define IHTMLCSSStyleDeclaration_get_alignmentBaseline(This,p) (This)->lpVtbl->get_alignmentBaseline(This,p)
#define IHTMLCSSStyleDeclaration_put_baselineShift(This,v) (This)->lpVtbl->put_baselineShift(This,v)
#define IHTMLCSSStyleDeclaration_get_baselineShift(This,p) (This)->lpVtbl->get_baselineShift(This,p)
#define IHTMLCSSStyleDeclaration_put_dominantBaseline(This,v) (This)->lpVtbl->put_dominantBaseline(This,v)
#define IHTMLCSSStyleDeclaration_get_dominantBaseline(This,p) (This)->lpVtbl->get_dominantBaseline(This,p)
#define IHTMLCSSStyleDeclaration_put_fontSizeAdjust(This,v) (This)->lpVtbl->put_fontSizeAdjust(This,v)
#define IHTMLCSSStyleDeclaration_get_fontSizeAdjust(This,p) (This)->lpVtbl->get_fontSizeAdjust(This,p)
#define IHTMLCSSStyleDeclaration_put_fontStretch(This,v) (This)->lpVtbl->put_fontStretch(This,v)
#define IHTMLCSSStyleDeclaration_get_fontStretch(This,p) (This)->lpVtbl->get_fontStretch(This,p)
#define IHTMLCSSStyleDeclaration_put_opacity(This,v) (This)->lpVtbl->put_opacity(This,v)
#define IHTMLCSSStyleDeclaration_get_opacity(This,p) (This)->lpVtbl->get_opacity(This,p)
#define IHTMLCSSStyleDeclaration_put_clipPath(This,v) (This)->lpVtbl->put_clipPath(This,v)
#define IHTMLCSSStyleDeclaration_get_clipPath(This,p) (This)->lpVtbl->get_clipPath(This,p)
#define IHTMLCSSStyleDeclaration_put_clipRule(This,v) (This)->lpVtbl->put_clipRule(This,v)
#define IHTMLCSSStyleDeclaration_get_clipRule(This,p) (This)->lpVtbl->get_clipRule(This,p)
#define IHTMLCSSStyleDeclaration_put_fill(This,v) (This)->lpVtbl->put_fill(This,v)
#define IHTMLCSSStyleDeclaration_get_fill(This,p) (This)->lpVtbl->get_fill(This,p)
#define IHTMLCSSStyleDeclaration_put_fillOpacity(This,v) (This)->lpVtbl->put_fillOpacity(This,v)
#define IHTMLCSSStyleDeclaration_get_fillOpacity(This,p) (This)->lpVtbl->get_fillOpacity(This,p)
#define IHTMLCSSStyleDeclaration_put_fillRule(This,v) (This)->lpVtbl->put_fillRule(This,v)
#define IHTMLCSSStyleDeclaration_get_fillRule(This,p) (This)->lpVtbl->get_fillRule(This,p)
#define IHTMLCSSStyleDeclaration_put_kerning(This,v) (This)->lpVtbl->put_kerning(This,v)
#define IHTMLCSSStyleDeclaration_get_kerning(This,p) (This)->lpVtbl->get_kerning(This,p)
#define IHTMLCSSStyleDeclaration_put_marker(This,v) (This)->lpVtbl->put_marker(This,v)
#define IHTMLCSSStyleDeclaration_get_marker(This,p) (This)->lpVtbl->get_marker(This,p)
#define IHTMLCSSStyleDeclaration_put_markerEnd(This,v) (This)->lpVtbl->put_markerEnd(This,v)
#define IHTMLCSSStyleDeclaration_get_markerEnd(This,p) (This)->lpVtbl->get_markerEnd(This,p)
#define IHTMLCSSStyleDeclaration_put_markerMid(This,v) (This)->lpVtbl->put_markerMid(This,v)
#define IHTMLCSSStyleDeclaration_get_markerMid(This,p) (This)->lpVtbl->get_markerMid(This,p)
#define IHTMLCSSStyleDeclaration_put_markerStart(This,v) (This)->lpVtbl->put_markerStart(This,v)
#define IHTMLCSSStyleDeclaration_get_markerStart(This,p) (This)->lpVtbl->get_markerStart(This,p)
#define IHTMLCSSStyleDeclaration_put_mask(This,v) (This)->lpVtbl->put_mask(This,v)
#define IHTMLCSSStyleDeclaration_get_mask(This,p) (This)->lpVtbl->get_mask(This,p)
#define IHTMLCSSStyleDeclaration_put_pointerEvents(This,v) (This)->lpVtbl->put_pointerEvents(This,v)
#define IHTMLCSSStyleDeclaration_get_pointerEvents(This,p) (This)->lpVtbl->get_pointerEvents(This,p)
#define IHTMLCSSStyleDeclaration_put_stopColor(This,v) (This)->lpVtbl->put_stopColor(This,v)
#define IHTMLCSSStyleDeclaration_get_stopColor(This,p) (This)->lpVtbl->get_stopColor(This,p)
#define IHTMLCSSStyleDeclaration_put_stopOpacity(This,v) (This)->lpVtbl->put_stopOpacity(This,v)
#define IHTMLCSSStyleDeclaration_get_stopOpacity(This,p) (This)->lpVtbl->get_stopOpacity(This,p)
#define IHTMLCSSStyleDeclaration_put_stroke(This,v) (This)->lpVtbl->put_stroke(This,v)
#define IHTMLCSSStyleDeclaration_get_stroke(This,p) (This)->lpVtbl->get_stroke(This,p)
#define IHTMLCSSStyleDeclaration_put_strokeDasharray(This,v) (This)->lpVtbl->put_strokeDasharray(This,v)
#define IHTMLCSSStyleDeclaration_get_strokeDasharray(This,p) (This)->lpVtbl->get_strokeDasharray(This,p)
#define IHTMLCSSStyleDeclaration_put_strokeDashoffset(This,v) (This)->lpVtbl->put_strokeDashoffset(This,v)
#define IHTMLCSSStyleDeclaration_get_strokeDashoffset(This,p) (This)->lpVtbl->get_strokeDashoffset(This,p)
#define IHTMLCSSStyleDeclaration_put_strokeLinecap(This,v) (This)->lpVtbl->put_strokeLinecap(This,v)
#define IHTMLCSSStyleDeclaration_get_strokeLinecap(This,p) (This)->lpVtbl->get_strokeLinecap(This,p)
#define IHTMLCSSStyleDeclaration_put_strokeLinejoin(This,v) (This)->lpVtbl->put_strokeLinejoin(This,v)
#define IHTMLCSSStyleDeclaration_get_strokeLinejoin(This,p) (This)->lpVtbl->get_strokeLinejoin(This,p)
#define IHTMLCSSStyleDeclaration_put_strokeMiterlimit(This,v) (This)->lpVtbl->put_strokeMiterlimit(This,v)
#define IHTMLCSSStyleDeclaration_get_strokeMiterlimit(This,p) (This)->lpVtbl->get_strokeMiterlimit(This,p)
#define IHTMLCSSStyleDeclaration_put_strokeOpacity(This,v) (This)->lpVtbl->put_strokeOpacity(This,v)
#define IHTMLCSSStyleDeclaration_get_strokeOpacity(This,p) (This)->lpVtbl->get_strokeOpacity(This,p)
#define IHTMLCSSStyleDeclaration_put_strokeWidth(This,v) (This)->lpVtbl->put_strokeWidth(This,v)
#define IHTMLCSSStyleDeclaration_get_strokeWidth(This,p) (This)->lpVtbl->get_strokeWidth(This,p)
#define IHTMLCSSStyleDeclaration_put_textAnchor(This,v) (This)->lpVtbl->put_textAnchor(This,v)
#define IHTMLCSSStyleDeclaration_get_textAnchor(This,p) (This)->lpVtbl->get_textAnchor(This,p)
#define IHTMLCSSStyleDeclaration_put_glyphOrientationHorizontal(This,v) (This)->lpVtbl->put_glyphOrientationHorizontal(This,v)
#define IHTMLCSSStyleDeclaration_get_glyphOrientationHorizontal(This,p) (This)->lpVtbl->get_glyphOrientationHorizontal(This,p)
#define IHTMLCSSStyleDeclaration_put_glyphOrientationVertical(This,v) (This)->lpVtbl->put_glyphOrientationVertical(This,v)
#define IHTMLCSSStyleDeclaration_get_glyphOrientationVertical(This,p) (This)->lpVtbl->get_glyphOrientationVertical(This,p)
#define IHTMLCSSStyleDeclaration_put_borderRadius(This,v) (This)->lpVtbl->put_borderRadius(This,v)
#define IHTMLCSSStyleDeclaration_get_borderRadius(This,p) (This)->lpVtbl->get_borderRadius(This,p)
#define IHTMLCSSStyleDeclaration_put_borderTopLeftRadius(This,v) (This)->lpVtbl->put_borderTopLeftRadius(This,v)
#define IHTMLCSSStyleDeclaration_get_borderTopLeftRadius(This,p) (This)->lpVtbl->get_borderTopLeftRadius(This,p)
#define IHTMLCSSStyleDeclaration_put_borderTopRightRadius(This,v) (This)->lpVtbl->put_borderTopRightRadius(This,v)
#define IHTMLCSSStyleDeclaration_get_borderTopRightRadius(This,p) (This)->lpVtbl->get_borderTopRightRadius(This,p)
#define IHTMLCSSStyleDeclaration_put_borderBottomRightRadius(This,v) (This)->lpVtbl->put_borderBottomRightRadius(This,v)
#define IHTMLCSSStyleDeclaration_get_borderBottomRightRadius(This,p) (This)->lpVtbl->get_borderBottomRightRadius(This,p)
#define IHTMLCSSStyleDeclaration_put_borderBottomLeftRadius(This,v) (This)->lpVtbl->put_borderBottomLeftRadius(This,v)
#define IHTMLCSSStyleDeclaration_get_borderBottomLeftRadius(This,p) (This)->lpVtbl->get_borderBottomLeftRadius(This,p)
#define IHTMLCSSStyleDeclaration_put_clipTop(This,v) (This)->lpVtbl->put_clipTop(This,v)
#define IHTMLCSSStyleDeclaration_get_clipTop(This,p) (This)->lpVtbl->get_clipTop(This,p)
#define IHTMLCSSStyleDeclaration_put_clipRight(This,v) (This)->lpVtbl->put_clipRight(This,v)
#define IHTMLCSSStyleDeclaration_get_clipRight(This,p) (This)->lpVtbl->get_clipRight(This,p)
#define IHTMLCSSStyleDeclaration_get_clipBottom(This,p) (This)->lpVtbl->get_clipBottom(This,p)
#define IHTMLCSSStyleDeclaration_put_clipLeft(This,v) (This)->lpVtbl->put_clipLeft(This,v)
#define IHTMLCSSStyleDeclaration_get_clipLeft(This,p) (This)->lpVtbl->get_clipLeft(This,p)
#define IHTMLCSSStyleDeclaration_put_cssFloat(This,v) (This)->lpVtbl->put_cssFloat(This,v)
#define IHTMLCSSStyleDeclaration_get_cssFloat(This,p) (This)->lpVtbl->get_cssFloat(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundClip(This,v) (This)->lpVtbl->put_backgroundClip(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundClip(This,p) (This)->lpVtbl->get_backgroundClip(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundOrigin(This,v) (This)->lpVtbl->put_backgroundOrigin(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundOrigin(This,p) (This)->lpVtbl->get_backgroundOrigin(This,p)
#define IHTMLCSSStyleDeclaration_put_backgroundSize(This,v) (This)->lpVtbl->put_backgroundSize(This,v)
#define IHTMLCSSStyleDeclaration_get_backgroundSize(This,p) (This)->lpVtbl->get_backgroundSize(This,p)
#define IHTMLCSSStyleDeclaration_put_boxShadow(This,v) (This)->lpVtbl->put_boxShadow(This,v)
#define IHTMLCSSStyleDeclaration_get_boxShadow(This,p) (This)->lpVtbl->get_boxShadow(This,p)
#define IHTMLCSSStyleDeclaration_put_msTransform(This,v) (This)->lpVtbl->put_msTransform(This,v)
#define IHTMLCSSStyleDeclaration_get_msTransform(This,p) (This)->lpVtbl->get_msTransform(This,p)
#define IHTMLCSSStyleDeclaration_put_msTransformOrigin(This,v) (This)->lpVtbl->put_msTransformOrigin(This,v)
#define IHTMLCSSStyleDeclaration_get_msTransformOrigin(This,p) (This)->lpVtbl->get_msTransformOrigin(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCSSStyleDeclaration_QueryInterface(IHTMLCSSStyleDeclaration* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCSSStyleDeclaration_AddRef(IHTMLCSSStyleDeclaration* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCSSStyleDeclaration_Release(IHTMLCSSStyleDeclaration* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCSSStyleDeclaration_GetTypeInfoCount(IHTMLCSSStyleDeclaration* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCSSStyleDeclaration_GetTypeInfo(IHTMLCSSStyleDeclaration* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCSSStyleDeclaration_GetIDsOfNames(IHTMLCSSStyleDeclaration* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCSSStyleDeclaration_Invoke(IHTMLCSSStyleDeclaration* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCSSStyleDeclaration methods ***/
static inline HRESULT IHTMLCSSStyleDeclaration_get_length(IHTMLCSSStyleDeclaration* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_parentRule(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_parentRule(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_getPropertyValue(IHTMLCSSStyleDeclaration* This,BSTR bstrPropertyName,BSTR *pbstrPropertyValue) {
    return This->lpVtbl->getPropertyValue(This,bstrPropertyName,pbstrPropertyValue);
}
static inline HRESULT IHTMLCSSStyleDeclaration_getPropertyPriority(IHTMLCSSStyleDeclaration* This,BSTR bstrPropertyName,BSTR *pbstrPropertyPriority) {
    return This->lpVtbl->getPropertyPriority(This,bstrPropertyName,pbstrPropertyPriority);
}
static inline HRESULT IHTMLCSSStyleDeclaration_removeProperty(IHTMLCSSStyleDeclaration* This,BSTR bstrPropertyName,BSTR *pbstrPropertyValue) {
    return This->lpVtbl->removeProperty(This,bstrPropertyName,pbstrPropertyValue);
}
static inline HRESULT IHTMLCSSStyleDeclaration_setProperty(IHTMLCSSStyleDeclaration* This,BSTR bstrPropertyName,VARIANT *pvarPropertyValue,VARIANT *pvarPropertyPriority) {
    return This->lpVtbl->setProperty(This,bstrPropertyName,pvarPropertyValue,pvarPropertyPriority);
}
static inline HRESULT IHTMLCSSStyleDeclaration_item(IHTMLCSSStyleDeclaration* This,LONG index,BSTR *pbstrPropertyName) {
    return This->lpVtbl->item(This,index,pbstrPropertyName);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fontFamily(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_fontFamily(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fontFamily(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_fontFamily(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fontStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_fontStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fontStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_fontStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fontVariant(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_fontVariant(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fontVariant(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_fontVariant(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fontWeight(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_fontWeight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fontWeight(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fontSize(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_fontSize(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fontSize(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_font(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_font(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_font(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_font(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_color(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_color(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_background(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_background(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_backgroundColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundImage(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_backgroundImage(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundImage(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_backgroundImage(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundRepeat(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_backgroundRepeat(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundRepeat(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_backgroundRepeat(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundAttachment(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_backgroundAttachment(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundAttachment(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_backgroundAttachment(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundPosition(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_backgroundPosition(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundPosition(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_backgroundPosition(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundPositionX(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionX(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundPositionX(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionX(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundPositionY(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionY(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundPositionY(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionY(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_wordSpacing(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_wordSpacing(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_wordSpacing(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_wordSpacing(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_letterSpacing(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_letterSpacing(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_letterSpacing(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_letterSpacing(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textDecoration(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textDecoration(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textDecoration(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_verticalAlign(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_verticalAlign(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_verticalAlign(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_verticalAlign(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textTransform(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textTransform(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textTransform(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textTransform(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textAlign(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textAlign(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textAlign(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textIndent(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_textIndent(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textIndent(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_textIndent(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_lineHeight(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_lineHeight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_lineHeight(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_lineHeight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_marginTop(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_marginTop(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_marginRight(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_marginRight(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_marginBottom(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_marginBottom(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_marginLeft(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_marginLeft(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_margin(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_margin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_margin(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_margin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_paddingTop(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_paddingTop(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_paddingTop(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_paddingTop(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_paddingRight(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_paddingRight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_paddingRight(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_paddingRight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_paddingBottom(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_paddingBottom(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_paddingBottom(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_paddingBottom(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_paddingLeft(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_paddingLeft(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_paddingLeft(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_paddingLeft(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_padding(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_padding(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_padding(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_padding(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_border(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_border(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderTop(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderTop(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderTop(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderTop(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderRight(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderRight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderRight(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderRight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderBottom(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderBottom(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderBottom(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderBottom(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderLeft(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderLeft(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderLeft(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderLeft(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderColor(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderColor(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderTopColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderTopColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderTopColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderRightColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderRightColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderRightColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderBottomColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderBottomColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderLeftColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderLeftColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderWidth(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderWidth(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderTopWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderTopWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderTopWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderRightWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderRightWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderRightWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderBottomWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderBottomWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderLeftWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderLeftWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderTopStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderTopStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderTopStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderTopStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderRightStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderRightStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderRightStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderRightStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderBottomStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderBottomStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderBottomStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderLeftStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderLeftStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderLeftStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderLeftStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_width(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_width(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_height(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_height(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_styleFloat(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_styleFloat(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_styleFloat(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_styleFloat(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_clear(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_clear(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clear(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_display(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_display(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_display(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_display(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_visibility(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_visibility(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_visibility(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_listStyleType(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_listStyleType(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_listStyleType(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_listStyleType(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_listStylePosition(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_listStylePosition(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_listStylePosition(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_listStylePosition(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_listStyleImage(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_listStyleImage(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_listStyleImage(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_listStyleImage(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_listStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_listStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_listStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_listStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_whiteSpace(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_whiteSpace(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_whiteSpace(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_whiteSpace(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_top(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_top(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_top(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_top(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_left(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_left(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_left(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_left(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_zIndex(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_zIndex(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_zIndex(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_zIndex(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_overflow(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_overflow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_overflow(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_overflow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_pageBreakBefore(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_pageBreakBefore(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_pageBreakBefore(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakBefore(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_pageBreakAfter(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_pageBreakAfter(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_pageBreakAfter(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakAfter(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_cssText(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_cssText(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_cursor(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_cursor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_cursor(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_cursor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_clip(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_clip(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clip(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_clip(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_filter(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_filter(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_filter(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_filter(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_tableLayout(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_tableLayout(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_tableLayout(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_tableLayout(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderCollapse(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderCollapse(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderCollapse(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderCollapse(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_direction(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_direction(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_direction(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_direction(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_behavior(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_behavior(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_behavior(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_behavior(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_position(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_position(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_position(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_unicodeBidi(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_unicodeBidi(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_unicodeBidi(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_unicodeBidi(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_bottom(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_bottom(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_bottom(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_bottom(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_right(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_right(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_right(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_right(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_imeMode(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_imeMode(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_imeMode(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_imeMode(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_rubyAlign(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_rubyAlign(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_rubyAlign(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_rubyAlign(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_rubyPosition(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_rubyPosition(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_rubyPosition(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_rubyPosition(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_rubyOverhang(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_rubyOverhang(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_rubyOverhang(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_rubyOverhang(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_layoutGridChar(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridChar(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_layoutGridChar(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridChar(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_layoutGridLine(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridLine(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_layoutGridLine(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridLine(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_layoutGridMode(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_layoutGridMode(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_layoutGridMode(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridMode(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_layoutGridType(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_layoutGridType(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_layoutGridType(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridType(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_layoutGrid(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_layoutGrid(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_layoutGrid(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_layoutGrid(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textAutospace(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textAutospace(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textAutospace(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textAutospace(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_wordBreak(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_wordBreak(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_wordBreak(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_wordBreak(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_lineBreak(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_lineBreak(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_lineBreak(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_lineBreak(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textJustify(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textJustify(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textJustify(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textJustify(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textJustifyTrim(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textJustifyTrim(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textJustifyTrim(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textJustifyTrim(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textKashida(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_textKashida(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textKashida(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_textKashida(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_overflowX(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_overflowX(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_overflowX(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_overflowX(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_overflowY(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_overflowY(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_overflowY(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_overflowY(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_accelerator(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_accelerator(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_accelerator(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_accelerator(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_layoutFlow(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_layoutFlow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_layoutFlow(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_layoutFlow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_zoom(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_zoom(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_zoom(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_zoom(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_wordWrap(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_wordWrap(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_wordWrap(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_wordWrap(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textUnderlinePosition(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textUnderlinePosition(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textUnderlinePosition(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlinePosition(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbarBaseColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarBaseColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbarBaseColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarBaseColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbarFaceColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarFaceColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbarFaceColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarFaceColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbar3dLightColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbar3dLightColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbar3dLightColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbar3dLightColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbarShadowColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarShadowColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbarShadowColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarShadowColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbarHighlightColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarHighlightColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbarHighlightColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarHighlightColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbarDarkShadowColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarDarkShadowColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbarDarkShadowColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarDarkShadowColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbarArrowColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarArrowColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbarArrowColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarArrowColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_scrollbarTrackColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarTrackColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_scrollbarTrackColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarTrackColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_writingMode(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_writingMode(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_writingMode(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_writingMode(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textAlignLast(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textAlignLast(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textAlignLast(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textAlignLast(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textKashidaSpace(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_textKashidaSpace(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textKashidaSpace(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_textKashidaSpace(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textOverflow(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textOverflow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textOverflow(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textOverflow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_minHeight(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_minHeight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_minHeight(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_minHeight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_msInterpolationMode(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_msInterpolationMode(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_msInterpolationMode(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_msInterpolationMode(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_maxHeight(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_maxHeight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_maxHeight(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_maxHeight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_minWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_minWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_minWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_minWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_maxWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_maxWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_maxWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_maxWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_content(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_content(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_content(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_content(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_captionSide(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_captionSide(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_captionSide(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_captionSide(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_counterIncrement(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_counterIncrement(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_counterIncrement(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_counterIncrement(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_counterReset(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_counterReset(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_counterReset(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_counterReset(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_outline(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_outline(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_outline(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_outline(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_outlineWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_outlineWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_outlineWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_outlineWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_outlineStyle(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_outlineStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_outlineStyle(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_outlineStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_outlineColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_outlineColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_outlineColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_outlineColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_boxSizing(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_boxSizing(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_boxSizing(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_boxSizing(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderSpacing(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderSpacing(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderSpacing(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderSpacing(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_orphans(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_orphans(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_orphans(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_orphans(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_widows(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_widows(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_widows(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_widows(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_pageBreakInside(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_pageBreakInside(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_pageBreakInside(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakInside(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_emptyCells(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_emptyCells(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_emptyCells(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_emptyCells(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_msBlockProgression(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_msBlockProgression(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_msBlockProgression(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_msBlockProgression(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_quotes(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_quotes(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_quotes(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_quotes(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_alignmentBaseline(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_alignmentBaseline(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_alignmentBaseline(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_alignmentBaseline(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_baselineShift(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_baselineShift(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_baselineShift(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_baselineShift(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_dominantBaseline(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_dominantBaseline(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_dominantBaseline(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_dominantBaseline(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fontSizeAdjust(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_fontSizeAdjust(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fontSizeAdjust(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_fontSizeAdjust(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fontStretch(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_fontStretch(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fontStretch(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_fontStretch(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_opacity(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_opacity(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_opacity(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_opacity(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_clipPath(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_clipPath(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clipPath(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_clipPath(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_clipRule(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_clipRule(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clipRule(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_clipRule(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fill(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_fill(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fill(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_fill(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fillOpacity(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_fillOpacity(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fillOpacity(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_fillOpacity(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_fillRule(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_fillRule(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_fillRule(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_fillRule(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_kerning(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_kerning(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_kerning(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_kerning(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_marker(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_marker(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_marker(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_marker(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_markerEnd(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_markerEnd(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_markerEnd(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_markerEnd(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_markerMid(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_markerMid(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_markerMid(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_markerMid(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_markerStart(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_markerStart(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_markerStart(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_markerStart(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_mask(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_mask(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_mask(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_mask(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_pointerEvents(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_pointerEvents(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_pointerEvents(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_pointerEvents(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_stopColor(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_stopColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_stopColor(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_stopColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_stopOpacity(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_stopOpacity(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_stopOpacity(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_stopOpacity(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_stroke(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_stroke(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_stroke(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_stroke(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_strokeDasharray(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_strokeDasharray(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_strokeDasharray(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_strokeDasharray(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_strokeDashoffset(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_strokeDashoffset(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_strokeDashoffset(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_strokeDashoffset(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_strokeLinecap(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_strokeLinecap(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_strokeLinecap(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_strokeLinecap(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_strokeLinejoin(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_strokeLinejoin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_strokeLinejoin(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_strokeLinejoin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_strokeMiterlimit(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_strokeMiterlimit(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_strokeMiterlimit(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_strokeMiterlimit(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_strokeOpacity(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_strokeOpacity(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_strokeOpacity(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_strokeOpacity(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_strokeWidth(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_strokeWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_strokeWidth(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_strokeWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_textAnchor(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_textAnchor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_textAnchor(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_textAnchor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_glyphOrientationHorizontal(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_glyphOrientationHorizontal(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_glyphOrientationHorizontal(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_glyphOrientationHorizontal(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_glyphOrientationVertical(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_glyphOrientationVertical(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_glyphOrientationVertical(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_glyphOrientationVertical(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderRadius(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderRadius(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderRadius(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderRadius(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderTopLeftRadius(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderTopLeftRadius(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderTopLeftRadius(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderTopLeftRadius(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderTopRightRadius(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderTopRightRadius(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderTopRightRadius(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderTopRightRadius(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderBottomRightRadius(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderBottomRightRadius(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderBottomRightRadius(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomRightRadius(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_borderBottomLeftRadius(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_borderBottomLeftRadius(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_borderBottomLeftRadius(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomLeftRadius(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_clipTop(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_clipTop(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clipTop(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_clipTop(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_clipRight(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_clipRight(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clipRight(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_clipRight(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clipBottom(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_clipBottom(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_clipLeft(IHTMLCSSStyleDeclaration* This,VARIANT v) {
    return This->lpVtbl->put_clipLeft(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_clipLeft(IHTMLCSSStyleDeclaration* This,VARIANT *p) {
    return This->lpVtbl->get_clipLeft(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_cssFloat(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_cssFloat(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_cssFloat(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_cssFloat(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundClip(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_backgroundClip(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundClip(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_backgroundClip(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundOrigin(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_backgroundOrigin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundOrigin(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_backgroundOrigin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_backgroundSize(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_backgroundSize(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_backgroundSize(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_backgroundSize(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_boxShadow(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_boxShadow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_boxShadow(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_boxShadow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_msTransform(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_msTransform(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_msTransform(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_msTransform(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration_put_msTransformOrigin(IHTMLCSSStyleDeclaration* This,BSTR v) {
    return This->lpVtbl->put_msTransformOrigin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration_get_msTransformOrigin(IHTMLCSSStyleDeclaration* This,BSTR *p) {
    return This->lpVtbl->get_msTransformOrigin(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCSSStyleDeclaration_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCSSStyleDeclaration2 interface
 */
#ifndef __IHTMLCSSStyleDeclaration2_INTERFACE_DEFINED__
#define __IHTMLCSSStyleDeclaration2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCSSStyleDeclaration2, 0x305107d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107d1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCSSStyleDeclaration2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_msScrollChaining(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollChaining(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZooming(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZooming(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZoomSnapType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZoomSnapType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollRails(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollRails(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZoomChaining(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZoomChaining(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollSnapType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollSnapType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZoomLimit(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZoomLimit(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZoomSnap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZoomSnap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZoomSnapPoints(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZoomSnapPoints(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZoomLimitMin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZoomLimitMin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msContentZoomLimitMax(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msContentZoomLimitMax(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollSnapX(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollSnapX(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollSnapY(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollSnapY(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollSnapPointsX(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollSnapPointsX(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollSnapPointsY(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollSnapPointsY(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridColumn(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridColumn(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridColumnAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridColumnAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridColumns(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridColumns(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridColumnSpan(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridColumnSpan(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridRow(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridRow(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridRowAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridRowAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridRows(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridRows(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msGridRowSpan(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msGridRowSpan(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msWrapThrough(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msWrapThrough(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msWrapMargin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msWrapMargin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msWrapFlow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msWrapFlow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationName(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationDuration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationDuration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationTimingFunction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationTimingFunction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationDelay(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationDelay(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationDirection(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationDirection(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationPlayState(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationPlayState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationIterationCount(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationIterationCount(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimation(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimation(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msAnimationFillMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msAnimationFillMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_colorInterpolationFilters(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_colorInterpolationFilters(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnCount(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnCount(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnGap(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnGap(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnFill(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnFill(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnSpan(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnSpan(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columns(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columns(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnRule(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnRule(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnRuleColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnRuleColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnRuleStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnRuleStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_columnRuleWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_columnRuleWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_breakBefore(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_breakBefore(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_breakAfter(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_breakAfter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_breakInside(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_breakInside(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_floodColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_floodColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_floodOpacity(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_floodOpacity(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lightingColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lightingColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollLimitXMin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollLimitXMin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollLimitYMin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollLimitYMin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollLimitXMax(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollLimitXMax(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollLimitYMax(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollLimitYMax(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollLimit(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollLimit(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textShadow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textShadow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlowFrom(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlowFrom(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlowInto(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlowInto(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msHyphens(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msHyphens(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msHyphenateLimitZone(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msHyphenateLimitZone(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msHyphenateLimitChars(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msHyphenateLimitChars(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msHyphenateLimitLines(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msHyphenateLimitLines(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msHighContrastAdjust(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msHighContrastAdjust(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_enableBackground(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_enableBackground(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFontFeatureSettings(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFontFeatureSettings(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msUserSelect(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msUserSelect(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msOverflowStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msOverflowStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransformStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransformStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msBackfaceVisibility(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msBackfaceVisibility(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msPerspective(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msPerspective(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msPerspectiveOrigin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msPerspectiveOrigin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransitionProperty(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransitionProperty(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransitionDuration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransitionDuration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransitionTimingFunction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransitionTimingFunction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransitionDelay(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransitionDelay(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTransition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTransition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTouchAction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTouchAction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msScrollTranslation(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msScrollTranslation(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlex(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlex(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexPositive(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexPositive(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexNegative(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexNegative(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexPreferredSize(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexPreferredSize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexFlow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexFlow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexDirection(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexDirection(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexWrap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexWrap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexItemAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexItemAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexPack(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexPack(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexLinePack(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexLinePack(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msFlexOrder(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFlexOrder(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msTouchSelect(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msTouchSelect(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transform(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transform(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transformOrigin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transformOrigin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transformStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transformStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backfaceVisibility(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backfaceVisibility(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_perspective(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_perspective(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_perspectiveOrigin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_perspectiveOrigin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transitionProperty(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transitionProperty(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transitionDuration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transitionDuration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transitionTimingFunction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transitionTimingFunction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transitionDelay(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transitionDelay(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_transition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_transition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontFeatureSettings(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontFeatureSettings(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationName(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationDuration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationDuration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationTimingFunction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationTimingFunction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationDelay(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationDelay(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationDirection(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationDirection(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationPlayState(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationPlayState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationIterationCount(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationIterationCount(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animation(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animation(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animationFillMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animationFillMode(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCSSStyleDeclaration2, 0x305107d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCSSStyleDeclaration2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCSSStyleDeclaration2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCSSStyleDeclaration2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCSSStyleDeclaration2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCSSStyleDeclaration2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCSSStyleDeclaration2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_msScrollChaining)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollChaining)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZooming)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZooming)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZoomSnapType)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZoomSnapType)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollRails)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollRails)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZoomChaining)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZoomChaining)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollSnapType)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollSnapType)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZoomLimit)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZoomLimit)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZoomSnap)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZoomSnap)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZoomSnapPoints)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZoomSnapPoints)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZoomLimitMin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZoomLimitMin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msContentZoomLimitMax)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msContentZoomLimitMax)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollSnapX)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollSnapX)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollSnapY)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollSnapY)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollSnapPointsX)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollSnapPointsX)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollSnapPointsY)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollSnapPointsY)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridColumn)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msGridColumn)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridColumnAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msGridColumnAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridColumns)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msGridColumns)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridColumnSpan)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msGridColumnSpan)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridRow)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msGridRow)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridRowAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msGridRowAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridRows)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msGridRows)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msGridRowSpan)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msGridRowSpan)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msWrapThrough)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msWrapThrough)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msWrapMargin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msWrapMargin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msWrapFlow)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msWrapFlow)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationName)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationName)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationDirection)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationDirection)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationPlayState)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationPlayState)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationIterationCount)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationIterationCount)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimation)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimation)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msAnimationFillMode)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msAnimationFillMode)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_colorInterpolationFilters)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_colorInterpolationFilters)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_columnCount)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_columnCount)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_columnWidth)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_columnWidth)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_columnGap)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_columnGap)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_columnFill)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_columnFill)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_columnSpan)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_columnSpan)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_columns)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_columns)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_columnRule)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_columnRule)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_columnRuleColor)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_columnRuleColor)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_columnRuleStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_columnRuleStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_columnRuleWidth)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_columnRuleWidth)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_breakBefore)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_breakBefore)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_breakAfter)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_breakAfter)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_breakInside)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_breakInside)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_floodColor)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_floodColor)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_floodOpacity)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_floodOpacity)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_lightingColor)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_lightingColor)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollLimitXMin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollLimitXMin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollLimitYMin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollLimitYMin)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollLimitXMax)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollLimitXMax)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollLimitYMax)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollLimitYMax)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollLimit)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollLimit)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textShadow)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textShadow)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlowFrom)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlowFrom)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlowInto)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlowInto)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msHyphens)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msHyphens)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msHyphenateLimitZone)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msHyphenateLimitZone)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msHyphenateLimitChars)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msHyphenateLimitChars)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msHyphenateLimitLines)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msHyphenateLimitLines)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msHighContrastAdjust)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msHighContrastAdjust)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_enableBackground)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_enableBackground)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFontFeatureSettings)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFontFeatureSettings)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msUserSelect)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msUserSelect)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msOverflowStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msOverflowStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransformStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransformStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msBackfaceVisibility)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msBackfaceVisibility)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msPerspective)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msPerspective)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msPerspectiveOrigin)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msPerspectiveOrigin)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransitionProperty)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransitionProperty)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransitionDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransitionDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransitionTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransitionTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransitionDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransitionDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTransition)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTransition)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msTouchAction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTouchAction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msScrollTranslation)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msScrollTranslation)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlex)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlex)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexPositive)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexPositive)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexNegative)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexNegative)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexPreferredSize)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexPreferredSize)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexFlow)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexFlow)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexDirection)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexDirection)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexWrap)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexWrap)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexItemAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexItemAlign)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexPack)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexPack)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexLinePack)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexLinePack)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msFlexOrder)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_msFlexOrder)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msTouchSelect)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msTouchSelect)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transform)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transform)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transformOrigin)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transformOrigin)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transformStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transformStyle)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backfaceVisibility)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backfaceVisibility)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_perspective)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_perspective)(
        IHTMLCSSStyleDeclaration2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_perspectiveOrigin)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_perspectiveOrigin)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transitionProperty)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transitionProperty)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transitionDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transitionDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transitionTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transitionTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transitionDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transitionDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_transition)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_transition)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontFeatureSettings)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontFeatureSettings)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationName)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationName)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationDuration)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationTimingFunction)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationDelay)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationDirection)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationDirection)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationPlayState)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationPlayState)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationIterationCount)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationIterationCount)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animation)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animation)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_animationFillMode)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_animationFillMode)(
        IHTMLCSSStyleDeclaration2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLCSSStyleDeclaration2Vtbl;

interface IHTMLCSSStyleDeclaration2 {
    CONST_VTBL IHTMLCSSStyleDeclaration2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCSSStyleDeclaration2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCSSStyleDeclaration2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCSSStyleDeclaration2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCSSStyleDeclaration2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCSSStyleDeclaration2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCSSStyleDeclaration2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCSSStyleDeclaration2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCSSStyleDeclaration2 methods ***/
#define IHTMLCSSStyleDeclaration2_put_msScrollChaining(This,v) (This)->lpVtbl->put_msScrollChaining(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollChaining(This,p) (This)->lpVtbl->get_msScrollChaining(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZooming(This,v) (This)->lpVtbl->put_msContentZooming(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZooming(This,p) (This)->lpVtbl->get_msContentZooming(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZoomSnapType(This,v) (This)->lpVtbl->put_msContentZoomSnapType(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZoomSnapType(This,p) (This)->lpVtbl->get_msContentZoomSnapType(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollRails(This,v) (This)->lpVtbl->put_msScrollRails(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollRails(This,p) (This)->lpVtbl->get_msScrollRails(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZoomChaining(This,v) (This)->lpVtbl->put_msContentZoomChaining(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZoomChaining(This,p) (This)->lpVtbl->get_msContentZoomChaining(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollSnapType(This,v) (This)->lpVtbl->put_msScrollSnapType(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollSnapType(This,p) (This)->lpVtbl->get_msScrollSnapType(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZoomLimit(This,v) (This)->lpVtbl->put_msContentZoomLimit(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZoomLimit(This,p) (This)->lpVtbl->get_msContentZoomLimit(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZoomSnap(This,v) (This)->lpVtbl->put_msContentZoomSnap(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZoomSnap(This,p) (This)->lpVtbl->get_msContentZoomSnap(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZoomSnapPoints(This,v) (This)->lpVtbl->put_msContentZoomSnapPoints(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZoomSnapPoints(This,p) (This)->lpVtbl->get_msContentZoomSnapPoints(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZoomLimitMin(This,v) (This)->lpVtbl->put_msContentZoomLimitMin(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZoomLimitMin(This,p) (This)->lpVtbl->get_msContentZoomLimitMin(This,p)
#define IHTMLCSSStyleDeclaration2_put_msContentZoomLimitMax(This,v) (This)->lpVtbl->put_msContentZoomLimitMax(This,v)
#define IHTMLCSSStyleDeclaration2_get_msContentZoomLimitMax(This,p) (This)->lpVtbl->get_msContentZoomLimitMax(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollSnapX(This,v) (This)->lpVtbl->put_msScrollSnapX(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollSnapX(This,p) (This)->lpVtbl->get_msScrollSnapX(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollSnapY(This,v) (This)->lpVtbl->put_msScrollSnapY(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollSnapY(This,p) (This)->lpVtbl->get_msScrollSnapY(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollSnapPointsX(This,v) (This)->lpVtbl->put_msScrollSnapPointsX(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollSnapPointsX(This,p) (This)->lpVtbl->get_msScrollSnapPointsX(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollSnapPointsY(This,v) (This)->lpVtbl->put_msScrollSnapPointsY(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollSnapPointsY(This,p) (This)->lpVtbl->get_msScrollSnapPointsY(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridColumn(This,v) (This)->lpVtbl->put_msGridColumn(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridColumn(This,p) (This)->lpVtbl->get_msGridColumn(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridColumnAlign(This,v) (This)->lpVtbl->put_msGridColumnAlign(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridColumnAlign(This,p) (This)->lpVtbl->get_msGridColumnAlign(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridColumns(This,v) (This)->lpVtbl->put_msGridColumns(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridColumns(This,p) (This)->lpVtbl->get_msGridColumns(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridColumnSpan(This,v) (This)->lpVtbl->put_msGridColumnSpan(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridColumnSpan(This,p) (This)->lpVtbl->get_msGridColumnSpan(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridRow(This,v) (This)->lpVtbl->put_msGridRow(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridRow(This,p) (This)->lpVtbl->get_msGridRow(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridRowAlign(This,v) (This)->lpVtbl->put_msGridRowAlign(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridRowAlign(This,p) (This)->lpVtbl->get_msGridRowAlign(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridRows(This,v) (This)->lpVtbl->put_msGridRows(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridRows(This,p) (This)->lpVtbl->get_msGridRows(This,p)
#define IHTMLCSSStyleDeclaration2_put_msGridRowSpan(This,v) (This)->lpVtbl->put_msGridRowSpan(This,v)
#define IHTMLCSSStyleDeclaration2_get_msGridRowSpan(This,p) (This)->lpVtbl->get_msGridRowSpan(This,p)
#define IHTMLCSSStyleDeclaration2_put_msWrapThrough(This,v) (This)->lpVtbl->put_msWrapThrough(This,v)
#define IHTMLCSSStyleDeclaration2_get_msWrapThrough(This,p) (This)->lpVtbl->get_msWrapThrough(This,p)
#define IHTMLCSSStyleDeclaration2_put_msWrapMargin(This,v) (This)->lpVtbl->put_msWrapMargin(This,v)
#define IHTMLCSSStyleDeclaration2_get_msWrapMargin(This,p) (This)->lpVtbl->get_msWrapMargin(This,p)
#define IHTMLCSSStyleDeclaration2_put_msWrapFlow(This,v) (This)->lpVtbl->put_msWrapFlow(This,v)
#define IHTMLCSSStyleDeclaration2_get_msWrapFlow(This,p) (This)->lpVtbl->get_msWrapFlow(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationName(This,v) (This)->lpVtbl->put_msAnimationName(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationName(This,p) (This)->lpVtbl->get_msAnimationName(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationDuration(This,v) (This)->lpVtbl->put_msAnimationDuration(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationDuration(This,p) (This)->lpVtbl->get_msAnimationDuration(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationTimingFunction(This,v) (This)->lpVtbl->put_msAnimationTimingFunction(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationTimingFunction(This,p) (This)->lpVtbl->get_msAnimationTimingFunction(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationDelay(This,v) (This)->lpVtbl->put_msAnimationDelay(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationDelay(This,p) (This)->lpVtbl->get_msAnimationDelay(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationDirection(This,v) (This)->lpVtbl->put_msAnimationDirection(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationDirection(This,p) (This)->lpVtbl->get_msAnimationDirection(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationPlayState(This,v) (This)->lpVtbl->put_msAnimationPlayState(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationPlayState(This,p) (This)->lpVtbl->get_msAnimationPlayState(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationIterationCount(This,v) (This)->lpVtbl->put_msAnimationIterationCount(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationIterationCount(This,p) (This)->lpVtbl->get_msAnimationIterationCount(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimation(This,v) (This)->lpVtbl->put_msAnimation(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimation(This,p) (This)->lpVtbl->get_msAnimation(This,p)
#define IHTMLCSSStyleDeclaration2_put_msAnimationFillMode(This,v) (This)->lpVtbl->put_msAnimationFillMode(This,v)
#define IHTMLCSSStyleDeclaration2_get_msAnimationFillMode(This,p) (This)->lpVtbl->get_msAnimationFillMode(This,p)
#define IHTMLCSSStyleDeclaration2_put_colorInterpolationFilters(This,v) (This)->lpVtbl->put_colorInterpolationFilters(This,v)
#define IHTMLCSSStyleDeclaration2_get_colorInterpolationFilters(This,p) (This)->lpVtbl->get_colorInterpolationFilters(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnCount(This,v) (This)->lpVtbl->put_columnCount(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnCount(This,p) (This)->lpVtbl->get_columnCount(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnWidth(This,v) (This)->lpVtbl->put_columnWidth(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnWidth(This,p) (This)->lpVtbl->get_columnWidth(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnGap(This,v) (This)->lpVtbl->put_columnGap(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnGap(This,p) (This)->lpVtbl->get_columnGap(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnFill(This,v) (This)->lpVtbl->put_columnFill(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnFill(This,p) (This)->lpVtbl->get_columnFill(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnSpan(This,v) (This)->lpVtbl->put_columnSpan(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnSpan(This,p) (This)->lpVtbl->get_columnSpan(This,p)
#define IHTMLCSSStyleDeclaration2_put_columns(This,v) (This)->lpVtbl->put_columns(This,v)
#define IHTMLCSSStyleDeclaration2_get_columns(This,p) (This)->lpVtbl->get_columns(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnRule(This,v) (This)->lpVtbl->put_columnRule(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnRule(This,p) (This)->lpVtbl->get_columnRule(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnRuleColor(This,v) (This)->lpVtbl->put_columnRuleColor(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnRuleColor(This,p) (This)->lpVtbl->get_columnRuleColor(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnRuleStyle(This,v) (This)->lpVtbl->put_columnRuleStyle(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnRuleStyle(This,p) (This)->lpVtbl->get_columnRuleStyle(This,p)
#define IHTMLCSSStyleDeclaration2_put_columnRuleWidth(This,v) (This)->lpVtbl->put_columnRuleWidth(This,v)
#define IHTMLCSSStyleDeclaration2_get_columnRuleWidth(This,p) (This)->lpVtbl->get_columnRuleWidth(This,p)
#define IHTMLCSSStyleDeclaration2_put_breakBefore(This,v) (This)->lpVtbl->put_breakBefore(This,v)
#define IHTMLCSSStyleDeclaration2_get_breakBefore(This,p) (This)->lpVtbl->get_breakBefore(This,p)
#define IHTMLCSSStyleDeclaration2_put_breakAfter(This,v) (This)->lpVtbl->put_breakAfter(This,v)
#define IHTMLCSSStyleDeclaration2_get_breakAfter(This,p) (This)->lpVtbl->get_breakAfter(This,p)
#define IHTMLCSSStyleDeclaration2_put_breakInside(This,v) (This)->lpVtbl->put_breakInside(This,v)
#define IHTMLCSSStyleDeclaration2_get_breakInside(This,p) (This)->lpVtbl->get_breakInside(This,p)
#define IHTMLCSSStyleDeclaration2_put_floodColor(This,v) (This)->lpVtbl->put_floodColor(This,v)
#define IHTMLCSSStyleDeclaration2_get_floodColor(This,p) (This)->lpVtbl->get_floodColor(This,p)
#define IHTMLCSSStyleDeclaration2_put_floodOpacity(This,v) (This)->lpVtbl->put_floodOpacity(This,v)
#define IHTMLCSSStyleDeclaration2_get_floodOpacity(This,p) (This)->lpVtbl->get_floodOpacity(This,p)
#define IHTMLCSSStyleDeclaration2_put_lightingColor(This,v) (This)->lpVtbl->put_lightingColor(This,v)
#define IHTMLCSSStyleDeclaration2_get_lightingColor(This,p) (This)->lpVtbl->get_lightingColor(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollLimitXMin(This,v) (This)->lpVtbl->put_msScrollLimitXMin(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollLimitXMin(This,p) (This)->lpVtbl->get_msScrollLimitXMin(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollLimitYMin(This,v) (This)->lpVtbl->put_msScrollLimitYMin(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollLimitYMin(This,p) (This)->lpVtbl->get_msScrollLimitYMin(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollLimitXMax(This,v) (This)->lpVtbl->put_msScrollLimitXMax(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollLimitXMax(This,p) (This)->lpVtbl->get_msScrollLimitXMax(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollLimitYMax(This,v) (This)->lpVtbl->put_msScrollLimitYMax(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollLimitYMax(This,p) (This)->lpVtbl->get_msScrollLimitYMax(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollLimit(This,v) (This)->lpVtbl->put_msScrollLimit(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollLimit(This,p) (This)->lpVtbl->get_msScrollLimit(This,p)
#define IHTMLCSSStyleDeclaration2_put_textShadow(This,v) (This)->lpVtbl->put_textShadow(This,v)
#define IHTMLCSSStyleDeclaration2_get_textShadow(This,p) (This)->lpVtbl->get_textShadow(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlowFrom(This,v) (This)->lpVtbl->put_msFlowFrom(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlowFrom(This,p) (This)->lpVtbl->get_msFlowFrom(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlowInto(This,v) (This)->lpVtbl->put_msFlowInto(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlowInto(This,p) (This)->lpVtbl->get_msFlowInto(This,p)
#define IHTMLCSSStyleDeclaration2_put_msHyphens(This,v) (This)->lpVtbl->put_msHyphens(This,v)
#define IHTMLCSSStyleDeclaration2_get_msHyphens(This,p) (This)->lpVtbl->get_msHyphens(This,p)
#define IHTMLCSSStyleDeclaration2_put_msHyphenateLimitZone(This,v) (This)->lpVtbl->put_msHyphenateLimitZone(This,v)
#define IHTMLCSSStyleDeclaration2_get_msHyphenateLimitZone(This,p) (This)->lpVtbl->get_msHyphenateLimitZone(This,p)
#define IHTMLCSSStyleDeclaration2_put_msHyphenateLimitChars(This,v) (This)->lpVtbl->put_msHyphenateLimitChars(This,v)
#define IHTMLCSSStyleDeclaration2_get_msHyphenateLimitChars(This,p) (This)->lpVtbl->get_msHyphenateLimitChars(This,p)
#define IHTMLCSSStyleDeclaration2_put_msHyphenateLimitLines(This,v) (This)->lpVtbl->put_msHyphenateLimitLines(This,v)
#define IHTMLCSSStyleDeclaration2_get_msHyphenateLimitLines(This,p) (This)->lpVtbl->get_msHyphenateLimitLines(This,p)
#define IHTMLCSSStyleDeclaration2_put_msHighContrastAdjust(This,v) (This)->lpVtbl->put_msHighContrastAdjust(This,v)
#define IHTMLCSSStyleDeclaration2_get_msHighContrastAdjust(This,p) (This)->lpVtbl->get_msHighContrastAdjust(This,p)
#define IHTMLCSSStyleDeclaration2_put_enableBackground(This,v) (This)->lpVtbl->put_enableBackground(This,v)
#define IHTMLCSSStyleDeclaration2_get_enableBackground(This,p) (This)->lpVtbl->get_enableBackground(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFontFeatureSettings(This,v) (This)->lpVtbl->put_msFontFeatureSettings(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFontFeatureSettings(This,p) (This)->lpVtbl->get_msFontFeatureSettings(This,p)
#define IHTMLCSSStyleDeclaration2_put_msUserSelect(This,v) (This)->lpVtbl->put_msUserSelect(This,v)
#define IHTMLCSSStyleDeclaration2_get_msUserSelect(This,p) (This)->lpVtbl->get_msUserSelect(This,p)
#define IHTMLCSSStyleDeclaration2_put_msOverflowStyle(This,v) (This)->lpVtbl->put_msOverflowStyle(This,v)
#define IHTMLCSSStyleDeclaration2_get_msOverflowStyle(This,p) (This)->lpVtbl->get_msOverflowStyle(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTransformStyle(This,v) (This)->lpVtbl->put_msTransformStyle(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTransformStyle(This,p) (This)->lpVtbl->get_msTransformStyle(This,p)
#define IHTMLCSSStyleDeclaration2_put_msBackfaceVisibility(This,v) (This)->lpVtbl->put_msBackfaceVisibility(This,v)
#define IHTMLCSSStyleDeclaration2_get_msBackfaceVisibility(This,p) (This)->lpVtbl->get_msBackfaceVisibility(This,p)
#define IHTMLCSSStyleDeclaration2_put_msPerspective(This,v) (This)->lpVtbl->put_msPerspective(This,v)
#define IHTMLCSSStyleDeclaration2_get_msPerspective(This,p) (This)->lpVtbl->get_msPerspective(This,p)
#define IHTMLCSSStyleDeclaration2_put_msPerspectiveOrigin(This,v) (This)->lpVtbl->put_msPerspectiveOrigin(This,v)
#define IHTMLCSSStyleDeclaration2_get_msPerspectiveOrigin(This,p) (This)->lpVtbl->get_msPerspectiveOrigin(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTransitionProperty(This,v) (This)->lpVtbl->put_msTransitionProperty(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTransitionProperty(This,p) (This)->lpVtbl->get_msTransitionProperty(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTransitionDuration(This,v) (This)->lpVtbl->put_msTransitionDuration(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTransitionDuration(This,p) (This)->lpVtbl->get_msTransitionDuration(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTransitionTimingFunction(This,v) (This)->lpVtbl->put_msTransitionTimingFunction(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTransitionTimingFunction(This,p) (This)->lpVtbl->get_msTransitionTimingFunction(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTransitionDelay(This,v) (This)->lpVtbl->put_msTransitionDelay(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTransitionDelay(This,p) (This)->lpVtbl->get_msTransitionDelay(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTransition(This,v) (This)->lpVtbl->put_msTransition(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTransition(This,p) (This)->lpVtbl->get_msTransition(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTouchAction(This,v) (This)->lpVtbl->put_msTouchAction(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTouchAction(This,p) (This)->lpVtbl->get_msTouchAction(This,p)
#define IHTMLCSSStyleDeclaration2_put_msScrollTranslation(This,v) (This)->lpVtbl->put_msScrollTranslation(This,v)
#define IHTMLCSSStyleDeclaration2_get_msScrollTranslation(This,p) (This)->lpVtbl->get_msScrollTranslation(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlex(This,v) (This)->lpVtbl->put_msFlex(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlex(This,p) (This)->lpVtbl->get_msFlex(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexPositive(This,v) (This)->lpVtbl->put_msFlexPositive(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexPositive(This,p) (This)->lpVtbl->get_msFlexPositive(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexNegative(This,v) (This)->lpVtbl->put_msFlexNegative(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexNegative(This,p) (This)->lpVtbl->get_msFlexNegative(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexPreferredSize(This,v) (This)->lpVtbl->put_msFlexPreferredSize(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexPreferredSize(This,p) (This)->lpVtbl->get_msFlexPreferredSize(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexFlow(This,v) (This)->lpVtbl->put_msFlexFlow(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexFlow(This,p) (This)->lpVtbl->get_msFlexFlow(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexDirection(This,v) (This)->lpVtbl->put_msFlexDirection(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexDirection(This,p) (This)->lpVtbl->get_msFlexDirection(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexWrap(This,v) (This)->lpVtbl->put_msFlexWrap(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexWrap(This,p) (This)->lpVtbl->get_msFlexWrap(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexAlign(This,v) (This)->lpVtbl->put_msFlexAlign(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexAlign(This,p) (This)->lpVtbl->get_msFlexAlign(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexItemAlign(This,v) (This)->lpVtbl->put_msFlexItemAlign(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexItemAlign(This,p) (This)->lpVtbl->get_msFlexItemAlign(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexPack(This,v) (This)->lpVtbl->put_msFlexPack(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexPack(This,p) (This)->lpVtbl->get_msFlexPack(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexLinePack(This,v) (This)->lpVtbl->put_msFlexLinePack(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexLinePack(This,p) (This)->lpVtbl->get_msFlexLinePack(This,p)
#define IHTMLCSSStyleDeclaration2_put_msFlexOrder(This,v) (This)->lpVtbl->put_msFlexOrder(This,v)
#define IHTMLCSSStyleDeclaration2_get_msFlexOrder(This,p) (This)->lpVtbl->get_msFlexOrder(This,p)
#define IHTMLCSSStyleDeclaration2_put_msTouchSelect(This,v) (This)->lpVtbl->put_msTouchSelect(This,v)
#define IHTMLCSSStyleDeclaration2_get_msTouchSelect(This,p) (This)->lpVtbl->get_msTouchSelect(This,p)
#define IHTMLCSSStyleDeclaration2_put_transform(This,v) (This)->lpVtbl->put_transform(This,v)
#define IHTMLCSSStyleDeclaration2_get_transform(This,p) (This)->lpVtbl->get_transform(This,p)
#define IHTMLCSSStyleDeclaration2_put_transformOrigin(This,v) (This)->lpVtbl->put_transformOrigin(This,v)
#define IHTMLCSSStyleDeclaration2_get_transformOrigin(This,p) (This)->lpVtbl->get_transformOrigin(This,p)
#define IHTMLCSSStyleDeclaration2_put_transformStyle(This,v) (This)->lpVtbl->put_transformStyle(This,v)
#define IHTMLCSSStyleDeclaration2_get_transformStyle(This,p) (This)->lpVtbl->get_transformStyle(This,p)
#define IHTMLCSSStyleDeclaration2_put_backfaceVisibility(This,v) (This)->lpVtbl->put_backfaceVisibility(This,v)
#define IHTMLCSSStyleDeclaration2_get_backfaceVisibility(This,p) (This)->lpVtbl->get_backfaceVisibility(This,p)
#define IHTMLCSSStyleDeclaration2_put_perspective(This,v) (This)->lpVtbl->put_perspective(This,v)
#define IHTMLCSSStyleDeclaration2_get_perspective(This,p) (This)->lpVtbl->get_perspective(This,p)
#define IHTMLCSSStyleDeclaration2_put_perspectiveOrigin(This,v) (This)->lpVtbl->put_perspectiveOrigin(This,v)
#define IHTMLCSSStyleDeclaration2_get_perspectiveOrigin(This,p) (This)->lpVtbl->get_perspectiveOrigin(This,p)
#define IHTMLCSSStyleDeclaration2_put_transitionProperty(This,v) (This)->lpVtbl->put_transitionProperty(This,v)
#define IHTMLCSSStyleDeclaration2_get_transitionProperty(This,p) (This)->lpVtbl->get_transitionProperty(This,p)
#define IHTMLCSSStyleDeclaration2_put_transitionDuration(This,v) (This)->lpVtbl->put_transitionDuration(This,v)
#define IHTMLCSSStyleDeclaration2_get_transitionDuration(This,p) (This)->lpVtbl->get_transitionDuration(This,p)
#define IHTMLCSSStyleDeclaration2_put_transitionTimingFunction(This,v) (This)->lpVtbl->put_transitionTimingFunction(This,v)
#define IHTMLCSSStyleDeclaration2_get_transitionTimingFunction(This,p) (This)->lpVtbl->get_transitionTimingFunction(This,p)
#define IHTMLCSSStyleDeclaration2_put_transitionDelay(This,v) (This)->lpVtbl->put_transitionDelay(This,v)
#define IHTMLCSSStyleDeclaration2_get_transitionDelay(This,p) (This)->lpVtbl->get_transitionDelay(This,p)
#define IHTMLCSSStyleDeclaration2_put_transition(This,v) (This)->lpVtbl->put_transition(This,v)
#define IHTMLCSSStyleDeclaration2_get_transition(This,p) (This)->lpVtbl->get_transition(This,p)
#define IHTMLCSSStyleDeclaration2_put_fontFeatureSettings(This,v) (This)->lpVtbl->put_fontFeatureSettings(This,v)
#define IHTMLCSSStyleDeclaration2_get_fontFeatureSettings(This,p) (This)->lpVtbl->get_fontFeatureSettings(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationName(This,v) (This)->lpVtbl->put_animationName(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationName(This,p) (This)->lpVtbl->get_animationName(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationDuration(This,v) (This)->lpVtbl->put_animationDuration(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationDuration(This,p) (This)->lpVtbl->get_animationDuration(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationTimingFunction(This,v) (This)->lpVtbl->put_animationTimingFunction(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationTimingFunction(This,p) (This)->lpVtbl->get_animationTimingFunction(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationDelay(This,v) (This)->lpVtbl->put_animationDelay(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationDelay(This,p) (This)->lpVtbl->get_animationDelay(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationDirection(This,v) (This)->lpVtbl->put_animationDirection(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationDirection(This,p) (This)->lpVtbl->get_animationDirection(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationPlayState(This,v) (This)->lpVtbl->put_animationPlayState(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationPlayState(This,p) (This)->lpVtbl->get_animationPlayState(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationIterationCount(This,v) (This)->lpVtbl->put_animationIterationCount(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationIterationCount(This,p) (This)->lpVtbl->get_animationIterationCount(This,p)
#define IHTMLCSSStyleDeclaration2_put_animation(This,v) (This)->lpVtbl->put_animation(This,v)
#define IHTMLCSSStyleDeclaration2_get_animation(This,p) (This)->lpVtbl->get_animation(This,p)
#define IHTMLCSSStyleDeclaration2_put_animationFillMode(This,v) (This)->lpVtbl->put_animationFillMode(This,v)
#define IHTMLCSSStyleDeclaration2_get_animationFillMode(This,p) (This)->lpVtbl->get_animationFillMode(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCSSStyleDeclaration2_QueryInterface(IHTMLCSSStyleDeclaration2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCSSStyleDeclaration2_AddRef(IHTMLCSSStyleDeclaration2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCSSStyleDeclaration2_Release(IHTMLCSSStyleDeclaration2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCSSStyleDeclaration2_GetTypeInfoCount(IHTMLCSSStyleDeclaration2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_GetTypeInfo(IHTMLCSSStyleDeclaration2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_GetIDsOfNames(IHTMLCSSStyleDeclaration2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_Invoke(IHTMLCSSStyleDeclaration2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCSSStyleDeclaration2 methods ***/
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollChaining(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollChaining(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollChaining(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollChaining(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZooming(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msContentZooming(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZooming(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msContentZooming(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZoomSnapType(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msContentZoomSnapType(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZoomSnapType(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msContentZoomSnapType(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollRails(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollRails(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollRails(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollRails(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZoomChaining(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msContentZoomChaining(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZoomChaining(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msContentZoomChaining(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollSnapType(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollSnapType(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollSnapType(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollSnapType(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZoomLimit(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msContentZoomLimit(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZoomLimit(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msContentZoomLimit(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZoomSnap(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msContentZoomSnap(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZoomSnap(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msContentZoomSnap(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZoomSnapPoints(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msContentZoomSnapPoints(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZoomSnapPoints(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msContentZoomSnapPoints(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZoomLimitMin(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msContentZoomLimitMin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZoomLimitMin(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msContentZoomLimitMin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msContentZoomLimitMax(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msContentZoomLimitMax(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msContentZoomLimitMax(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msContentZoomLimitMax(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollSnapX(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollSnapX(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollSnapX(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollSnapX(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollSnapY(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollSnapY(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollSnapY(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollSnapY(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollSnapPointsX(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollSnapPointsX(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollSnapPointsX(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollSnapPointsX(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollSnapPointsY(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollSnapPointsY(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollSnapPointsY(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollSnapPointsY(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridColumn(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msGridColumn(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridColumn(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msGridColumn(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridColumnAlign(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msGridColumnAlign(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridColumnAlign(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msGridColumnAlign(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridColumns(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msGridColumns(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridColumns(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msGridColumns(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridColumnSpan(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msGridColumnSpan(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridColumnSpan(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msGridColumnSpan(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridRow(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msGridRow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridRow(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msGridRow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridRowAlign(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msGridRowAlign(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridRowAlign(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msGridRowAlign(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridRows(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msGridRows(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridRows(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msGridRows(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msGridRowSpan(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msGridRowSpan(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msGridRowSpan(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msGridRowSpan(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msWrapThrough(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msWrapThrough(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msWrapThrough(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msWrapThrough(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msWrapMargin(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msWrapMargin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msWrapMargin(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msWrapMargin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msWrapFlow(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msWrapFlow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msWrapFlow(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msWrapFlow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationName(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationName(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationName(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationName(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationDuration(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationDuration(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationDuration(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationDuration(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationTimingFunction(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationTimingFunction(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationDelay(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationDelay(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationDelay(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationDelay(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationDirection(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationDirection(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationDirection(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationDirection(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationPlayState(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationPlayState(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationPlayState(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationPlayState(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationIterationCount(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationIterationCount(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationIterationCount(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationIterationCount(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimation(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimation(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimation(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimation(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msAnimationFillMode(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msAnimationFillMode(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msAnimationFillMode(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msAnimationFillMode(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_colorInterpolationFilters(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_colorInterpolationFilters(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_colorInterpolationFilters(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_colorInterpolationFilters(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnCount(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_columnCount(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnCount(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_columnCount(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnWidth(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_columnWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnWidth(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_columnWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnGap(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_columnGap(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnGap(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_columnGap(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnFill(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_columnFill(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnFill(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_columnFill(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnSpan(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_columnSpan(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnSpan(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_columnSpan(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columns(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_columns(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columns(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_columns(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnRule(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_columnRule(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnRule(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_columnRule(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnRuleColor(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_columnRuleColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnRuleColor(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_columnRuleColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnRuleStyle(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_columnRuleStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnRuleStyle(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_columnRuleStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_columnRuleWidth(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_columnRuleWidth(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_columnRuleWidth(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_columnRuleWidth(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_breakBefore(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_breakBefore(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_breakBefore(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_breakBefore(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_breakAfter(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_breakAfter(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_breakAfter(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_breakAfter(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_breakInside(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_breakInside(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_breakInside(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_breakInside(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_floodColor(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_floodColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_floodColor(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_floodColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_floodOpacity(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_floodOpacity(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_floodOpacity(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_floodOpacity(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_lightingColor(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_lightingColor(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_lightingColor(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_lightingColor(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollLimitXMin(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msScrollLimitXMin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollLimitXMin(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msScrollLimitXMin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollLimitYMin(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msScrollLimitYMin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollLimitYMin(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msScrollLimitYMin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollLimitXMax(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msScrollLimitXMax(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollLimitXMax(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msScrollLimitXMax(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollLimitYMax(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msScrollLimitYMax(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollLimitYMax(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msScrollLimitYMax(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollLimit(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollLimit(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollLimit(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollLimit(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_textShadow(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_textShadow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_textShadow(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_textShadow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlowFrom(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlowFrom(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlowFrom(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlowFrom(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlowInto(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlowInto(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlowInto(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlowInto(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msHyphens(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msHyphens(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msHyphens(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msHyphens(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msHyphenateLimitZone(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msHyphenateLimitZone(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msHyphenateLimitZone(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msHyphenateLimitZone(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msHyphenateLimitChars(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msHyphenateLimitChars(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msHyphenateLimitChars(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msHyphenateLimitChars(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msHyphenateLimitLines(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msHyphenateLimitLines(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msHyphenateLimitLines(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msHyphenateLimitLines(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msHighContrastAdjust(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msHighContrastAdjust(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msHighContrastAdjust(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msHighContrastAdjust(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_enableBackground(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_enableBackground(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_enableBackground(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_enableBackground(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFontFeatureSettings(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFontFeatureSettings(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFontFeatureSettings(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFontFeatureSettings(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msUserSelect(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msUserSelect(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msUserSelect(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msUserSelect(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msOverflowStyle(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msOverflowStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msOverflowStyle(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msOverflowStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTransformStyle(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTransformStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTransformStyle(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTransformStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msBackfaceVisibility(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msBackfaceVisibility(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msBackfaceVisibility(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msBackfaceVisibility(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msPerspective(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msPerspective(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msPerspective(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msPerspective(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msPerspectiveOrigin(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msPerspectiveOrigin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msPerspectiveOrigin(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msPerspectiveOrigin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTransitionProperty(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTransitionProperty(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTransitionProperty(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTransitionProperty(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTransitionDuration(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTransitionDuration(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTransitionDuration(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTransitionDuration(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTransitionTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTransitionTimingFunction(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTransitionTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTransitionTimingFunction(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTransitionDelay(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTransitionDelay(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTransitionDelay(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTransitionDelay(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTransition(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTransition(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTransition(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTransition(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTouchAction(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTouchAction(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTouchAction(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTouchAction(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msScrollTranslation(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msScrollTranslation(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msScrollTranslation(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msScrollTranslation(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlex(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlex(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlex(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlex(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexPositive(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msFlexPositive(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexPositive(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msFlexPositive(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexNegative(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msFlexNegative(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexNegative(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msFlexNegative(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexPreferredSize(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msFlexPreferredSize(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexPreferredSize(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msFlexPreferredSize(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexFlow(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlexFlow(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexFlow(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlexFlow(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexDirection(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlexDirection(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexDirection(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlexDirection(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexWrap(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlexWrap(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexWrap(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlexWrap(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexAlign(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlexAlign(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexAlign(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlexAlign(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexItemAlign(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlexItemAlign(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexItemAlign(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlexItemAlign(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexPack(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlexPack(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexPack(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlexPack(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexLinePack(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msFlexLinePack(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexLinePack(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msFlexLinePack(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msFlexOrder(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_msFlexOrder(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msFlexOrder(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_msFlexOrder(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_msTouchSelect(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_msTouchSelect(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_msTouchSelect(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_msTouchSelect(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transform(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transform(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transform(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transform(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transformOrigin(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transformOrigin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transformOrigin(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transformOrigin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transformStyle(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transformStyle(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transformStyle(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transformStyle(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_backfaceVisibility(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_backfaceVisibility(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_backfaceVisibility(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_backfaceVisibility(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_perspective(IHTMLCSSStyleDeclaration2* This,VARIANT v) {
    return This->lpVtbl->put_perspective(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_perspective(IHTMLCSSStyleDeclaration2* This,VARIANT *p) {
    return This->lpVtbl->get_perspective(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_perspectiveOrigin(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_perspectiveOrigin(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_perspectiveOrigin(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_perspectiveOrigin(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transitionProperty(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transitionProperty(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transitionProperty(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transitionProperty(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transitionDuration(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transitionDuration(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transitionDuration(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transitionDuration(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transitionTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transitionTimingFunction(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transitionTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transitionTimingFunction(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transitionDelay(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transitionDelay(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transitionDelay(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transitionDelay(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_transition(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_transition(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_transition(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_transition(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_fontFeatureSettings(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_fontFeatureSettings(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_fontFeatureSettings(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_fontFeatureSettings(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationName(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationName(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationName(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationName(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationDuration(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationDuration(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationDuration(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationDuration(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationTimingFunction(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationTimingFunction(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationTimingFunction(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationDelay(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationDelay(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationDelay(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationDelay(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationDirection(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationDirection(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationDirection(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationDirection(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationPlayState(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationPlayState(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationPlayState(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationPlayState(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationIterationCount(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationIterationCount(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationIterationCount(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationIterationCount(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animation(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animation(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animation(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animation(This,p);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_put_animationFillMode(IHTMLCSSStyleDeclaration2* This,BSTR v) {
    return This->lpVtbl->put_animationFillMode(This,v);
}
static inline HRESULT IHTMLCSSStyleDeclaration2_get_animationFillMode(IHTMLCSSStyleDeclaration2* This,BSTR *p) {
    return This->lpVtbl->get_animationFillMode(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCSSStyleDeclaration2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleEnabled interface
 */
#ifndef __IHTMLStyleEnabled_INTERFACE_DEFINED__
#define __IHTMLStyleEnabled_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleEnabled, 0x305104c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleEnabled : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE msGetPropertyEnabled(
        BSTR name,
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE msPutPropertyEnabled(
        BSTR name,
        VARIANT_BOOL b) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleEnabled, 0x305104c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleEnabledVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleEnabled *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleEnabled *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleEnabled *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleEnabled *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleEnabled methods ***/
    HRESULT (STDMETHODCALLTYPE *msGetPropertyEnabled)(
        IHTMLStyleEnabled *This,
        BSTR name,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *msPutPropertyEnabled)(
        IHTMLStyleEnabled *This,
        BSTR name,
        VARIANT_BOOL b);

    END_INTERFACE
} IHTMLStyleEnabledVtbl;

interface IHTMLStyleEnabled {
    CONST_VTBL IHTMLStyleEnabledVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleEnabled_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleEnabled_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleEnabled_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleEnabled_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleEnabled_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleEnabled_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleEnabled_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleEnabled methods ***/
#define IHTMLStyleEnabled_msGetPropertyEnabled(This,name,p) (This)->lpVtbl->msGetPropertyEnabled(This,name,p)
#define IHTMLStyleEnabled_msPutPropertyEnabled(This,name,b) (This)->lpVtbl->msPutPropertyEnabled(This,name,b)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleEnabled_QueryInterface(IHTMLStyleEnabled* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleEnabled_AddRef(IHTMLStyleEnabled* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleEnabled_Release(IHTMLStyleEnabled* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleEnabled_GetTypeInfoCount(IHTMLStyleEnabled* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleEnabled_GetTypeInfo(IHTMLStyleEnabled* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleEnabled_GetIDsOfNames(IHTMLStyleEnabled* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleEnabled_Invoke(IHTMLStyleEnabled* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleEnabled methods ***/
static inline HRESULT IHTMLStyleEnabled_msGetPropertyEnabled(IHTMLStyleEnabled* This,BSTR name,VARIANT_BOOL *p) {
    return This->lpVtbl->msGetPropertyEnabled(This,name,p);
}
static inline HRESULT IHTMLStyleEnabled_msPutPropertyEnabled(IHTMLStyleEnabled* This,BSTR name,VARIANT_BOOL b) {
    return This->lpVtbl->msPutPropertyEnabled(This,name,b);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleEnabled_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLCSSStyleDeclaration dispinterface
 */
#ifndef __DispHTMLCSSStyleDeclaration_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSStyleDeclaration_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCSSStyleDeclaration, 0x3059009a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059009a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCSSStyleDeclaration : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCSSStyleDeclaration, 0x3059009a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCSSStyleDeclarationVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCSSStyleDeclaration *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCSSStyleDeclaration *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCSSStyleDeclaration *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCSSStyleDeclaration *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCSSStyleDeclarationVtbl;

interface DispHTMLCSSStyleDeclaration {
    CONST_VTBL DispHTMLCSSStyleDeclarationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCSSStyleDeclaration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCSSStyleDeclaration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCSSStyleDeclaration_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCSSStyleDeclaration_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCSSStyleDeclaration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCSSStyleDeclaration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCSSStyleDeclaration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCSSStyleDeclaration_QueryInterface(DispHTMLCSSStyleDeclaration* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCSSStyleDeclaration_AddRef(DispHTMLCSSStyleDeclaration* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCSSStyleDeclaration_Release(DispHTMLCSSStyleDeclaration* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCSSStyleDeclaration_GetTypeInfoCount(DispHTMLCSSStyleDeclaration* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCSSStyleDeclaration_GetTypeInfo(DispHTMLCSSStyleDeclaration* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCSSStyleDeclaration_GetIDsOfNames(DispHTMLCSSStyleDeclaration* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCSSStyleDeclaration_Invoke(DispHTMLCSSStyleDeclaration* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCSSStyleDeclaration_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCSSStyleDeclaration coclass
 */

DEFINE_GUID(CLSID_HTMLCSSStyleDeclaration, 0x30510741, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510741-98b5-11cf-bb82-00aa00bdce0b") HTMLCSSStyleDeclaration;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCSSStyleDeclaration, 0x30510741, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCSSStyleDeclaration;
/*****************************************************************************
 * IHTMLStyle interface
 */
#ifndef __IHTMLStyle_INTERFACE_DEFINED__
#define __IHTMLStyle_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyle, 0x3050f25e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f25e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyle : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_fontFamily(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontFamily(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontVariant(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontVariant(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontWeight(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontWeight(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontSize(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontSize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_font(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_font(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_color(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_background(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_background(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundImage(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundRepeat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundRepeat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundAttachment(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundAttachment(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPositionX(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionX(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPositionY(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionY(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_letterSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_letterSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecoration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecoration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationNone(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationNone(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationUnderline(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationUnderline(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationOverline(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationOverline(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationLineThrough(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationLineThrough(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationBlink(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationBlink(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_verticalAlign(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_verticalAlign(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textTransform(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textTransform(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textIndent(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textIndent(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginRight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginBottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_margin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_margin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingRight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingBottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_padding(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_padding(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTop(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTop(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRight(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRight(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottom(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottom(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeft(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeft(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderWidth(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderWidth(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_styleFloat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleFloat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clear(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clear(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_display(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_display(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_visibility(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_visibility(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyleType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStylePosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStylePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyleImage(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_whiteSpace(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_whiteSpace(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_top(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_top(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_left(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_left(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_zIndex(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zIndex(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakBefore(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakBefore(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakAfter(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakAfter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cssText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelTop(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelLeft(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelWidth(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelHeight(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posTop(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posTop(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posLeft(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posLeft(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posWidth(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posWidth(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posHeight(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posHeight(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cursor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cursor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clip(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clip(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_filter(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_filter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttribute(
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags = 1) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR strAttributeName,
        LONG lFlags = 0,
        VARIANT *AttributeValue = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        LONG lFlags = 1,
        VARIANT_BOOL *pfSuccess = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *String) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyle, 0x3050f25e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyle methods ***/
    HRESULT (STDMETHODCALLTYPE *put_fontFamily)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontFamily)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontStyle)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontStyle)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontVariant)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontVariant)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontWeight)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontWeight)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontSize)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_fontSize)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_font)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_font)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_color)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_background)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_background)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundColor)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundColor)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundImage)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundImage)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundRepeat)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundRepeat)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundAttachment)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundAttachment)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPosition)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPosition)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPositionX)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionX)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPositionY)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionY)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_wordSpacing)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_wordSpacing)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_letterSpacing)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_letterSpacing)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecoration)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textDecoration)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationNone)(
        IHTMLStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationNone)(
        IHTMLStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationUnderline)(
        IHTMLStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationUnderline)(
        IHTMLStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationOverline)(
        IHTMLStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationOverline)(
        IHTMLStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationLineThrough)(
        IHTMLStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationLineThrough)(
        IHTMLStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationBlink)(
        IHTMLStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationBlink)(
        IHTMLStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_verticalAlign)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_verticalAlign)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textTransform)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textTransform)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAlign)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAlign)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textIndent)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textIndent)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_lineHeight)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_lineHeight)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginTop)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginTop)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginRight)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginRight)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginBottom)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginBottom)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginLeft)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginLeft)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_margin)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_margin)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingTop)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingTop)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingRight)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingRight)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingBottom)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingBottom)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingLeft)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingLeft)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_padding)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_padding)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTop)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTop)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRight)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderRight)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottom)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottom)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeft)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeft)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopColor)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopColor)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightColor)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightColor)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomColor)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomColor)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftColor)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftColor)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderWidth)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderWidth)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopWidth)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopWidth)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightWidth)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightWidth)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomWidth)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomWidth)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftWidth)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftWidth)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderStyle)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderStyle)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopStyle)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopStyle)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightStyle)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightStyle)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomStyle)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomStyle)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftStyle)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftStyle)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_styleFloat)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_styleFloat)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clear)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clear)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_display)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_display)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_visibility)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_visibility)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyleType)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyleType)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStylePosition)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStylePosition)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyleImage)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyleImage)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyle)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyle)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_whiteSpace)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_whiteSpace)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_top)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_top)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_left)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_left)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_zIndex)(
        IHTMLStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_zIndex)(
        IHTMLStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_overflow)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflow)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakBefore)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakBefore)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakAfter)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakAfter)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cssText)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cssText)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelTop)(
        IHTMLStyle *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelTop)(
        IHTMLStyle *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelLeft)(
        IHTMLStyle *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelLeft)(
        IHTMLStyle *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelWidth)(
        IHTMLStyle *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelWidth)(
        IHTMLStyle *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelHeight)(
        IHTMLStyle *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelHeight)(
        IHTMLStyle *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_posTop)(
        IHTMLStyle *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posTop)(
        IHTMLStyle *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_posLeft)(
        IHTMLStyle *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posLeft)(
        IHTMLStyle *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_posWidth)(
        IHTMLStyle *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posWidth)(
        IHTMLStyle *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_posHeight)(
        IHTMLStyle *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posHeight)(
        IHTMLStyle *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_cursor)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cursor)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clip)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clip)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_filter)(
        IHTMLStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_filter)(
        IHTMLStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *setAttribute)(
        IHTMLStyle *This,
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLStyle *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *removeAttribute)(
        IHTMLStyle *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT_BOOL *pfSuccess);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLStyle *This,
        BSTR *String);

    END_INTERFACE
} IHTMLStyleVtbl;

interface IHTMLStyle {
    CONST_VTBL IHTMLStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyle methods ***/
#define IHTMLStyle_put_fontFamily(This,v) (This)->lpVtbl->put_fontFamily(This,v)
#define IHTMLStyle_get_fontFamily(This,p) (This)->lpVtbl->get_fontFamily(This,p)
#define IHTMLStyle_put_fontStyle(This,v) (This)->lpVtbl->put_fontStyle(This,v)
#define IHTMLStyle_get_fontStyle(This,p) (This)->lpVtbl->get_fontStyle(This,p)
#define IHTMLStyle_put_fontVariant(This,v) (This)->lpVtbl->put_fontVariant(This,v)
#define IHTMLStyle_get_fontVariant(This,p) (This)->lpVtbl->get_fontVariant(This,p)
#define IHTMLStyle_put_fontWeight(This,v) (This)->lpVtbl->put_fontWeight(This,v)
#define IHTMLStyle_get_fontWeight(This,p) (This)->lpVtbl->get_fontWeight(This,p)
#define IHTMLStyle_put_fontSize(This,v) (This)->lpVtbl->put_fontSize(This,v)
#define IHTMLStyle_get_fontSize(This,p) (This)->lpVtbl->get_fontSize(This,p)
#define IHTMLStyle_put_font(This,v) (This)->lpVtbl->put_font(This,v)
#define IHTMLStyle_get_font(This,p) (This)->lpVtbl->get_font(This,p)
#define IHTMLStyle_put_color(This,v) (This)->lpVtbl->put_color(This,v)
#define IHTMLStyle_get_color(This,p) (This)->lpVtbl->get_color(This,p)
#define IHTMLStyle_put_background(This,v) (This)->lpVtbl->put_background(This,v)
#define IHTMLStyle_get_background(This,p) (This)->lpVtbl->get_background(This,p)
#define IHTMLStyle_put_backgroundColor(This,v) (This)->lpVtbl->put_backgroundColor(This,v)
#define IHTMLStyle_get_backgroundColor(This,p) (This)->lpVtbl->get_backgroundColor(This,p)
#define IHTMLStyle_put_backgroundImage(This,v) (This)->lpVtbl->put_backgroundImage(This,v)
#define IHTMLStyle_get_backgroundImage(This,p) (This)->lpVtbl->get_backgroundImage(This,p)
#define IHTMLStyle_put_backgroundRepeat(This,v) (This)->lpVtbl->put_backgroundRepeat(This,v)
#define IHTMLStyle_get_backgroundRepeat(This,p) (This)->lpVtbl->get_backgroundRepeat(This,p)
#define IHTMLStyle_put_backgroundAttachment(This,v) (This)->lpVtbl->put_backgroundAttachment(This,v)
#define IHTMLStyle_get_backgroundAttachment(This,p) (This)->lpVtbl->get_backgroundAttachment(This,p)
#define IHTMLStyle_put_backgroundPosition(This,v) (This)->lpVtbl->put_backgroundPosition(This,v)
#define IHTMLStyle_get_backgroundPosition(This,p) (This)->lpVtbl->get_backgroundPosition(This,p)
#define IHTMLStyle_put_backgroundPositionX(This,v) (This)->lpVtbl->put_backgroundPositionX(This,v)
#define IHTMLStyle_get_backgroundPositionX(This,p) (This)->lpVtbl->get_backgroundPositionX(This,p)
#define IHTMLStyle_put_backgroundPositionY(This,v) (This)->lpVtbl->put_backgroundPositionY(This,v)
#define IHTMLStyle_get_backgroundPositionY(This,p) (This)->lpVtbl->get_backgroundPositionY(This,p)
#define IHTMLStyle_put_wordSpacing(This,v) (This)->lpVtbl->put_wordSpacing(This,v)
#define IHTMLStyle_get_wordSpacing(This,p) (This)->lpVtbl->get_wordSpacing(This,p)
#define IHTMLStyle_put_letterSpacing(This,v) (This)->lpVtbl->put_letterSpacing(This,v)
#define IHTMLStyle_get_letterSpacing(This,p) (This)->lpVtbl->get_letterSpacing(This,p)
#define IHTMLStyle_put_textDecoration(This,v) (This)->lpVtbl->put_textDecoration(This,v)
#define IHTMLStyle_get_textDecoration(This,p) (This)->lpVtbl->get_textDecoration(This,p)
#define IHTMLStyle_put_textDecorationNone(This,v) (This)->lpVtbl->put_textDecorationNone(This,v)
#define IHTMLStyle_get_textDecorationNone(This,p) (This)->lpVtbl->get_textDecorationNone(This,p)
#define IHTMLStyle_put_textDecorationUnderline(This,v) (This)->lpVtbl->put_textDecorationUnderline(This,v)
#define IHTMLStyle_get_textDecorationUnderline(This,p) (This)->lpVtbl->get_textDecorationUnderline(This,p)
#define IHTMLStyle_put_textDecorationOverline(This,v) (This)->lpVtbl->put_textDecorationOverline(This,v)
#define IHTMLStyle_get_textDecorationOverline(This,p) (This)->lpVtbl->get_textDecorationOverline(This,p)
#define IHTMLStyle_put_textDecorationLineThrough(This,v) (This)->lpVtbl->put_textDecorationLineThrough(This,v)
#define IHTMLStyle_get_textDecorationLineThrough(This,p) (This)->lpVtbl->get_textDecorationLineThrough(This,p)
#define IHTMLStyle_put_textDecorationBlink(This,v) (This)->lpVtbl->put_textDecorationBlink(This,v)
#define IHTMLStyle_get_textDecorationBlink(This,p) (This)->lpVtbl->get_textDecorationBlink(This,p)
#define IHTMLStyle_put_verticalAlign(This,v) (This)->lpVtbl->put_verticalAlign(This,v)
#define IHTMLStyle_get_verticalAlign(This,p) (This)->lpVtbl->get_verticalAlign(This,p)
#define IHTMLStyle_put_textTransform(This,v) (This)->lpVtbl->put_textTransform(This,v)
#define IHTMLStyle_get_textTransform(This,p) (This)->lpVtbl->get_textTransform(This,p)
#define IHTMLStyle_put_textAlign(This,v) (This)->lpVtbl->put_textAlign(This,v)
#define IHTMLStyle_get_textAlign(This,p) (This)->lpVtbl->get_textAlign(This,p)
#define IHTMLStyle_put_textIndent(This,v) (This)->lpVtbl->put_textIndent(This,v)
#define IHTMLStyle_get_textIndent(This,p) (This)->lpVtbl->get_textIndent(This,p)
#define IHTMLStyle_put_lineHeight(This,v) (This)->lpVtbl->put_lineHeight(This,v)
#define IHTMLStyle_get_lineHeight(This,p) (This)->lpVtbl->get_lineHeight(This,p)
#define IHTMLStyle_put_marginTop(This,v) (This)->lpVtbl->put_marginTop(This,v)
#define IHTMLStyle_get_marginTop(This,p) (This)->lpVtbl->get_marginTop(This,p)
#define IHTMLStyle_put_marginRight(This,v) (This)->lpVtbl->put_marginRight(This,v)
#define IHTMLStyle_get_marginRight(This,p) (This)->lpVtbl->get_marginRight(This,p)
#define IHTMLStyle_put_marginBottom(This,v) (This)->lpVtbl->put_marginBottom(This,v)
#define IHTMLStyle_get_marginBottom(This,p) (This)->lpVtbl->get_marginBottom(This,p)
#define IHTMLStyle_put_marginLeft(This,v) (This)->lpVtbl->put_marginLeft(This,v)
#define IHTMLStyle_get_marginLeft(This,p) (This)->lpVtbl->get_marginLeft(This,p)
#define IHTMLStyle_put_margin(This,v) (This)->lpVtbl->put_margin(This,v)
#define IHTMLStyle_get_margin(This,p) (This)->lpVtbl->get_margin(This,p)
#define IHTMLStyle_put_paddingTop(This,v) (This)->lpVtbl->put_paddingTop(This,v)
#define IHTMLStyle_get_paddingTop(This,p) (This)->lpVtbl->get_paddingTop(This,p)
#define IHTMLStyle_put_paddingRight(This,v) (This)->lpVtbl->put_paddingRight(This,v)
#define IHTMLStyle_get_paddingRight(This,p) (This)->lpVtbl->get_paddingRight(This,p)
#define IHTMLStyle_put_paddingBottom(This,v) (This)->lpVtbl->put_paddingBottom(This,v)
#define IHTMLStyle_get_paddingBottom(This,p) (This)->lpVtbl->get_paddingBottom(This,p)
#define IHTMLStyle_put_paddingLeft(This,v) (This)->lpVtbl->put_paddingLeft(This,v)
#define IHTMLStyle_get_paddingLeft(This,p) (This)->lpVtbl->get_paddingLeft(This,p)
#define IHTMLStyle_put_padding(This,v) (This)->lpVtbl->put_padding(This,v)
#define IHTMLStyle_get_padding(This,p) (This)->lpVtbl->get_padding(This,p)
#define IHTMLStyle_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLStyle_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLStyle_put_borderTop(This,v) (This)->lpVtbl->put_borderTop(This,v)
#define IHTMLStyle_get_borderTop(This,p) (This)->lpVtbl->get_borderTop(This,p)
#define IHTMLStyle_put_borderRight(This,v) (This)->lpVtbl->put_borderRight(This,v)
#define IHTMLStyle_get_borderRight(This,p) (This)->lpVtbl->get_borderRight(This,p)
#define IHTMLStyle_put_borderBottom(This,v) (This)->lpVtbl->put_borderBottom(This,v)
#define IHTMLStyle_get_borderBottom(This,p) (This)->lpVtbl->get_borderBottom(This,p)
#define IHTMLStyle_put_borderLeft(This,v) (This)->lpVtbl->put_borderLeft(This,v)
#define IHTMLStyle_get_borderLeft(This,p) (This)->lpVtbl->get_borderLeft(This,p)
#define IHTMLStyle_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLStyle_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLStyle_put_borderTopColor(This,v) (This)->lpVtbl->put_borderTopColor(This,v)
#define IHTMLStyle_get_borderTopColor(This,p) (This)->lpVtbl->get_borderTopColor(This,p)
#define IHTMLStyle_put_borderRightColor(This,v) (This)->lpVtbl->put_borderRightColor(This,v)
#define IHTMLStyle_get_borderRightColor(This,p) (This)->lpVtbl->get_borderRightColor(This,p)
#define IHTMLStyle_put_borderBottomColor(This,v) (This)->lpVtbl->put_borderBottomColor(This,v)
#define IHTMLStyle_get_borderBottomColor(This,p) (This)->lpVtbl->get_borderBottomColor(This,p)
#define IHTMLStyle_put_borderLeftColor(This,v) (This)->lpVtbl->put_borderLeftColor(This,v)
#define IHTMLStyle_get_borderLeftColor(This,p) (This)->lpVtbl->get_borderLeftColor(This,p)
#define IHTMLStyle_put_borderWidth(This,v) (This)->lpVtbl->put_borderWidth(This,v)
#define IHTMLStyle_get_borderWidth(This,p) (This)->lpVtbl->get_borderWidth(This,p)
#define IHTMLStyle_put_borderTopWidth(This,v) (This)->lpVtbl->put_borderTopWidth(This,v)
#define IHTMLStyle_get_borderTopWidth(This,p) (This)->lpVtbl->get_borderTopWidth(This,p)
#define IHTMLStyle_put_borderRightWidth(This,v) (This)->lpVtbl->put_borderRightWidth(This,v)
#define IHTMLStyle_get_borderRightWidth(This,p) (This)->lpVtbl->get_borderRightWidth(This,p)
#define IHTMLStyle_put_borderBottomWidth(This,v) (This)->lpVtbl->put_borderBottomWidth(This,v)
#define IHTMLStyle_get_borderBottomWidth(This,p) (This)->lpVtbl->get_borderBottomWidth(This,p)
#define IHTMLStyle_put_borderLeftWidth(This,v) (This)->lpVtbl->put_borderLeftWidth(This,v)
#define IHTMLStyle_get_borderLeftWidth(This,p) (This)->lpVtbl->get_borderLeftWidth(This,p)
#define IHTMLStyle_put_borderStyle(This,v) (This)->lpVtbl->put_borderStyle(This,v)
#define IHTMLStyle_get_borderStyle(This,p) (This)->lpVtbl->get_borderStyle(This,p)
#define IHTMLStyle_put_borderTopStyle(This,v) (This)->lpVtbl->put_borderTopStyle(This,v)
#define IHTMLStyle_get_borderTopStyle(This,p) (This)->lpVtbl->get_borderTopStyle(This,p)
#define IHTMLStyle_put_borderRightStyle(This,v) (This)->lpVtbl->put_borderRightStyle(This,v)
#define IHTMLStyle_get_borderRightStyle(This,p) (This)->lpVtbl->get_borderRightStyle(This,p)
#define IHTMLStyle_put_borderBottomStyle(This,v) (This)->lpVtbl->put_borderBottomStyle(This,v)
#define IHTMLStyle_get_borderBottomStyle(This,p) (This)->lpVtbl->get_borderBottomStyle(This,p)
#define IHTMLStyle_put_borderLeftStyle(This,v) (This)->lpVtbl->put_borderLeftStyle(This,v)
#define IHTMLStyle_get_borderLeftStyle(This,p) (This)->lpVtbl->get_borderLeftStyle(This,p)
#define IHTMLStyle_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLStyle_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLStyle_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLStyle_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLStyle_put_styleFloat(This,v) (This)->lpVtbl->put_styleFloat(This,v)
#define IHTMLStyle_get_styleFloat(This,p) (This)->lpVtbl->get_styleFloat(This,p)
#define IHTMLStyle_put_clear(This,v) (This)->lpVtbl->put_clear(This,v)
#define IHTMLStyle_get_clear(This,p) (This)->lpVtbl->get_clear(This,p)
#define IHTMLStyle_put_display(This,v) (This)->lpVtbl->put_display(This,v)
#define IHTMLStyle_get_display(This,p) (This)->lpVtbl->get_display(This,p)
#define IHTMLStyle_put_visibility(This,v) (This)->lpVtbl->put_visibility(This,v)
#define IHTMLStyle_get_visibility(This,p) (This)->lpVtbl->get_visibility(This,p)
#define IHTMLStyle_put_listStyleType(This,v) (This)->lpVtbl->put_listStyleType(This,v)
#define IHTMLStyle_get_listStyleType(This,p) (This)->lpVtbl->get_listStyleType(This,p)
#define IHTMLStyle_put_listStylePosition(This,v) (This)->lpVtbl->put_listStylePosition(This,v)
#define IHTMLStyle_get_listStylePosition(This,p) (This)->lpVtbl->get_listStylePosition(This,p)
#define IHTMLStyle_put_listStyleImage(This,v) (This)->lpVtbl->put_listStyleImage(This,v)
#define IHTMLStyle_get_listStyleImage(This,p) (This)->lpVtbl->get_listStyleImage(This,p)
#define IHTMLStyle_put_listStyle(This,v) (This)->lpVtbl->put_listStyle(This,v)
#define IHTMLStyle_get_listStyle(This,p) (This)->lpVtbl->get_listStyle(This,p)
#define IHTMLStyle_put_whiteSpace(This,v) (This)->lpVtbl->put_whiteSpace(This,v)
#define IHTMLStyle_get_whiteSpace(This,p) (This)->lpVtbl->get_whiteSpace(This,p)
#define IHTMLStyle_put_top(This,v) (This)->lpVtbl->put_top(This,v)
#define IHTMLStyle_get_top(This,p) (This)->lpVtbl->get_top(This,p)
#define IHTMLStyle_put_left(This,v) (This)->lpVtbl->put_left(This,v)
#define IHTMLStyle_get_left(This,p) (This)->lpVtbl->get_left(This,p)
#define IHTMLStyle_get_position(This,p) (This)->lpVtbl->get_position(This,p)
#define IHTMLStyle_put_zIndex(This,v) (This)->lpVtbl->put_zIndex(This,v)
#define IHTMLStyle_get_zIndex(This,p) (This)->lpVtbl->get_zIndex(This,p)
#define IHTMLStyle_put_overflow(This,v) (This)->lpVtbl->put_overflow(This,v)
#define IHTMLStyle_get_overflow(This,p) (This)->lpVtbl->get_overflow(This,p)
#define IHTMLStyle_put_pageBreakBefore(This,v) (This)->lpVtbl->put_pageBreakBefore(This,v)
#define IHTMLStyle_get_pageBreakBefore(This,p) (This)->lpVtbl->get_pageBreakBefore(This,p)
#define IHTMLStyle_put_pageBreakAfter(This,v) (This)->lpVtbl->put_pageBreakAfter(This,v)
#define IHTMLStyle_get_pageBreakAfter(This,p) (This)->lpVtbl->get_pageBreakAfter(This,p)
#define IHTMLStyle_put_cssText(This,v) (This)->lpVtbl->put_cssText(This,v)
#define IHTMLStyle_get_cssText(This,p) (This)->lpVtbl->get_cssText(This,p)
#define IHTMLStyle_put_pixelTop(This,v) (This)->lpVtbl->put_pixelTop(This,v)
#define IHTMLStyle_get_pixelTop(This,p) (This)->lpVtbl->get_pixelTop(This,p)
#define IHTMLStyle_put_pixelLeft(This,v) (This)->lpVtbl->put_pixelLeft(This,v)
#define IHTMLStyle_get_pixelLeft(This,p) (This)->lpVtbl->get_pixelLeft(This,p)
#define IHTMLStyle_put_pixelWidth(This,v) (This)->lpVtbl->put_pixelWidth(This,v)
#define IHTMLStyle_get_pixelWidth(This,p) (This)->lpVtbl->get_pixelWidth(This,p)
#define IHTMLStyle_put_pixelHeight(This,v) (This)->lpVtbl->put_pixelHeight(This,v)
#define IHTMLStyle_get_pixelHeight(This,p) (This)->lpVtbl->get_pixelHeight(This,p)
#define IHTMLStyle_put_posTop(This,v) (This)->lpVtbl->put_posTop(This,v)
#define IHTMLStyle_get_posTop(This,p) (This)->lpVtbl->get_posTop(This,p)
#define IHTMLStyle_put_posLeft(This,v) (This)->lpVtbl->put_posLeft(This,v)
#define IHTMLStyle_get_posLeft(This,p) (This)->lpVtbl->get_posLeft(This,p)
#define IHTMLStyle_put_posWidth(This,v) (This)->lpVtbl->put_posWidth(This,v)
#define IHTMLStyle_get_posWidth(This,p) (This)->lpVtbl->get_posWidth(This,p)
#define IHTMLStyle_put_posHeight(This,v) (This)->lpVtbl->put_posHeight(This,v)
#define IHTMLStyle_get_posHeight(This,p) (This)->lpVtbl->get_posHeight(This,p)
#define IHTMLStyle_put_cursor(This,v) (This)->lpVtbl->put_cursor(This,v)
#define IHTMLStyle_get_cursor(This,p) (This)->lpVtbl->get_cursor(This,p)
#define IHTMLStyle_put_clip(This,v) (This)->lpVtbl->put_clip(This,v)
#define IHTMLStyle_get_clip(This,p) (This)->lpVtbl->get_clip(This,p)
#define IHTMLStyle_put_filter(This,v) (This)->lpVtbl->put_filter(This,v)
#define IHTMLStyle_get_filter(This,p) (This)->lpVtbl->get_filter(This,p)
#define IHTMLStyle_setAttribute(This,strAttributeName,AttributeValue,lFlags) (This)->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags)
#define IHTMLStyle_getAttribute(This,strAttributeName,lFlags,AttributeValue) (This)->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue)
#define IHTMLStyle_removeAttribute(This,strAttributeName,lFlags,pfSuccess) (This)->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess)
#define IHTMLStyle_toString(This,String) (This)->lpVtbl->toString(This,String)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyle_QueryInterface(IHTMLStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyle_AddRef(IHTMLStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyle_Release(IHTMLStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyle_GetTypeInfoCount(IHTMLStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyle_GetTypeInfo(IHTMLStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyle_GetIDsOfNames(IHTMLStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyle_Invoke(IHTMLStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyle methods ***/
static inline HRESULT IHTMLStyle_put_fontFamily(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontFamily(This,v);
}
static inline HRESULT IHTMLStyle_get_fontFamily(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontFamily(This,p);
}
static inline HRESULT IHTMLStyle_put_fontStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontStyle(This,v);
}
static inline HRESULT IHTMLStyle_get_fontStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontStyle(This,p);
}
static inline HRESULT IHTMLStyle_put_fontVariant(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontVariant(This,v);
}
static inline HRESULT IHTMLStyle_get_fontVariant(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontVariant(This,p);
}
static inline HRESULT IHTMLStyle_put_fontWeight(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontWeight(This,v);
}
static inline HRESULT IHTMLStyle_get_fontWeight(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static inline HRESULT IHTMLStyle_put_fontSize(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_fontSize(This,v);
}
static inline HRESULT IHTMLStyle_get_fontSize(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static inline HRESULT IHTMLStyle_put_font(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_font(This,v);
}
static inline HRESULT IHTMLStyle_get_font(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_font(This,p);
}
static inline HRESULT IHTMLStyle_put_color(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static inline HRESULT IHTMLStyle_get_color(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static inline HRESULT IHTMLStyle_put_background(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static inline HRESULT IHTMLStyle_get_background(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static inline HRESULT IHTMLStyle_put_backgroundColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundColor(This,v);
}
static inline HRESULT IHTMLStyle_get_backgroundColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static inline HRESULT IHTMLStyle_put_backgroundImage(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundImage(This,v);
}
static inline HRESULT IHTMLStyle_get_backgroundImage(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundImage(This,p);
}
static inline HRESULT IHTMLStyle_put_backgroundRepeat(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundRepeat(This,v);
}
static inline HRESULT IHTMLStyle_get_backgroundRepeat(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundRepeat(This,p);
}
static inline HRESULT IHTMLStyle_put_backgroundAttachment(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundAttachment(This,v);
}
static inline HRESULT IHTMLStyle_get_backgroundAttachment(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundAttachment(This,p);
}
static inline HRESULT IHTMLStyle_put_backgroundPosition(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundPosition(This,v);
}
static inline HRESULT IHTMLStyle_get_backgroundPosition(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundPosition(This,p);
}
static inline HRESULT IHTMLStyle_put_backgroundPositionX(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionX(This,v);
}
static inline HRESULT IHTMLStyle_get_backgroundPositionX(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionX(This,p);
}
static inline HRESULT IHTMLStyle_put_backgroundPositionY(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionY(This,v);
}
static inline HRESULT IHTMLStyle_get_backgroundPositionY(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionY(This,p);
}
static inline HRESULT IHTMLStyle_put_wordSpacing(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_wordSpacing(This,v);
}
static inline HRESULT IHTMLStyle_get_wordSpacing(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_wordSpacing(This,p);
}
static inline HRESULT IHTMLStyle_put_letterSpacing(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_letterSpacing(This,v);
}
static inline HRESULT IHTMLStyle_get_letterSpacing(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_letterSpacing(This,p);
}
static inline HRESULT IHTMLStyle_put_textDecoration(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_textDecoration(This,v);
}
static inline HRESULT IHTMLStyle_get_textDecoration(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
static inline HRESULT IHTMLStyle_put_textDecorationNone(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationNone(This,v);
}
static inline HRESULT IHTMLStyle_get_textDecorationNone(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationNone(This,p);
}
static inline HRESULT IHTMLStyle_put_textDecorationUnderline(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationUnderline(This,v);
}
static inline HRESULT IHTMLStyle_get_textDecorationUnderline(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationUnderline(This,p);
}
static inline HRESULT IHTMLStyle_put_textDecorationOverline(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationOverline(This,v);
}
static inline HRESULT IHTMLStyle_get_textDecorationOverline(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationOverline(This,p);
}
static inline HRESULT IHTMLStyle_put_textDecorationLineThrough(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationLineThrough(This,v);
}
static inline HRESULT IHTMLStyle_get_textDecorationLineThrough(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationLineThrough(This,p);
}
static inline HRESULT IHTMLStyle_put_textDecorationBlink(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationBlink(This,v);
}
static inline HRESULT IHTMLStyle_get_textDecorationBlink(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationBlink(This,p);
}
static inline HRESULT IHTMLStyle_put_verticalAlign(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_verticalAlign(This,v);
}
static inline HRESULT IHTMLStyle_get_verticalAlign(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_verticalAlign(This,p);
}
static inline HRESULT IHTMLStyle_put_textTransform(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_textTransform(This,v);
}
static inline HRESULT IHTMLStyle_get_textTransform(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_textTransform(This,p);
}
static inline HRESULT IHTMLStyle_put_textAlign(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_textAlign(This,v);
}
static inline HRESULT IHTMLStyle_get_textAlign(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static inline HRESULT IHTMLStyle_put_textIndent(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_textIndent(This,v);
}
static inline HRESULT IHTMLStyle_get_textIndent(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textIndent(This,p);
}
static inline HRESULT IHTMLStyle_put_lineHeight(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_lineHeight(This,v);
}
static inline HRESULT IHTMLStyle_get_lineHeight(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_lineHeight(This,p);
}
static inline HRESULT IHTMLStyle_put_marginTop(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static inline HRESULT IHTMLStyle_get_marginTop(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static inline HRESULT IHTMLStyle_put_marginRight(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static inline HRESULT IHTMLStyle_get_marginRight(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static inline HRESULT IHTMLStyle_put_marginBottom(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static inline HRESULT IHTMLStyle_get_marginBottom(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static inline HRESULT IHTMLStyle_put_marginLeft(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static inline HRESULT IHTMLStyle_get_marginLeft(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static inline HRESULT IHTMLStyle_put_margin(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_margin(This,v);
}
static inline HRESULT IHTMLStyle_get_margin(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_margin(This,p);
}
static inline HRESULT IHTMLStyle_put_paddingTop(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingTop(This,v);
}
static inline HRESULT IHTMLStyle_get_paddingTop(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingTop(This,p);
}
static inline HRESULT IHTMLStyle_put_paddingRight(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingRight(This,v);
}
static inline HRESULT IHTMLStyle_get_paddingRight(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingRight(This,p);
}
static inline HRESULT IHTMLStyle_put_paddingBottom(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingBottom(This,v);
}
static inline HRESULT IHTMLStyle_get_paddingBottom(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingBottom(This,p);
}
static inline HRESULT IHTMLStyle_put_paddingLeft(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingLeft(This,v);
}
static inline HRESULT IHTMLStyle_get_paddingLeft(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingLeft(This,p);
}
static inline HRESULT IHTMLStyle_put_padding(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_padding(This,v);
}
static inline HRESULT IHTMLStyle_get_padding(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_padding(This,p);
}
static inline HRESULT IHTMLStyle_put_border(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLStyle_get_border(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLStyle_put_borderTop(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTop(This,v);
}
static inline HRESULT IHTMLStyle_get_borderTop(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTop(This,p);
}
static inline HRESULT IHTMLStyle_put_borderRight(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRight(This,v);
}
static inline HRESULT IHTMLStyle_get_borderRight(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRight(This,p);
}
static inline HRESULT IHTMLStyle_put_borderBottom(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottom(This,v);
}
static inline HRESULT IHTMLStyle_get_borderBottom(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottom(This,p);
}
static inline HRESULT IHTMLStyle_put_borderLeft(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeft(This,v);
}
static inline HRESULT IHTMLStyle_get_borderLeft(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeft(This,p);
}
static inline HRESULT IHTMLStyle_put_borderColor(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLStyle_get_borderColor(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLStyle_put_borderTopColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopColor(This,v);
}
static inline HRESULT IHTMLStyle_get_borderTopColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopColor(This,p);
}
static inline HRESULT IHTMLStyle_put_borderRightColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightColor(This,v);
}
static inline HRESULT IHTMLStyle_get_borderRightColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightColor(This,p);
}
static inline HRESULT IHTMLStyle_put_borderBottomColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomColor(This,v);
}
static inline HRESULT IHTMLStyle_get_borderBottomColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomColor(This,p);
}
static inline HRESULT IHTMLStyle_put_borderLeftColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftColor(This,v);
}
static inline HRESULT IHTMLStyle_get_borderLeftColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftColor(This,p);
}
static inline HRESULT IHTMLStyle_put_borderWidth(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderWidth(This,v);
}
static inline HRESULT IHTMLStyle_get_borderWidth(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderWidth(This,p);
}
static inline HRESULT IHTMLStyle_put_borderTopWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopWidth(This,v);
}
static inline HRESULT IHTMLStyle_get_borderTopWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopWidth(This,p);
}
static inline HRESULT IHTMLStyle_put_borderRightWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightWidth(This,v);
}
static inline HRESULT IHTMLStyle_get_borderRightWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightWidth(This,p);
}
static inline HRESULT IHTMLStyle_put_borderBottomWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomWidth(This,v);
}
static inline HRESULT IHTMLStyle_get_borderBottomWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomWidth(This,p);
}
static inline HRESULT IHTMLStyle_put_borderLeftWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftWidth(This,v);
}
static inline HRESULT IHTMLStyle_get_borderLeftWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftWidth(This,p);
}
static inline HRESULT IHTMLStyle_put_borderStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderStyle(This,v);
}
static inline HRESULT IHTMLStyle_get_borderStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static inline HRESULT IHTMLStyle_put_borderTopStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTopStyle(This,v);
}
static inline HRESULT IHTMLStyle_get_borderTopStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTopStyle(This,p);
}
static inline HRESULT IHTMLStyle_put_borderRightStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRightStyle(This,v);
}
static inline HRESULT IHTMLStyle_get_borderRightStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRightStyle(This,p);
}
static inline HRESULT IHTMLStyle_put_borderBottomStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottomStyle(This,v);
}
static inline HRESULT IHTMLStyle_get_borderBottomStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomStyle(This,p);
}
static inline HRESULT IHTMLStyle_put_borderLeftStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeftStyle(This,v);
}
static inline HRESULT IHTMLStyle_get_borderLeftStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeftStyle(This,p);
}
static inline HRESULT IHTMLStyle_put_width(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLStyle_get_width(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLStyle_put_height(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLStyle_get_height(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLStyle_put_styleFloat(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_styleFloat(This,v);
}
static inline HRESULT IHTMLStyle_get_styleFloat(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_styleFloat(This,p);
}
static inline HRESULT IHTMLStyle_put_clear(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_clear(This,v);
}
static inline HRESULT IHTMLStyle_get_clear(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
static inline HRESULT IHTMLStyle_put_display(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_display(This,v);
}
static inline HRESULT IHTMLStyle_get_display(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_display(This,p);
}
static inline HRESULT IHTMLStyle_put_visibility(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_visibility(This,v);
}
static inline HRESULT IHTMLStyle_get_visibility(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static inline HRESULT IHTMLStyle_put_listStyleType(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleType(This,v);
}
static inline HRESULT IHTMLStyle_get_listStyleType(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleType(This,p);
}
static inline HRESULT IHTMLStyle_put_listStylePosition(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStylePosition(This,v);
}
static inline HRESULT IHTMLStyle_get_listStylePosition(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStylePosition(This,p);
}
static inline HRESULT IHTMLStyle_put_listStyleImage(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleImage(This,v);
}
static inline HRESULT IHTMLStyle_get_listStyleImage(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleImage(This,p);
}
static inline HRESULT IHTMLStyle_put_listStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyle(This,v);
}
static inline HRESULT IHTMLStyle_get_listStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyle(This,p);
}
static inline HRESULT IHTMLStyle_put_whiteSpace(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_whiteSpace(This,v);
}
static inline HRESULT IHTMLStyle_get_whiteSpace(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_whiteSpace(This,p);
}
static inline HRESULT IHTMLStyle_put_top(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_top(This,v);
}
static inline HRESULT IHTMLStyle_get_top(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_top(This,p);
}
static inline HRESULT IHTMLStyle_put_left(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_left(This,v);
}
static inline HRESULT IHTMLStyle_get_left(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_left(This,p);
}
static inline HRESULT IHTMLStyle_get_position(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static inline HRESULT IHTMLStyle_put_zIndex(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_zIndex(This,v);
}
static inline HRESULT IHTMLStyle_get_zIndex(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_zIndex(This,p);
}
static inline HRESULT IHTMLStyle_put_overflow(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_overflow(This,v);
}
static inline HRESULT IHTMLStyle_get_overflow(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflow(This,p);
}
static inline HRESULT IHTMLStyle_put_pageBreakBefore(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakBefore(This,v);
}
static inline HRESULT IHTMLStyle_get_pageBreakBefore(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakBefore(This,p);
}
static inline HRESULT IHTMLStyle_put_pageBreakAfter(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakAfter(This,v);
}
static inline HRESULT IHTMLStyle_get_pageBreakAfter(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakAfter(This,p);
}
static inline HRESULT IHTMLStyle_put_cssText(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static inline HRESULT IHTMLStyle_get_cssText(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static inline HRESULT IHTMLStyle_put_pixelTop(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelTop(This,v);
}
static inline HRESULT IHTMLStyle_get_pixelTop(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelTop(This,p);
}
static inline HRESULT IHTMLStyle_put_pixelLeft(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelLeft(This,v);
}
static inline HRESULT IHTMLStyle_get_pixelLeft(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelLeft(This,p);
}
static inline HRESULT IHTMLStyle_put_pixelWidth(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelWidth(This,v);
}
static inline HRESULT IHTMLStyle_get_pixelWidth(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelWidth(This,p);
}
static inline HRESULT IHTMLStyle_put_pixelHeight(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelHeight(This,v);
}
static inline HRESULT IHTMLStyle_get_pixelHeight(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelHeight(This,p);
}
static inline HRESULT IHTMLStyle_put_posTop(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posTop(This,v);
}
static inline HRESULT IHTMLStyle_get_posTop(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posTop(This,p);
}
static inline HRESULT IHTMLStyle_put_posLeft(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posLeft(This,v);
}
static inline HRESULT IHTMLStyle_get_posLeft(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posLeft(This,p);
}
static inline HRESULT IHTMLStyle_put_posWidth(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posWidth(This,v);
}
static inline HRESULT IHTMLStyle_get_posWidth(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posWidth(This,p);
}
static inline HRESULT IHTMLStyle_put_posHeight(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posHeight(This,v);
}
static inline HRESULT IHTMLStyle_get_posHeight(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posHeight(This,p);
}
static inline HRESULT IHTMLStyle_put_cursor(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_cursor(This,v);
}
static inline HRESULT IHTMLStyle_get_cursor(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_cursor(This,p);
}
static inline HRESULT IHTMLStyle_put_clip(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_clip(This,v);
}
static inline HRESULT IHTMLStyle_get_clip(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_clip(This,p);
}
static inline HRESULT IHTMLStyle_put_filter(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_filter(This,v);
}
static inline HRESULT IHTMLStyle_get_filter(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_filter(This,p);
}
static inline HRESULT IHTMLStyle_setAttribute(IHTMLStyle* This,BSTR strAttributeName,VARIANT AttributeValue,LONG lFlags) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags);
}
static inline HRESULT IHTMLStyle_getAttribute(IHTMLStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static inline HRESULT IHTMLStyle_removeAttribute(IHTMLStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess);
}
static inline HRESULT IHTMLStyle_toString(IHTMLStyle* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyle2 interface
 */
#ifndef __IHTMLStyle2_INTERFACE_DEFINED__
#define __IHTMLStyle2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyle2, 0x3050f4a2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4a2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyle2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_tableLayout(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tableLayout(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderCollapse(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderCollapse(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_direction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_direction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_behavior(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behavior(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setExpression(
        BSTR propname,
        BSTR expression,
        BSTR language = L"") = 0;

    virtual HRESULT STDMETHODCALLTYPE getExpression(
        BSTR propname,
        VARIANT *expression) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeExpression(
        BSTR propname,
        VARIANT_BOOL *pfSuccess) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_position(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_unicodeBidi(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unicodeBidi(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_right(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_right(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelBottom(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelBottom(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelRight(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelRight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posBottom(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posBottom(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posRight(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posRight(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_imeMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyPosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyPosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyOverhang(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyOverhang(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridChar(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridChar(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridLine(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridLine(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGrid(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGrid(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordBreak(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineBreak(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textJustify(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustify(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textJustifyTrim(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustifyTrim(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textKashida(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashida(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAutospace(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAutospace(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflowX(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowX(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflowY(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowY(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accelerator(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accelerator(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyle2, 0x3050f4a2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyle2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyle2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyle2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyle2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyle2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyle2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_tableLayout)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_tableLayout)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderCollapse)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderCollapse)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_direction)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_direction)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_behavior)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_behavior)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *setExpression)(
        IHTMLStyle2 *This,
        BSTR propname,
        BSTR expression,
        BSTR language);

    HRESULT (STDMETHODCALLTYPE *getExpression)(
        IHTMLStyle2 *This,
        BSTR propname,
        VARIANT *expression);

    HRESULT (STDMETHODCALLTYPE *removeExpression)(
        IHTMLStyle2 *This,
        BSTR propname,
        VARIANT_BOOL *pfSuccess);

    HRESULT (STDMETHODCALLTYPE *put_position)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_unicodeBidi)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_unicodeBidi)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bottom)(
        IHTMLStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bottom)(
        IHTMLStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_right)(
        IHTMLStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_right)(
        IHTMLStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelBottom)(
        IHTMLStyle2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelBottom)(
        IHTMLStyle2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelRight)(
        IHTMLStyle2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelRight)(
        IHTMLStyle2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_posBottom)(
        IHTMLStyle2 *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posBottom)(
        IHTMLStyle2 *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_posRight)(
        IHTMLStyle2 *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posRight)(
        IHTMLStyle2 *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_imeMode)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_imeMode)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyAlign)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyAlign)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyPosition)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyPosition)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyOverhang)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyOverhang)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridChar)(
        IHTMLStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridChar)(
        IHTMLStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridLine)(
        IHTMLStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridLine)(
        IHTMLStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridMode)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridMode)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridType)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridType)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGrid)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGrid)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_wordBreak)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_wordBreak)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lineBreak)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lineBreak)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textJustify)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textJustify)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textJustifyTrim)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textJustifyTrim)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textKashida)(
        IHTMLStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textKashida)(
        IHTMLStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textAutospace)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAutospace)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_overflowX)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflowX)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_overflowY)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflowY)(
        IHTMLStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_accelerator)(
        IHTMLStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accelerator)(
        IHTMLStyle2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLStyle2Vtbl;

interface IHTMLStyle2 {
    CONST_VTBL IHTMLStyle2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyle2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyle2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyle2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyle2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyle2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyle2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyle2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyle2 methods ***/
#define IHTMLStyle2_put_tableLayout(This,v) (This)->lpVtbl->put_tableLayout(This,v)
#define IHTMLStyle2_get_tableLayout(This,p) (This)->lpVtbl->get_tableLayout(This,p)
#define IHTMLStyle2_put_borderCollapse(This,v) (This)->lpVtbl->put_borderCollapse(This,v)
#define IHTMLStyle2_get_borderCollapse(This,p) (This)->lpVtbl->get_borderCollapse(This,p)
#define IHTMLStyle2_put_direction(This,v) (This)->lpVtbl->put_direction(This,v)
#define IHTMLStyle2_get_direction(This,p) (This)->lpVtbl->get_direction(This,p)
#define IHTMLStyle2_put_behavior(This,v) (This)->lpVtbl->put_behavior(This,v)
#define IHTMLStyle2_get_behavior(This,p) (This)->lpVtbl->get_behavior(This,p)
#define IHTMLStyle2_setExpression(This,propname,expression,language) (This)->lpVtbl->setExpression(This,propname,expression,language)
#define IHTMLStyle2_getExpression(This,propname,expression) (This)->lpVtbl->getExpression(This,propname,expression)
#define IHTMLStyle2_removeExpression(This,propname,pfSuccess) (This)->lpVtbl->removeExpression(This,propname,pfSuccess)
#define IHTMLStyle2_put_position(This,v) (This)->lpVtbl->put_position(This,v)
#define IHTMLStyle2_get_position(This,p) (This)->lpVtbl->get_position(This,p)
#define IHTMLStyle2_put_unicodeBidi(This,v) (This)->lpVtbl->put_unicodeBidi(This,v)
#define IHTMLStyle2_get_unicodeBidi(This,p) (This)->lpVtbl->get_unicodeBidi(This,p)
#define IHTMLStyle2_put_bottom(This,v) (This)->lpVtbl->put_bottom(This,v)
#define IHTMLStyle2_get_bottom(This,p) (This)->lpVtbl->get_bottom(This,p)
#define IHTMLStyle2_put_right(This,v) (This)->lpVtbl->put_right(This,v)
#define IHTMLStyle2_get_right(This,p) (This)->lpVtbl->get_right(This,p)
#define IHTMLStyle2_put_pixelBottom(This,v) (This)->lpVtbl->put_pixelBottom(This,v)
#define IHTMLStyle2_get_pixelBottom(This,p) (This)->lpVtbl->get_pixelBottom(This,p)
#define IHTMLStyle2_put_pixelRight(This,v) (This)->lpVtbl->put_pixelRight(This,v)
#define IHTMLStyle2_get_pixelRight(This,p) (This)->lpVtbl->get_pixelRight(This,p)
#define IHTMLStyle2_put_posBottom(This,v) (This)->lpVtbl->put_posBottom(This,v)
#define IHTMLStyle2_get_posBottom(This,p) (This)->lpVtbl->get_posBottom(This,p)
#define IHTMLStyle2_put_posRight(This,v) (This)->lpVtbl->put_posRight(This,v)
#define IHTMLStyle2_get_posRight(This,p) (This)->lpVtbl->get_posRight(This,p)
#define IHTMLStyle2_put_imeMode(This,v) (This)->lpVtbl->put_imeMode(This,v)
#define IHTMLStyle2_get_imeMode(This,p) (This)->lpVtbl->get_imeMode(This,p)
#define IHTMLStyle2_put_rubyAlign(This,v) (This)->lpVtbl->put_rubyAlign(This,v)
#define IHTMLStyle2_get_rubyAlign(This,p) (This)->lpVtbl->get_rubyAlign(This,p)
#define IHTMLStyle2_put_rubyPosition(This,v) (This)->lpVtbl->put_rubyPosition(This,v)
#define IHTMLStyle2_get_rubyPosition(This,p) (This)->lpVtbl->get_rubyPosition(This,p)
#define IHTMLStyle2_put_rubyOverhang(This,v) (This)->lpVtbl->put_rubyOverhang(This,v)
#define IHTMLStyle2_get_rubyOverhang(This,p) (This)->lpVtbl->get_rubyOverhang(This,p)
#define IHTMLStyle2_put_layoutGridChar(This,v) (This)->lpVtbl->put_layoutGridChar(This,v)
#define IHTMLStyle2_get_layoutGridChar(This,p) (This)->lpVtbl->get_layoutGridChar(This,p)
#define IHTMLStyle2_put_layoutGridLine(This,v) (This)->lpVtbl->put_layoutGridLine(This,v)
#define IHTMLStyle2_get_layoutGridLine(This,p) (This)->lpVtbl->get_layoutGridLine(This,p)
#define IHTMLStyle2_put_layoutGridMode(This,v) (This)->lpVtbl->put_layoutGridMode(This,v)
#define IHTMLStyle2_get_layoutGridMode(This,p) (This)->lpVtbl->get_layoutGridMode(This,p)
#define IHTMLStyle2_put_layoutGridType(This,v) (This)->lpVtbl->put_layoutGridType(This,v)
#define IHTMLStyle2_get_layoutGridType(This,p) (This)->lpVtbl->get_layoutGridType(This,p)
#define IHTMLStyle2_put_layoutGrid(This,v) (This)->lpVtbl->put_layoutGrid(This,v)
#define IHTMLStyle2_get_layoutGrid(This,p) (This)->lpVtbl->get_layoutGrid(This,p)
#define IHTMLStyle2_put_wordBreak(This,v) (This)->lpVtbl->put_wordBreak(This,v)
#define IHTMLStyle2_get_wordBreak(This,p) (This)->lpVtbl->get_wordBreak(This,p)
#define IHTMLStyle2_put_lineBreak(This,v) (This)->lpVtbl->put_lineBreak(This,v)
#define IHTMLStyle2_get_lineBreak(This,p) (This)->lpVtbl->get_lineBreak(This,p)
#define IHTMLStyle2_put_textJustify(This,v) (This)->lpVtbl->put_textJustify(This,v)
#define IHTMLStyle2_get_textJustify(This,p) (This)->lpVtbl->get_textJustify(This,p)
#define IHTMLStyle2_put_textJustifyTrim(This,v) (This)->lpVtbl->put_textJustifyTrim(This,v)
#define IHTMLStyle2_get_textJustifyTrim(This,p) (This)->lpVtbl->get_textJustifyTrim(This,p)
#define IHTMLStyle2_put_textKashida(This,v) (This)->lpVtbl->put_textKashida(This,v)
#define IHTMLStyle2_get_textKashida(This,p) (This)->lpVtbl->get_textKashida(This,p)
#define IHTMLStyle2_put_textAutospace(This,v) (This)->lpVtbl->put_textAutospace(This,v)
#define IHTMLStyle2_get_textAutospace(This,p) (This)->lpVtbl->get_textAutospace(This,p)
#define IHTMLStyle2_put_overflowX(This,v) (This)->lpVtbl->put_overflowX(This,v)
#define IHTMLStyle2_get_overflowX(This,p) (This)->lpVtbl->get_overflowX(This,p)
#define IHTMLStyle2_put_overflowY(This,v) (This)->lpVtbl->put_overflowY(This,v)
#define IHTMLStyle2_get_overflowY(This,p) (This)->lpVtbl->get_overflowY(This,p)
#define IHTMLStyle2_put_accelerator(This,v) (This)->lpVtbl->put_accelerator(This,v)
#define IHTMLStyle2_get_accelerator(This,p) (This)->lpVtbl->get_accelerator(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyle2_QueryInterface(IHTMLStyle2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyle2_AddRef(IHTMLStyle2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyle2_Release(IHTMLStyle2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyle2_GetTypeInfoCount(IHTMLStyle2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyle2_GetTypeInfo(IHTMLStyle2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyle2_GetIDsOfNames(IHTMLStyle2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyle2_Invoke(IHTMLStyle2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyle2 methods ***/
static inline HRESULT IHTMLStyle2_put_tableLayout(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_tableLayout(This,v);
}
static inline HRESULT IHTMLStyle2_get_tableLayout(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_tableLayout(This,p);
}
static inline HRESULT IHTMLStyle2_put_borderCollapse(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_borderCollapse(This,v);
}
static inline HRESULT IHTMLStyle2_get_borderCollapse(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_borderCollapse(This,p);
}
static inline HRESULT IHTMLStyle2_put_direction(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_direction(This,v);
}
static inline HRESULT IHTMLStyle2_get_direction(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_direction(This,p);
}
static inline HRESULT IHTMLStyle2_put_behavior(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_behavior(This,v);
}
static inline HRESULT IHTMLStyle2_get_behavior(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_behavior(This,p);
}
static inline HRESULT IHTMLStyle2_setExpression(IHTMLStyle2* This,BSTR propname,BSTR expression,BSTR language) {
    return This->lpVtbl->setExpression(This,propname,expression,language);
}
static inline HRESULT IHTMLStyle2_getExpression(IHTMLStyle2* This,BSTR propname,VARIANT *expression) {
    return This->lpVtbl->getExpression(This,propname,expression);
}
static inline HRESULT IHTMLStyle2_removeExpression(IHTMLStyle2* This,BSTR propname,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeExpression(This,propname,pfSuccess);
}
static inline HRESULT IHTMLStyle2_put_position(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_position(This,v);
}
static inline HRESULT IHTMLStyle2_get_position(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static inline HRESULT IHTMLStyle2_put_unicodeBidi(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_unicodeBidi(This,v);
}
static inline HRESULT IHTMLStyle2_get_unicodeBidi(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_unicodeBidi(This,p);
}
static inline HRESULT IHTMLStyle2_put_bottom(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_bottom(This,v);
}
static inline HRESULT IHTMLStyle2_get_bottom(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_bottom(This,p);
}
static inline HRESULT IHTMLStyle2_put_right(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_right(This,v);
}
static inline HRESULT IHTMLStyle2_get_right(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_right(This,p);
}
static inline HRESULT IHTMLStyle2_put_pixelBottom(IHTMLStyle2* This,LONG v) {
    return This->lpVtbl->put_pixelBottom(This,v);
}
static inline HRESULT IHTMLStyle2_get_pixelBottom(IHTMLStyle2* This,LONG *p) {
    return This->lpVtbl->get_pixelBottom(This,p);
}
static inline HRESULT IHTMLStyle2_put_pixelRight(IHTMLStyle2* This,LONG v) {
    return This->lpVtbl->put_pixelRight(This,v);
}
static inline HRESULT IHTMLStyle2_get_pixelRight(IHTMLStyle2* This,LONG *p) {
    return This->lpVtbl->get_pixelRight(This,p);
}
static inline HRESULT IHTMLStyle2_put_posBottom(IHTMLStyle2* This,float v) {
    return This->lpVtbl->put_posBottom(This,v);
}
static inline HRESULT IHTMLStyle2_get_posBottom(IHTMLStyle2* This,float *p) {
    return This->lpVtbl->get_posBottom(This,p);
}
static inline HRESULT IHTMLStyle2_put_posRight(IHTMLStyle2* This,float v) {
    return This->lpVtbl->put_posRight(This,v);
}
static inline HRESULT IHTMLStyle2_get_posRight(IHTMLStyle2* This,float *p) {
    return This->lpVtbl->get_posRight(This,p);
}
static inline HRESULT IHTMLStyle2_put_imeMode(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_imeMode(This,v);
}
static inline HRESULT IHTMLStyle2_get_imeMode(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_imeMode(This,p);
}
static inline HRESULT IHTMLStyle2_put_rubyAlign(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyAlign(This,v);
}
static inline HRESULT IHTMLStyle2_get_rubyAlign(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyAlign(This,p);
}
static inline HRESULT IHTMLStyle2_put_rubyPosition(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyPosition(This,v);
}
static inline HRESULT IHTMLStyle2_get_rubyPosition(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyPosition(This,p);
}
static inline HRESULT IHTMLStyle2_put_rubyOverhang(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyOverhang(This,v);
}
static inline HRESULT IHTMLStyle2_get_rubyOverhang(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyOverhang(This,p);
}
static inline HRESULT IHTMLStyle2_put_layoutGridChar(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridChar(This,v);
}
static inline HRESULT IHTMLStyle2_get_layoutGridChar(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridChar(This,p);
}
static inline HRESULT IHTMLStyle2_put_layoutGridLine(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridLine(This,v);
}
static inline HRESULT IHTMLStyle2_get_layoutGridLine(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridLine(This,p);
}
static inline HRESULT IHTMLStyle2_put_layoutGridMode(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGridMode(This,v);
}
static inline HRESULT IHTMLStyle2_get_layoutGridMode(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridMode(This,p);
}
static inline HRESULT IHTMLStyle2_put_layoutGridType(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGridType(This,v);
}
static inline HRESULT IHTMLStyle2_get_layoutGridType(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridType(This,p);
}
static inline HRESULT IHTMLStyle2_put_layoutGrid(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGrid(This,v);
}
static inline HRESULT IHTMLStyle2_get_layoutGrid(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGrid(This,p);
}
static inline HRESULT IHTMLStyle2_put_wordBreak(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_wordBreak(This,v);
}
static inline HRESULT IHTMLStyle2_get_wordBreak(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_wordBreak(This,p);
}
static inline HRESULT IHTMLStyle2_put_lineBreak(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_lineBreak(This,v);
}
static inline HRESULT IHTMLStyle2_get_lineBreak(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_lineBreak(This,p);
}
static inline HRESULT IHTMLStyle2_put_textJustify(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_textJustify(This,v);
}
static inline HRESULT IHTMLStyle2_get_textJustify(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textJustify(This,p);
}
static inline HRESULT IHTMLStyle2_put_textJustifyTrim(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_textJustifyTrim(This,v);
}
static inline HRESULT IHTMLStyle2_get_textJustifyTrim(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textJustifyTrim(This,p);
}
static inline HRESULT IHTMLStyle2_put_textKashida(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_textKashida(This,v);
}
static inline HRESULT IHTMLStyle2_get_textKashida(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_textKashida(This,p);
}
static inline HRESULT IHTMLStyle2_put_textAutospace(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_textAutospace(This,v);
}
static inline HRESULT IHTMLStyle2_get_textAutospace(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textAutospace(This,p);
}
static inline HRESULT IHTMLStyle2_put_overflowX(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_overflowX(This,v);
}
static inline HRESULT IHTMLStyle2_get_overflowX(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_overflowX(This,p);
}
static inline HRESULT IHTMLStyle2_put_overflowY(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_overflowY(This,v);
}
static inline HRESULT IHTMLStyle2_get_overflowY(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_overflowY(This,p);
}
static inline HRESULT IHTMLStyle2_put_accelerator(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_accelerator(This,v);
}
static inline HRESULT IHTMLStyle2_get_accelerator(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_accelerator(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyle3 interface
 */
#ifndef __IHTMLStyle3_INTERFACE_DEFINED__
#define __IHTMLStyle3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyle3, 0x3050f656, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f656-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyle3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_layoutFlow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutFlow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_zoom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zoom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordWrap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordWrap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textUnderlinePosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textUnderlinePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarBaseColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarFaceColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbar3dLightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarShadowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarHighlightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarDarkShadowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarArrowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarTrackColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_writingMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_writingMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAlignLast(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlignLast(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textKashidaSpace(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashidaSpace(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyle3, 0x3050f656, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyle3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyle3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyle3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyle3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyle3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyle3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_layoutFlow)(
        IHTMLStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutFlow)(
        IHTMLStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_zoom)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_zoom)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_wordWrap)(
        IHTMLStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_wordWrap)(
        IHTMLStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textUnderlinePosition)(
        IHTMLStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textUnderlinePosition)(
        IHTMLStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarBaseColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarBaseColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarFaceColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarFaceColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbar3dLightColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbar3dLightColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarShadowColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarShadowColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarHighlightColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarHighlightColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarDarkShadowColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarDarkShadowColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarArrowColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarArrowColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarTrackColor)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarTrackColor)(
        IHTMLStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_writingMode)(
        IHTMLStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_writingMode)(
        IHTMLStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAlignLast)(
        IHTMLStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAlignLast)(
        IHTMLStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textKashidaSpace)(
        IHTMLStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textKashidaSpace)(
        IHTMLStyle3 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLStyle3Vtbl;

interface IHTMLStyle3 {
    CONST_VTBL IHTMLStyle3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyle3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyle3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyle3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyle3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyle3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyle3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyle3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyle3 methods ***/
#define IHTMLStyle3_put_layoutFlow(This,v) (This)->lpVtbl->put_layoutFlow(This,v)
#define IHTMLStyle3_get_layoutFlow(This,p) (This)->lpVtbl->get_layoutFlow(This,p)
#define IHTMLStyle3_put_zoom(This,v) (This)->lpVtbl->put_zoom(This,v)
#define IHTMLStyle3_get_zoom(This,p) (This)->lpVtbl->get_zoom(This,p)
#define IHTMLStyle3_put_wordWrap(This,v) (This)->lpVtbl->put_wordWrap(This,v)
#define IHTMLStyle3_get_wordWrap(This,p) (This)->lpVtbl->get_wordWrap(This,p)
#define IHTMLStyle3_put_textUnderlinePosition(This,v) (This)->lpVtbl->put_textUnderlinePosition(This,v)
#define IHTMLStyle3_get_textUnderlinePosition(This,p) (This)->lpVtbl->get_textUnderlinePosition(This,p)
#define IHTMLStyle3_put_scrollbarBaseColor(This,v) (This)->lpVtbl->put_scrollbarBaseColor(This,v)
#define IHTMLStyle3_get_scrollbarBaseColor(This,p) (This)->lpVtbl->get_scrollbarBaseColor(This,p)
#define IHTMLStyle3_put_scrollbarFaceColor(This,v) (This)->lpVtbl->put_scrollbarFaceColor(This,v)
#define IHTMLStyle3_get_scrollbarFaceColor(This,p) (This)->lpVtbl->get_scrollbarFaceColor(This,p)
#define IHTMLStyle3_put_scrollbar3dLightColor(This,v) (This)->lpVtbl->put_scrollbar3dLightColor(This,v)
#define IHTMLStyle3_get_scrollbar3dLightColor(This,p) (This)->lpVtbl->get_scrollbar3dLightColor(This,p)
#define IHTMLStyle3_put_scrollbarShadowColor(This,v) (This)->lpVtbl->put_scrollbarShadowColor(This,v)
#define IHTMLStyle3_get_scrollbarShadowColor(This,p) (This)->lpVtbl->get_scrollbarShadowColor(This,p)
#define IHTMLStyle3_put_scrollbarHighlightColor(This,v) (This)->lpVtbl->put_scrollbarHighlightColor(This,v)
#define IHTMLStyle3_get_scrollbarHighlightColor(This,p) (This)->lpVtbl->get_scrollbarHighlightColor(This,p)
#define IHTMLStyle3_put_scrollbarDarkShadowColor(This,v) (This)->lpVtbl->put_scrollbarDarkShadowColor(This,v)
#define IHTMLStyle3_get_scrollbarDarkShadowColor(This,p) (This)->lpVtbl->get_scrollbarDarkShadowColor(This,p)
#define IHTMLStyle3_put_scrollbarArrowColor(This,v) (This)->lpVtbl->put_scrollbarArrowColor(This,v)
#define IHTMLStyle3_get_scrollbarArrowColor(This,p) (This)->lpVtbl->get_scrollbarArrowColor(This,p)
#define IHTMLStyle3_put_scrollbarTrackColor(This,v) (This)->lpVtbl->put_scrollbarTrackColor(This,v)
#define IHTMLStyle3_get_scrollbarTrackColor(This,p) (This)->lpVtbl->get_scrollbarTrackColor(This,p)
#define IHTMLStyle3_put_writingMode(This,v) (This)->lpVtbl->put_writingMode(This,v)
#define IHTMLStyle3_get_writingMode(This,p) (This)->lpVtbl->get_writingMode(This,p)
#define IHTMLStyle3_put_textAlignLast(This,v) (This)->lpVtbl->put_textAlignLast(This,v)
#define IHTMLStyle3_get_textAlignLast(This,p) (This)->lpVtbl->get_textAlignLast(This,p)
#define IHTMLStyle3_put_textKashidaSpace(This,v) (This)->lpVtbl->put_textKashidaSpace(This,v)
#define IHTMLStyle3_get_textKashidaSpace(This,p) (This)->lpVtbl->get_textKashidaSpace(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyle3_QueryInterface(IHTMLStyle3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyle3_AddRef(IHTMLStyle3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyle3_Release(IHTMLStyle3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyle3_GetTypeInfoCount(IHTMLStyle3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyle3_GetTypeInfo(IHTMLStyle3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyle3_GetIDsOfNames(IHTMLStyle3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyle3_Invoke(IHTMLStyle3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyle3 methods ***/
static inline HRESULT IHTMLStyle3_put_layoutFlow(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_layoutFlow(This,v);
}
static inline HRESULT IHTMLStyle3_get_layoutFlow(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_layoutFlow(This,p);
}
static inline HRESULT IHTMLStyle3_put_zoom(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_zoom(This,v);
}
static inline HRESULT IHTMLStyle3_get_zoom(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_zoom(This,p);
}
static inline HRESULT IHTMLStyle3_put_wordWrap(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_wordWrap(This,v);
}
static inline HRESULT IHTMLStyle3_get_wordWrap(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_wordWrap(This,p);
}
static inline HRESULT IHTMLStyle3_put_textUnderlinePosition(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_textUnderlinePosition(This,v);
}
static inline HRESULT IHTMLStyle3_get_textUnderlinePosition(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlinePosition(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbarBaseColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarBaseColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbarBaseColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarBaseColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbarFaceColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarFaceColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbarFaceColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarFaceColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbar3dLightColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbar3dLightColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbar3dLightColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbar3dLightColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbarShadowColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarShadowColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbarShadowColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarShadowColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbarHighlightColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarHighlightColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbarHighlightColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarHighlightColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbarDarkShadowColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarDarkShadowColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbarDarkShadowColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarDarkShadowColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbarArrowColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarArrowColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbarArrowColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarArrowColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_scrollbarTrackColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarTrackColor(This,v);
}
static inline HRESULT IHTMLStyle3_get_scrollbarTrackColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarTrackColor(This,p);
}
static inline HRESULT IHTMLStyle3_put_writingMode(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_writingMode(This,v);
}
static inline HRESULT IHTMLStyle3_get_writingMode(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_writingMode(This,p);
}
static inline HRESULT IHTMLStyle3_put_textAlignLast(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_textAlignLast(This,v);
}
static inline HRESULT IHTMLStyle3_get_textAlignLast(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textAlignLast(This,p);
}
static inline HRESULT IHTMLStyle3_put_textKashidaSpace(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_textKashidaSpace(This,v);
}
static inline HRESULT IHTMLStyle3_get_textKashidaSpace(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_textKashidaSpace(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyle4 interface
 */
#ifndef __IHTMLStyle4_INTERFACE_DEFINED__
#define __IHTMLStyle4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyle4, 0x3050f816, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f816-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyle4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_textOverflow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textOverflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_minHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minHeight(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyle4, 0x3050f816, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyle4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyle4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyle4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyle4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyle4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyle4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_textOverflow)(
        IHTMLStyle4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textOverflow)(
        IHTMLStyle4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_minHeight)(
        IHTMLStyle4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_minHeight)(
        IHTMLStyle4 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLStyle4Vtbl;

interface IHTMLStyle4 {
    CONST_VTBL IHTMLStyle4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyle4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyle4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyle4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyle4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyle4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyle4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyle4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyle4 methods ***/
#define IHTMLStyle4_put_textOverflow(This,v) (This)->lpVtbl->put_textOverflow(This,v)
#define IHTMLStyle4_get_textOverflow(This,p) (This)->lpVtbl->get_textOverflow(This,p)
#define IHTMLStyle4_put_minHeight(This,v) (This)->lpVtbl->put_minHeight(This,v)
#define IHTMLStyle4_get_minHeight(This,p) (This)->lpVtbl->get_minHeight(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyle4_QueryInterface(IHTMLStyle4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyle4_AddRef(IHTMLStyle4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyle4_Release(IHTMLStyle4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyle4_GetTypeInfoCount(IHTMLStyle4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyle4_GetTypeInfo(IHTMLStyle4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyle4_GetIDsOfNames(IHTMLStyle4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyle4_Invoke(IHTMLStyle4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyle4 methods ***/
static inline HRESULT IHTMLStyle4_put_textOverflow(IHTMLStyle4* This,BSTR v) {
    return This->lpVtbl->put_textOverflow(This,v);
}
static inline HRESULT IHTMLStyle4_get_textOverflow(IHTMLStyle4* This,BSTR *p) {
    return This->lpVtbl->get_textOverflow(This,p);
}
static inline HRESULT IHTMLStyle4_put_minHeight(IHTMLStyle4* This,VARIANT v) {
    return This->lpVtbl->put_minHeight(This,v);
}
static inline HRESULT IHTMLStyle4_get_minHeight(IHTMLStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_minHeight(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyle5 interface
 */
#ifndef __IHTMLStyle5_INTERFACE_DEFINED__
#define __IHTMLStyle5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyle5, 0x3050f33a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f33a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyle5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_msInterpolationMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msInterpolationMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_minWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxWidth(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyle5, 0x3050f33a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyle5Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyle5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyle5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyle5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyle5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyle5 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_msInterpolationMode)(
        IHTMLStyle5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msInterpolationMode)(
        IHTMLStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_maxHeight)(
        IHTMLStyle5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_maxHeight)(
        IHTMLStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_minWidth)(
        IHTMLStyle5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_minWidth)(
        IHTMLStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_maxWidth)(
        IHTMLStyle5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_maxWidth)(
        IHTMLStyle5 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLStyle5Vtbl;

interface IHTMLStyle5 {
    CONST_VTBL IHTMLStyle5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyle5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyle5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyle5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyle5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyle5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyle5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyle5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyle5 methods ***/
#define IHTMLStyle5_put_msInterpolationMode(This,v) (This)->lpVtbl->put_msInterpolationMode(This,v)
#define IHTMLStyle5_get_msInterpolationMode(This,p) (This)->lpVtbl->get_msInterpolationMode(This,p)
#define IHTMLStyle5_put_maxHeight(This,v) (This)->lpVtbl->put_maxHeight(This,v)
#define IHTMLStyle5_get_maxHeight(This,p) (This)->lpVtbl->get_maxHeight(This,p)
#define IHTMLStyle5_put_minWidth(This,v) (This)->lpVtbl->put_minWidth(This,v)
#define IHTMLStyle5_get_minWidth(This,p) (This)->lpVtbl->get_minWidth(This,p)
#define IHTMLStyle5_put_maxWidth(This,v) (This)->lpVtbl->put_maxWidth(This,v)
#define IHTMLStyle5_get_maxWidth(This,p) (This)->lpVtbl->get_maxWidth(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyle5_QueryInterface(IHTMLStyle5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyle5_AddRef(IHTMLStyle5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyle5_Release(IHTMLStyle5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyle5_GetTypeInfoCount(IHTMLStyle5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyle5_GetTypeInfo(IHTMLStyle5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyle5_GetIDsOfNames(IHTMLStyle5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyle5_Invoke(IHTMLStyle5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyle5 methods ***/
static inline HRESULT IHTMLStyle5_put_msInterpolationMode(IHTMLStyle5* This,BSTR v) {
    return This->lpVtbl->put_msInterpolationMode(This,v);
}
static inline HRESULT IHTMLStyle5_get_msInterpolationMode(IHTMLStyle5* This,BSTR *p) {
    return This->lpVtbl->get_msInterpolationMode(This,p);
}
static inline HRESULT IHTMLStyle5_put_maxHeight(IHTMLStyle5* This,VARIANT v) {
    return This->lpVtbl->put_maxHeight(This,v);
}
static inline HRESULT IHTMLStyle5_get_maxHeight(IHTMLStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_maxHeight(This,p);
}
static inline HRESULT IHTMLStyle5_put_minWidth(IHTMLStyle5* This,VARIANT v) {
    return This->lpVtbl->put_minWidth(This,v);
}
static inline HRESULT IHTMLStyle5_get_minWidth(IHTMLStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_minWidth(This,p);
}
static inline HRESULT IHTMLStyle5_put_maxWidth(IHTMLStyle5* This,VARIANT v) {
    return This->lpVtbl->put_maxWidth(This,v);
}
static inline HRESULT IHTMLStyle5_get_maxWidth(IHTMLStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_maxWidth(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyle6 interface
 */
#ifndef __IHTMLStyle6_INTERFACE_DEFINED__
#define __IHTMLStyle6_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyle6, 0x30510480, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510480-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyle6 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_content(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_content(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_captionSide(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_captionSide(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_counterIncrement(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_counterIncrement(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_counterReset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_counterReset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outline(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outline(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_boxSizing(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boxSizing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderSpacing(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderSpacing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_orphans(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_orphans(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_widows(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_widows(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakInside(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakInside(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_emptyCells(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_emptyCells(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msBlockProgression(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msBlockProgression(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_quotes(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_quotes(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyle6, 0x30510480, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyle6Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyle6 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyle6 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyle6 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyle6 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyle6 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_content)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_content)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_captionSide)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_captionSide)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_counterIncrement)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_counterIncrement)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_counterReset)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_counterReset)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outline)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outline)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineWidth)(
        IHTMLStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_outlineWidth)(
        IHTMLStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineStyle)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outlineStyle)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineColor)(
        IHTMLStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_outlineColor)(
        IHTMLStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_boxSizing)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_boxSizing)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderSpacing)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderSpacing)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_orphans)(
        IHTMLStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_orphans)(
        IHTMLStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_widows)(
        IHTMLStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_widows)(
        IHTMLStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakInside)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakInside)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_emptyCells)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_emptyCells)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msBlockProgression)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msBlockProgression)(
        IHTMLStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_quotes)(
        IHTMLStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_quotes)(
        IHTMLStyle6 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLStyle6Vtbl;

interface IHTMLStyle6 {
    CONST_VTBL IHTMLStyle6Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyle6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyle6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyle6_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyle6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyle6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyle6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyle6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyle6 methods ***/
#define IHTMLStyle6_put_content(This,v) (This)->lpVtbl->put_content(This,v)
#define IHTMLStyle6_get_content(This,p) (This)->lpVtbl->get_content(This,p)
#define IHTMLStyle6_put_captionSide(This,v) (This)->lpVtbl->put_captionSide(This,v)
#define IHTMLStyle6_get_captionSide(This,p) (This)->lpVtbl->get_captionSide(This,p)
#define IHTMLStyle6_put_counterIncrement(This,v) (This)->lpVtbl->put_counterIncrement(This,v)
#define IHTMLStyle6_get_counterIncrement(This,p) (This)->lpVtbl->get_counterIncrement(This,p)
#define IHTMLStyle6_put_counterReset(This,v) (This)->lpVtbl->put_counterReset(This,v)
#define IHTMLStyle6_get_counterReset(This,p) (This)->lpVtbl->get_counterReset(This,p)
#define IHTMLStyle6_put_outline(This,v) (This)->lpVtbl->put_outline(This,v)
#define IHTMLStyle6_get_outline(This,p) (This)->lpVtbl->get_outline(This,p)
#define IHTMLStyle6_put_outlineWidth(This,v) (This)->lpVtbl->put_outlineWidth(This,v)
#define IHTMLStyle6_get_outlineWidth(This,p) (This)->lpVtbl->get_outlineWidth(This,p)
#define IHTMLStyle6_put_outlineStyle(This,v) (This)->lpVtbl->put_outlineStyle(This,v)
#define IHTMLStyle6_get_outlineStyle(This,p) (This)->lpVtbl->get_outlineStyle(This,p)
#define IHTMLStyle6_put_outlineColor(This,v) (This)->lpVtbl->put_outlineColor(This,v)
#define IHTMLStyle6_get_outlineColor(This,p) (This)->lpVtbl->get_outlineColor(This,p)
#define IHTMLStyle6_put_boxSizing(This,v) (This)->lpVtbl->put_boxSizing(This,v)
#define IHTMLStyle6_get_boxSizing(This,p) (This)->lpVtbl->get_boxSizing(This,p)
#define IHTMLStyle6_put_borderSpacing(This,v) (This)->lpVtbl->put_borderSpacing(This,v)
#define IHTMLStyle6_get_borderSpacing(This,p) (This)->lpVtbl->get_borderSpacing(This,p)
#define IHTMLStyle6_put_orphans(This,v) (This)->lpVtbl->put_orphans(This,v)
#define IHTMLStyle6_get_orphans(This,p) (This)->lpVtbl->get_orphans(This,p)
#define IHTMLStyle6_put_widows(This,v) (This)->lpVtbl->put_widows(This,v)
#define IHTMLStyle6_get_widows(This,p) (This)->lpVtbl->get_widows(This,p)
#define IHTMLStyle6_put_pageBreakInside(This,v) (This)->lpVtbl->put_pageBreakInside(This,v)
#define IHTMLStyle6_get_pageBreakInside(This,p) (This)->lpVtbl->get_pageBreakInside(This,p)
#define IHTMLStyle6_put_emptyCells(This,v) (This)->lpVtbl->put_emptyCells(This,v)
#define IHTMLStyle6_get_emptyCells(This,p) (This)->lpVtbl->get_emptyCells(This,p)
#define IHTMLStyle6_put_msBlockProgression(This,v) (This)->lpVtbl->put_msBlockProgression(This,v)
#define IHTMLStyle6_get_msBlockProgression(This,p) (This)->lpVtbl->get_msBlockProgression(This,p)
#define IHTMLStyle6_put_quotes(This,v) (This)->lpVtbl->put_quotes(This,v)
#define IHTMLStyle6_get_quotes(This,p) (This)->lpVtbl->get_quotes(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyle6_QueryInterface(IHTMLStyle6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyle6_AddRef(IHTMLStyle6* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyle6_Release(IHTMLStyle6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyle6_GetTypeInfoCount(IHTMLStyle6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyle6_GetTypeInfo(IHTMLStyle6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyle6_GetIDsOfNames(IHTMLStyle6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyle6_Invoke(IHTMLStyle6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyle6 methods ***/
static inline HRESULT IHTMLStyle6_put_content(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_content(This,v);
}
static inline HRESULT IHTMLStyle6_get_content(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_content(This,p);
}
static inline HRESULT IHTMLStyle6_put_captionSide(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_captionSide(This,v);
}
static inline HRESULT IHTMLStyle6_get_captionSide(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_captionSide(This,p);
}
static inline HRESULT IHTMLStyle6_put_counterIncrement(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_counterIncrement(This,v);
}
static inline HRESULT IHTMLStyle6_get_counterIncrement(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_counterIncrement(This,p);
}
static inline HRESULT IHTMLStyle6_put_counterReset(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_counterReset(This,v);
}
static inline HRESULT IHTMLStyle6_get_counterReset(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_counterReset(This,p);
}
static inline HRESULT IHTMLStyle6_put_outline(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_outline(This,v);
}
static inline HRESULT IHTMLStyle6_get_outline(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_outline(This,p);
}
static inline HRESULT IHTMLStyle6_put_outlineWidth(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_outlineWidth(This,v);
}
static inline HRESULT IHTMLStyle6_get_outlineWidth(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_outlineWidth(This,p);
}
static inline HRESULT IHTMLStyle6_put_outlineStyle(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_outlineStyle(This,v);
}
static inline HRESULT IHTMLStyle6_get_outlineStyle(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_outlineStyle(This,p);
}
static inline HRESULT IHTMLStyle6_put_outlineColor(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_outlineColor(This,v);
}
static inline HRESULT IHTMLStyle6_get_outlineColor(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_outlineColor(This,p);
}
static inline HRESULT IHTMLStyle6_put_boxSizing(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_boxSizing(This,v);
}
static inline HRESULT IHTMLStyle6_get_boxSizing(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_boxSizing(This,p);
}
static inline HRESULT IHTMLStyle6_put_borderSpacing(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_borderSpacing(This,v);
}
static inline HRESULT IHTMLStyle6_get_borderSpacing(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_borderSpacing(This,p);
}
static inline HRESULT IHTMLStyle6_put_orphans(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_orphans(This,v);
}
static inline HRESULT IHTMLStyle6_get_orphans(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_orphans(This,p);
}
static inline HRESULT IHTMLStyle6_put_widows(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_widows(This,v);
}
static inline HRESULT IHTMLStyle6_get_widows(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_widows(This,p);
}
static inline HRESULT IHTMLStyle6_put_pageBreakInside(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_pageBreakInside(This,v);
}
static inline HRESULT IHTMLStyle6_get_pageBreakInside(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakInside(This,p);
}
static inline HRESULT IHTMLStyle6_put_emptyCells(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_emptyCells(This,v);
}
static inline HRESULT IHTMLStyle6_get_emptyCells(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_emptyCells(This,p);
}
static inline HRESULT IHTMLStyle6_put_msBlockProgression(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_msBlockProgression(This,v);
}
static inline HRESULT IHTMLStyle6_get_msBlockProgression(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_msBlockProgression(This,p);
}
static inline HRESULT IHTMLStyle6_put_quotes(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_quotes(This,v);
}
static inline HRESULT IHTMLStyle6_get_quotes(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_quotes(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRuleStyle interface
 */
#ifndef __IHTMLRuleStyle_INTERFACE_DEFINED__
#define __IHTMLRuleStyle_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRuleStyle, 0x3050f3cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3cf-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRuleStyle : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_fontFamily(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontFamily(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontVariant(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontVariant(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontWeight(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontWeight(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fontSize(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontSize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_font(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_font(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_color(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_background(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_background(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundImage(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundRepeat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundRepeat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundAttachment(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundAttachment(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPositionX(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionX(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_backgroundPositionY(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionY(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_letterSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_letterSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecoration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecoration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationNone(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationNone(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationUnderline(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationUnderline(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationOverline(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationOverline(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationLineThrough(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationLineThrough(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationBlink(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationBlink(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_verticalAlign(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_verticalAlign(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textTransform(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textTransform(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textIndent(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textIndent(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginRight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginBottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_margin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_margin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingRight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingBottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_paddingLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_padding(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_padding(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTop(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTop(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRight(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRight(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottom(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottom(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeft(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeft(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderWidth(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderWidth(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderTopStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderRightStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderBottomStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderLeftStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_styleFloat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleFloat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clear(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clear(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_display(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_display(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_visibility(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_visibility(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyleType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStylePosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStylePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyleImage(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_listStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_whiteSpace(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_whiteSpace(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_top(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_top(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_left(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_left(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_zIndex(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zIndex(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakBefore(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakBefore(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakAfter(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakAfter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cssText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cursor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cursor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clip(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clip(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_filter(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_filter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttribute(
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags = 1) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR strAttributeName,
        LONG lFlags = 0,
        VARIANT *AttributeValue = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        LONG lFlags = 1,
        VARIANT_BOOL *pfSuccess = 0) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRuleStyle, 0x3050f3cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRuleStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRuleStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRuleStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRuleStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRuleStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRuleStyle methods ***/
    HRESULT (STDMETHODCALLTYPE *put_fontFamily)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontFamily)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontStyle)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontStyle)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontVariant)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontVariant)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontWeight)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontWeight)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fontSize)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_fontSize)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_font)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_font)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_color)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_background)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_background)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundColor)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundColor)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundImage)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundImage)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundRepeat)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundRepeat)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundAttachment)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundAttachment)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPosition)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPosition)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPositionX)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionX)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_backgroundPositionY)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionY)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_wordSpacing)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_wordSpacing)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_letterSpacing)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_letterSpacing)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecoration)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textDecoration)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationNone)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationNone)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationUnderline)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationUnderline)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationOverline)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationOverline)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationLineThrough)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationLineThrough)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationBlink)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationBlink)(
        IHTMLRuleStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_verticalAlign)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_verticalAlign)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textTransform)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textTransform)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAlign)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAlign)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textIndent)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textIndent)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_lineHeight)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_lineHeight)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginTop)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginTop)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginRight)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginRight)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginBottom)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginBottom)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginLeft)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginLeft)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_margin)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_margin)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingTop)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingTop)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingRight)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingRight)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingBottom)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingBottom)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_paddingLeft)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_paddingLeft)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_padding)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_padding)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTop)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTop)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRight)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderRight)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottom)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottom)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeft)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeft)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopColor)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopColor)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightColor)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightColor)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomColor)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomColor)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftColor)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftColor)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderWidth)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderWidth)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopWidth)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopWidth)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightWidth)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightWidth)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomWidth)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomWidth)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftWidth)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftWidth)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderStyle)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderStyle)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderTopStyle)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderTopStyle)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderRightStyle)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderRightStyle)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderBottomStyle)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomStyle)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderLeftStyle)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftStyle)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_styleFloat)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_styleFloat)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clear)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clear)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_display)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_display)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_visibility)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_visibility)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyleType)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyleType)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStylePosition)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStylePosition)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyleImage)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyleImage)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_listStyle)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_listStyle)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_whiteSpace)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_whiteSpace)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_top)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_top)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_left)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_left)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_zIndex)(
        IHTMLRuleStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_zIndex)(
        IHTMLRuleStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_overflow)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflow)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakBefore)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakBefore)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakAfter)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakAfter)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cssText)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cssText)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cursor)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cursor)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_clip)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clip)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_filter)(
        IHTMLRuleStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_filter)(
        IHTMLRuleStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *setAttribute)(
        IHTMLRuleStyle *This,
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLRuleStyle *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *removeAttribute)(
        IHTMLRuleStyle *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT_BOOL *pfSuccess);

    END_INTERFACE
} IHTMLRuleStyleVtbl;

interface IHTMLRuleStyle {
    CONST_VTBL IHTMLRuleStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRuleStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRuleStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRuleStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRuleStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRuleStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRuleStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRuleStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRuleStyle methods ***/
#define IHTMLRuleStyle_put_fontFamily(This,v) (This)->lpVtbl->put_fontFamily(This,v)
#define IHTMLRuleStyle_get_fontFamily(This,p) (This)->lpVtbl->get_fontFamily(This,p)
#define IHTMLRuleStyle_put_fontStyle(This,v) (This)->lpVtbl->put_fontStyle(This,v)
#define IHTMLRuleStyle_get_fontStyle(This,p) (This)->lpVtbl->get_fontStyle(This,p)
#define IHTMLRuleStyle_put_fontVariant(This,v) (This)->lpVtbl->put_fontVariant(This,v)
#define IHTMLRuleStyle_get_fontVariant(This,p) (This)->lpVtbl->get_fontVariant(This,p)
#define IHTMLRuleStyle_put_fontWeight(This,v) (This)->lpVtbl->put_fontWeight(This,v)
#define IHTMLRuleStyle_get_fontWeight(This,p) (This)->lpVtbl->get_fontWeight(This,p)
#define IHTMLRuleStyle_put_fontSize(This,v) (This)->lpVtbl->put_fontSize(This,v)
#define IHTMLRuleStyle_get_fontSize(This,p) (This)->lpVtbl->get_fontSize(This,p)
#define IHTMLRuleStyle_put_font(This,v) (This)->lpVtbl->put_font(This,v)
#define IHTMLRuleStyle_get_font(This,p) (This)->lpVtbl->get_font(This,p)
#define IHTMLRuleStyle_put_color(This,v) (This)->lpVtbl->put_color(This,v)
#define IHTMLRuleStyle_get_color(This,p) (This)->lpVtbl->get_color(This,p)
#define IHTMLRuleStyle_put_background(This,v) (This)->lpVtbl->put_background(This,v)
#define IHTMLRuleStyle_get_background(This,p) (This)->lpVtbl->get_background(This,p)
#define IHTMLRuleStyle_put_backgroundColor(This,v) (This)->lpVtbl->put_backgroundColor(This,v)
#define IHTMLRuleStyle_get_backgroundColor(This,p) (This)->lpVtbl->get_backgroundColor(This,p)
#define IHTMLRuleStyle_put_backgroundImage(This,v) (This)->lpVtbl->put_backgroundImage(This,v)
#define IHTMLRuleStyle_get_backgroundImage(This,p) (This)->lpVtbl->get_backgroundImage(This,p)
#define IHTMLRuleStyle_put_backgroundRepeat(This,v) (This)->lpVtbl->put_backgroundRepeat(This,v)
#define IHTMLRuleStyle_get_backgroundRepeat(This,p) (This)->lpVtbl->get_backgroundRepeat(This,p)
#define IHTMLRuleStyle_put_backgroundAttachment(This,v) (This)->lpVtbl->put_backgroundAttachment(This,v)
#define IHTMLRuleStyle_get_backgroundAttachment(This,p) (This)->lpVtbl->get_backgroundAttachment(This,p)
#define IHTMLRuleStyle_put_backgroundPosition(This,v) (This)->lpVtbl->put_backgroundPosition(This,v)
#define IHTMLRuleStyle_get_backgroundPosition(This,p) (This)->lpVtbl->get_backgroundPosition(This,p)
#define IHTMLRuleStyle_put_backgroundPositionX(This,v) (This)->lpVtbl->put_backgroundPositionX(This,v)
#define IHTMLRuleStyle_get_backgroundPositionX(This,p) (This)->lpVtbl->get_backgroundPositionX(This,p)
#define IHTMLRuleStyle_put_backgroundPositionY(This,v) (This)->lpVtbl->put_backgroundPositionY(This,v)
#define IHTMLRuleStyle_get_backgroundPositionY(This,p) (This)->lpVtbl->get_backgroundPositionY(This,p)
#define IHTMLRuleStyle_put_wordSpacing(This,v) (This)->lpVtbl->put_wordSpacing(This,v)
#define IHTMLRuleStyle_get_wordSpacing(This,p) (This)->lpVtbl->get_wordSpacing(This,p)
#define IHTMLRuleStyle_put_letterSpacing(This,v) (This)->lpVtbl->put_letterSpacing(This,v)
#define IHTMLRuleStyle_get_letterSpacing(This,p) (This)->lpVtbl->get_letterSpacing(This,p)
#define IHTMLRuleStyle_put_textDecoration(This,v) (This)->lpVtbl->put_textDecoration(This,v)
#define IHTMLRuleStyle_get_textDecoration(This,p) (This)->lpVtbl->get_textDecoration(This,p)
#define IHTMLRuleStyle_put_textDecorationNone(This,v) (This)->lpVtbl->put_textDecorationNone(This,v)
#define IHTMLRuleStyle_get_textDecorationNone(This,p) (This)->lpVtbl->get_textDecorationNone(This,p)
#define IHTMLRuleStyle_put_textDecorationUnderline(This,v) (This)->lpVtbl->put_textDecorationUnderline(This,v)
#define IHTMLRuleStyle_get_textDecorationUnderline(This,p) (This)->lpVtbl->get_textDecorationUnderline(This,p)
#define IHTMLRuleStyle_put_textDecorationOverline(This,v) (This)->lpVtbl->put_textDecorationOverline(This,v)
#define IHTMLRuleStyle_get_textDecorationOverline(This,p) (This)->lpVtbl->get_textDecorationOverline(This,p)
#define IHTMLRuleStyle_put_textDecorationLineThrough(This,v) (This)->lpVtbl->put_textDecorationLineThrough(This,v)
#define IHTMLRuleStyle_get_textDecorationLineThrough(This,p) (This)->lpVtbl->get_textDecorationLineThrough(This,p)
#define IHTMLRuleStyle_put_textDecorationBlink(This,v) (This)->lpVtbl->put_textDecorationBlink(This,v)
#define IHTMLRuleStyle_get_textDecorationBlink(This,p) (This)->lpVtbl->get_textDecorationBlink(This,p)
#define IHTMLRuleStyle_put_verticalAlign(This,v) (This)->lpVtbl->put_verticalAlign(This,v)
#define IHTMLRuleStyle_get_verticalAlign(This,p) (This)->lpVtbl->get_verticalAlign(This,p)
#define IHTMLRuleStyle_put_textTransform(This,v) (This)->lpVtbl->put_textTransform(This,v)
#define IHTMLRuleStyle_get_textTransform(This,p) (This)->lpVtbl->get_textTransform(This,p)
#define IHTMLRuleStyle_put_textAlign(This,v) (This)->lpVtbl->put_textAlign(This,v)
#define IHTMLRuleStyle_get_textAlign(This,p) (This)->lpVtbl->get_textAlign(This,p)
#define IHTMLRuleStyle_put_textIndent(This,v) (This)->lpVtbl->put_textIndent(This,v)
#define IHTMLRuleStyle_get_textIndent(This,p) (This)->lpVtbl->get_textIndent(This,p)
#define IHTMLRuleStyle_put_lineHeight(This,v) (This)->lpVtbl->put_lineHeight(This,v)
#define IHTMLRuleStyle_get_lineHeight(This,p) (This)->lpVtbl->get_lineHeight(This,p)
#define IHTMLRuleStyle_put_marginTop(This,v) (This)->lpVtbl->put_marginTop(This,v)
#define IHTMLRuleStyle_get_marginTop(This,p) (This)->lpVtbl->get_marginTop(This,p)
#define IHTMLRuleStyle_put_marginRight(This,v) (This)->lpVtbl->put_marginRight(This,v)
#define IHTMLRuleStyle_get_marginRight(This,p) (This)->lpVtbl->get_marginRight(This,p)
#define IHTMLRuleStyle_put_marginBottom(This,v) (This)->lpVtbl->put_marginBottom(This,v)
#define IHTMLRuleStyle_get_marginBottom(This,p) (This)->lpVtbl->get_marginBottom(This,p)
#define IHTMLRuleStyle_put_marginLeft(This,v) (This)->lpVtbl->put_marginLeft(This,v)
#define IHTMLRuleStyle_get_marginLeft(This,p) (This)->lpVtbl->get_marginLeft(This,p)
#define IHTMLRuleStyle_put_margin(This,v) (This)->lpVtbl->put_margin(This,v)
#define IHTMLRuleStyle_get_margin(This,p) (This)->lpVtbl->get_margin(This,p)
#define IHTMLRuleStyle_put_paddingTop(This,v) (This)->lpVtbl->put_paddingTop(This,v)
#define IHTMLRuleStyle_get_paddingTop(This,p) (This)->lpVtbl->get_paddingTop(This,p)
#define IHTMLRuleStyle_put_paddingRight(This,v) (This)->lpVtbl->put_paddingRight(This,v)
#define IHTMLRuleStyle_get_paddingRight(This,p) (This)->lpVtbl->get_paddingRight(This,p)
#define IHTMLRuleStyle_put_paddingBottom(This,v) (This)->lpVtbl->put_paddingBottom(This,v)
#define IHTMLRuleStyle_get_paddingBottom(This,p) (This)->lpVtbl->get_paddingBottom(This,p)
#define IHTMLRuleStyle_put_paddingLeft(This,v) (This)->lpVtbl->put_paddingLeft(This,v)
#define IHTMLRuleStyle_get_paddingLeft(This,p) (This)->lpVtbl->get_paddingLeft(This,p)
#define IHTMLRuleStyle_put_padding(This,v) (This)->lpVtbl->put_padding(This,v)
#define IHTMLRuleStyle_get_padding(This,p) (This)->lpVtbl->get_padding(This,p)
#define IHTMLRuleStyle_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLRuleStyle_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLRuleStyle_put_borderTop(This,v) (This)->lpVtbl->put_borderTop(This,v)
#define IHTMLRuleStyle_get_borderTop(This,p) (This)->lpVtbl->get_borderTop(This,p)
#define IHTMLRuleStyle_put_borderRight(This,v) (This)->lpVtbl->put_borderRight(This,v)
#define IHTMLRuleStyle_get_borderRight(This,p) (This)->lpVtbl->get_borderRight(This,p)
#define IHTMLRuleStyle_put_borderBottom(This,v) (This)->lpVtbl->put_borderBottom(This,v)
#define IHTMLRuleStyle_get_borderBottom(This,p) (This)->lpVtbl->get_borderBottom(This,p)
#define IHTMLRuleStyle_put_borderLeft(This,v) (This)->lpVtbl->put_borderLeft(This,v)
#define IHTMLRuleStyle_get_borderLeft(This,p) (This)->lpVtbl->get_borderLeft(This,p)
#define IHTMLRuleStyle_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLRuleStyle_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLRuleStyle_put_borderTopColor(This,v) (This)->lpVtbl->put_borderTopColor(This,v)
#define IHTMLRuleStyle_get_borderTopColor(This,p) (This)->lpVtbl->get_borderTopColor(This,p)
#define IHTMLRuleStyle_put_borderRightColor(This,v) (This)->lpVtbl->put_borderRightColor(This,v)
#define IHTMLRuleStyle_get_borderRightColor(This,p) (This)->lpVtbl->get_borderRightColor(This,p)
#define IHTMLRuleStyle_put_borderBottomColor(This,v) (This)->lpVtbl->put_borderBottomColor(This,v)
#define IHTMLRuleStyle_get_borderBottomColor(This,p) (This)->lpVtbl->get_borderBottomColor(This,p)
#define IHTMLRuleStyle_put_borderLeftColor(This,v) (This)->lpVtbl->put_borderLeftColor(This,v)
#define IHTMLRuleStyle_get_borderLeftColor(This,p) (This)->lpVtbl->get_borderLeftColor(This,p)
#define IHTMLRuleStyle_put_borderWidth(This,v) (This)->lpVtbl->put_borderWidth(This,v)
#define IHTMLRuleStyle_get_borderWidth(This,p) (This)->lpVtbl->get_borderWidth(This,p)
#define IHTMLRuleStyle_put_borderTopWidth(This,v) (This)->lpVtbl->put_borderTopWidth(This,v)
#define IHTMLRuleStyle_get_borderTopWidth(This,p) (This)->lpVtbl->get_borderTopWidth(This,p)
#define IHTMLRuleStyle_put_borderRightWidth(This,v) (This)->lpVtbl->put_borderRightWidth(This,v)
#define IHTMLRuleStyle_get_borderRightWidth(This,p) (This)->lpVtbl->get_borderRightWidth(This,p)
#define IHTMLRuleStyle_put_borderBottomWidth(This,v) (This)->lpVtbl->put_borderBottomWidth(This,v)
#define IHTMLRuleStyle_get_borderBottomWidth(This,p) (This)->lpVtbl->get_borderBottomWidth(This,p)
#define IHTMLRuleStyle_put_borderLeftWidth(This,v) (This)->lpVtbl->put_borderLeftWidth(This,v)
#define IHTMLRuleStyle_get_borderLeftWidth(This,p) (This)->lpVtbl->get_borderLeftWidth(This,p)
#define IHTMLRuleStyle_put_borderStyle(This,v) (This)->lpVtbl->put_borderStyle(This,v)
#define IHTMLRuleStyle_get_borderStyle(This,p) (This)->lpVtbl->get_borderStyle(This,p)
#define IHTMLRuleStyle_put_borderTopStyle(This,v) (This)->lpVtbl->put_borderTopStyle(This,v)
#define IHTMLRuleStyle_get_borderTopStyle(This,p) (This)->lpVtbl->get_borderTopStyle(This,p)
#define IHTMLRuleStyle_put_borderRightStyle(This,v) (This)->lpVtbl->put_borderRightStyle(This,v)
#define IHTMLRuleStyle_get_borderRightStyle(This,p) (This)->lpVtbl->get_borderRightStyle(This,p)
#define IHTMLRuleStyle_put_borderBottomStyle(This,v) (This)->lpVtbl->put_borderBottomStyle(This,v)
#define IHTMLRuleStyle_get_borderBottomStyle(This,p) (This)->lpVtbl->get_borderBottomStyle(This,p)
#define IHTMLRuleStyle_put_borderLeftStyle(This,v) (This)->lpVtbl->put_borderLeftStyle(This,v)
#define IHTMLRuleStyle_get_borderLeftStyle(This,p) (This)->lpVtbl->get_borderLeftStyle(This,p)
#define IHTMLRuleStyle_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLRuleStyle_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLRuleStyle_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLRuleStyle_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLRuleStyle_put_styleFloat(This,v) (This)->lpVtbl->put_styleFloat(This,v)
#define IHTMLRuleStyle_get_styleFloat(This,p) (This)->lpVtbl->get_styleFloat(This,p)
#define IHTMLRuleStyle_put_clear(This,v) (This)->lpVtbl->put_clear(This,v)
#define IHTMLRuleStyle_get_clear(This,p) (This)->lpVtbl->get_clear(This,p)
#define IHTMLRuleStyle_put_display(This,v) (This)->lpVtbl->put_display(This,v)
#define IHTMLRuleStyle_get_display(This,p) (This)->lpVtbl->get_display(This,p)
#define IHTMLRuleStyle_put_visibility(This,v) (This)->lpVtbl->put_visibility(This,v)
#define IHTMLRuleStyle_get_visibility(This,p) (This)->lpVtbl->get_visibility(This,p)
#define IHTMLRuleStyle_put_listStyleType(This,v) (This)->lpVtbl->put_listStyleType(This,v)
#define IHTMLRuleStyle_get_listStyleType(This,p) (This)->lpVtbl->get_listStyleType(This,p)
#define IHTMLRuleStyle_put_listStylePosition(This,v) (This)->lpVtbl->put_listStylePosition(This,v)
#define IHTMLRuleStyle_get_listStylePosition(This,p) (This)->lpVtbl->get_listStylePosition(This,p)
#define IHTMLRuleStyle_put_listStyleImage(This,v) (This)->lpVtbl->put_listStyleImage(This,v)
#define IHTMLRuleStyle_get_listStyleImage(This,p) (This)->lpVtbl->get_listStyleImage(This,p)
#define IHTMLRuleStyle_put_listStyle(This,v) (This)->lpVtbl->put_listStyle(This,v)
#define IHTMLRuleStyle_get_listStyle(This,p) (This)->lpVtbl->get_listStyle(This,p)
#define IHTMLRuleStyle_put_whiteSpace(This,v) (This)->lpVtbl->put_whiteSpace(This,v)
#define IHTMLRuleStyle_get_whiteSpace(This,p) (This)->lpVtbl->get_whiteSpace(This,p)
#define IHTMLRuleStyle_put_top(This,v) (This)->lpVtbl->put_top(This,v)
#define IHTMLRuleStyle_get_top(This,p) (This)->lpVtbl->get_top(This,p)
#define IHTMLRuleStyle_put_left(This,v) (This)->lpVtbl->put_left(This,v)
#define IHTMLRuleStyle_get_left(This,p) (This)->lpVtbl->get_left(This,p)
#define IHTMLRuleStyle_get_position(This,p) (This)->lpVtbl->get_position(This,p)
#define IHTMLRuleStyle_put_zIndex(This,v) (This)->lpVtbl->put_zIndex(This,v)
#define IHTMLRuleStyle_get_zIndex(This,p) (This)->lpVtbl->get_zIndex(This,p)
#define IHTMLRuleStyle_put_overflow(This,v) (This)->lpVtbl->put_overflow(This,v)
#define IHTMLRuleStyle_get_overflow(This,p) (This)->lpVtbl->get_overflow(This,p)
#define IHTMLRuleStyle_put_pageBreakBefore(This,v) (This)->lpVtbl->put_pageBreakBefore(This,v)
#define IHTMLRuleStyle_get_pageBreakBefore(This,p) (This)->lpVtbl->get_pageBreakBefore(This,p)
#define IHTMLRuleStyle_put_pageBreakAfter(This,v) (This)->lpVtbl->put_pageBreakAfter(This,v)
#define IHTMLRuleStyle_get_pageBreakAfter(This,p) (This)->lpVtbl->get_pageBreakAfter(This,p)
#define IHTMLRuleStyle_put_cssText(This,v) (This)->lpVtbl->put_cssText(This,v)
#define IHTMLRuleStyle_get_cssText(This,p) (This)->lpVtbl->get_cssText(This,p)
#define IHTMLRuleStyle_put_cursor(This,v) (This)->lpVtbl->put_cursor(This,v)
#define IHTMLRuleStyle_get_cursor(This,p) (This)->lpVtbl->get_cursor(This,p)
#define IHTMLRuleStyle_put_clip(This,v) (This)->lpVtbl->put_clip(This,v)
#define IHTMLRuleStyle_get_clip(This,p) (This)->lpVtbl->get_clip(This,p)
#define IHTMLRuleStyle_put_filter(This,v) (This)->lpVtbl->put_filter(This,v)
#define IHTMLRuleStyle_get_filter(This,p) (This)->lpVtbl->get_filter(This,p)
#define IHTMLRuleStyle_setAttribute(This,strAttributeName,AttributeValue,lFlags) (This)->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags)
#define IHTMLRuleStyle_getAttribute(This,strAttributeName,lFlags,AttributeValue) (This)->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue)
#define IHTMLRuleStyle_removeAttribute(This,strAttributeName,lFlags,pfSuccess) (This)->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRuleStyle_QueryInterface(IHTMLRuleStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRuleStyle_AddRef(IHTMLRuleStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRuleStyle_Release(IHTMLRuleStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRuleStyle_GetTypeInfoCount(IHTMLRuleStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRuleStyle_GetTypeInfo(IHTMLRuleStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRuleStyle_GetIDsOfNames(IHTMLRuleStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRuleStyle_Invoke(IHTMLRuleStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRuleStyle methods ***/
static inline HRESULT IHTMLRuleStyle_put_fontFamily(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontFamily(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_fontFamily(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontFamily(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_fontStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_fontStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_fontVariant(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontVariant(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_fontVariant(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontVariant(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_fontWeight(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontWeight(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_fontWeight(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_fontSize(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_fontSize(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_fontSize(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_font(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_font(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_font(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_font(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_color(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_color(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_background(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_background(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_backgroundColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundColor(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_backgroundColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_backgroundImage(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundImage(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_backgroundImage(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundImage(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_backgroundRepeat(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundRepeat(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_backgroundRepeat(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundRepeat(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_backgroundAttachment(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundAttachment(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_backgroundAttachment(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundAttachment(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_backgroundPosition(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundPosition(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_backgroundPosition(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundPosition(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_backgroundPositionX(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionX(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_backgroundPositionX(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionX(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_backgroundPositionY(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionY(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_backgroundPositionY(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionY(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_wordSpacing(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_wordSpacing(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_wordSpacing(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_wordSpacing(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_letterSpacing(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_letterSpacing(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_letterSpacing(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_letterSpacing(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textDecoration(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_textDecoration(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textDecoration(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textDecorationNone(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationNone(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textDecorationNone(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationNone(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textDecorationUnderline(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationUnderline(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textDecorationUnderline(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationUnderline(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textDecorationOverline(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationOverline(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textDecorationOverline(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationOverline(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textDecorationLineThrough(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationLineThrough(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textDecorationLineThrough(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationLineThrough(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textDecorationBlink(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationBlink(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textDecorationBlink(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationBlink(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_verticalAlign(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_verticalAlign(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_verticalAlign(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_verticalAlign(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textTransform(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_textTransform(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textTransform(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_textTransform(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textAlign(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_textAlign(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textAlign(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_textIndent(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_textIndent(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_textIndent(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textIndent(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_lineHeight(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_lineHeight(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_lineHeight(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_lineHeight(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_marginTop(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_marginTop(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_marginRight(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_marginRight(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_marginBottom(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_marginBottom(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_marginLeft(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_marginLeft(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_margin(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_margin(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_margin(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_margin(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_paddingTop(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingTop(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_paddingTop(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingTop(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_paddingRight(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingRight(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_paddingRight(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingRight(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_paddingBottom(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingBottom(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_paddingBottom(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingBottom(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_paddingLeft(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingLeft(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_paddingLeft(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingLeft(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_padding(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_padding(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_padding(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_padding(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_border(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_border(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderTop(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTop(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderTop(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTop(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderRight(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRight(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderRight(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRight(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderBottom(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottom(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderBottom(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottom(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderLeft(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeft(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderLeft(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeft(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderColor(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderColor(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderTopColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopColor(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderTopColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopColor(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderRightColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightColor(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderRightColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightColor(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderBottomColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomColor(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderBottomColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomColor(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderLeftColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftColor(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderLeftColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftColor(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderWidth(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderWidth(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderWidth(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderTopWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderTopWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopWidth(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderRightWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderRightWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightWidth(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderBottomWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderBottomWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomWidth(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderLeftWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderLeftWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftWidth(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderTopStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTopStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderTopStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTopStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderRightStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRightStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderRightStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRightStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderBottomStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottomStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderBottomStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_borderLeftStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeftStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_borderLeftStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeftStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_width(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_width(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_height(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_height(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_styleFloat(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_styleFloat(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_styleFloat(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_styleFloat(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_clear(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_clear(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_clear(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_display(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_display(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_display(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_display(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_visibility(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_visibility(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_visibility(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_listStyleType(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleType(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_listStyleType(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleType(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_listStylePosition(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStylePosition(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_listStylePosition(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStylePosition(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_listStyleImage(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleImage(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_listStyleImage(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleImage(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_listStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_listStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_whiteSpace(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_whiteSpace(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_whiteSpace(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_whiteSpace(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_top(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_top(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_top(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_top(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_left(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_left(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_left(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_left(This,p);
}
static inline HRESULT IHTMLRuleStyle_get_position(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_zIndex(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_zIndex(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_zIndex(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_zIndex(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_overflow(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_overflow(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_overflow(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflow(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_pageBreakBefore(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakBefore(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_pageBreakBefore(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakBefore(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_pageBreakAfter(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakAfter(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_pageBreakAfter(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakAfter(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_cssText(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_cssText(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_cursor(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_cursor(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_cursor(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_cursor(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_clip(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_clip(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_clip(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_clip(This,p);
}
static inline HRESULT IHTMLRuleStyle_put_filter(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_filter(This,v);
}
static inline HRESULT IHTMLRuleStyle_get_filter(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_filter(This,p);
}
static inline HRESULT IHTMLRuleStyle_setAttribute(IHTMLRuleStyle* This,BSTR strAttributeName,VARIANT AttributeValue,LONG lFlags) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags);
}
static inline HRESULT IHTMLRuleStyle_getAttribute(IHTMLRuleStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static inline HRESULT IHTMLRuleStyle_removeAttribute(IHTMLRuleStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess);
}
#endif
#endif

#endif


#endif  /* __IHTMLRuleStyle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRuleStyle2 interface
 */
#ifndef __IHTMLRuleStyle2_INTERFACE_DEFINED__
#define __IHTMLRuleStyle2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRuleStyle2, 0x3050f4ac, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ac-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRuleStyle2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_tableLayout(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tableLayout(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderCollapse(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderCollapse(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_direction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_direction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_behavior(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behavior(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_position(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_unicodeBidi(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unicodeBidi(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bottom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_right(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_right(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelBottom(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelBottom(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelRight(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelRight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posBottom(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posBottom(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_posRight(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_posRight(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_imeMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyPosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyPosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rubyOverhang(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyOverhang(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridChar(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridChar(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridLine(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridLine(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGridType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_layoutGrid(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGrid(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAutospace(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAutospace(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordBreak(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineBreak(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textJustify(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustify(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textJustifyTrim(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustifyTrim(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textKashida(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashida(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflowX(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowX(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_overflowY(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowY(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accelerator(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accelerator(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRuleStyle2, 0x3050f4ac, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRuleStyle2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRuleStyle2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRuleStyle2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRuleStyle2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRuleStyle2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRuleStyle2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_tableLayout)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_tableLayout)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderCollapse)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderCollapse)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_direction)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_direction)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_behavior)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_behavior)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_position)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_unicodeBidi)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_unicodeBidi)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bottom)(
        IHTMLRuleStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bottom)(
        IHTMLRuleStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_right)(
        IHTMLRuleStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_right)(
        IHTMLRuleStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelBottom)(
        IHTMLRuleStyle2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelBottom)(
        IHTMLRuleStyle2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelRight)(
        IHTMLRuleStyle2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_pixelRight)(
        IHTMLRuleStyle2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_posBottom)(
        IHTMLRuleStyle2 *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posBottom)(
        IHTMLRuleStyle2 *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_posRight)(
        IHTMLRuleStyle2 *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_posRight)(
        IHTMLRuleStyle2 *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_imeMode)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_imeMode)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyAlign)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyAlign)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyPosition)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyPosition)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rubyOverhang)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rubyOverhang)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridChar)(
        IHTMLRuleStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridChar)(
        IHTMLRuleStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridLine)(
        IHTMLRuleStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridLine)(
        IHTMLRuleStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridMode)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridMode)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGridType)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridType)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_layoutGrid)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutGrid)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAutospace)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAutospace)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_wordBreak)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_wordBreak)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lineBreak)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lineBreak)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textJustify)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textJustify)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textJustifyTrim)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textJustifyTrim)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textKashida)(
        IHTMLRuleStyle2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textKashida)(
        IHTMLRuleStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_overflowX)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflowX)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_overflowY)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_overflowY)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_accelerator)(
        IHTMLRuleStyle2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accelerator)(
        IHTMLRuleStyle2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLRuleStyle2Vtbl;

interface IHTMLRuleStyle2 {
    CONST_VTBL IHTMLRuleStyle2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRuleStyle2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRuleStyle2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRuleStyle2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRuleStyle2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRuleStyle2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRuleStyle2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRuleStyle2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRuleStyle2 methods ***/
#define IHTMLRuleStyle2_put_tableLayout(This,v) (This)->lpVtbl->put_tableLayout(This,v)
#define IHTMLRuleStyle2_get_tableLayout(This,p) (This)->lpVtbl->get_tableLayout(This,p)
#define IHTMLRuleStyle2_put_borderCollapse(This,v) (This)->lpVtbl->put_borderCollapse(This,v)
#define IHTMLRuleStyle2_get_borderCollapse(This,p) (This)->lpVtbl->get_borderCollapse(This,p)
#define IHTMLRuleStyle2_put_direction(This,v) (This)->lpVtbl->put_direction(This,v)
#define IHTMLRuleStyle2_get_direction(This,p) (This)->lpVtbl->get_direction(This,p)
#define IHTMLRuleStyle2_put_behavior(This,v) (This)->lpVtbl->put_behavior(This,v)
#define IHTMLRuleStyle2_get_behavior(This,p) (This)->lpVtbl->get_behavior(This,p)
#define IHTMLRuleStyle2_put_position(This,v) (This)->lpVtbl->put_position(This,v)
#define IHTMLRuleStyle2_get_position(This,p) (This)->lpVtbl->get_position(This,p)
#define IHTMLRuleStyle2_put_unicodeBidi(This,v) (This)->lpVtbl->put_unicodeBidi(This,v)
#define IHTMLRuleStyle2_get_unicodeBidi(This,p) (This)->lpVtbl->get_unicodeBidi(This,p)
#define IHTMLRuleStyle2_put_bottom(This,v) (This)->lpVtbl->put_bottom(This,v)
#define IHTMLRuleStyle2_get_bottom(This,p) (This)->lpVtbl->get_bottom(This,p)
#define IHTMLRuleStyle2_put_right(This,v) (This)->lpVtbl->put_right(This,v)
#define IHTMLRuleStyle2_get_right(This,p) (This)->lpVtbl->get_right(This,p)
#define IHTMLRuleStyle2_put_pixelBottom(This,v) (This)->lpVtbl->put_pixelBottom(This,v)
#define IHTMLRuleStyle2_get_pixelBottom(This,p) (This)->lpVtbl->get_pixelBottom(This,p)
#define IHTMLRuleStyle2_put_pixelRight(This,v) (This)->lpVtbl->put_pixelRight(This,v)
#define IHTMLRuleStyle2_get_pixelRight(This,p) (This)->lpVtbl->get_pixelRight(This,p)
#define IHTMLRuleStyle2_put_posBottom(This,v) (This)->lpVtbl->put_posBottom(This,v)
#define IHTMLRuleStyle2_get_posBottom(This,p) (This)->lpVtbl->get_posBottom(This,p)
#define IHTMLRuleStyle2_put_posRight(This,v) (This)->lpVtbl->put_posRight(This,v)
#define IHTMLRuleStyle2_get_posRight(This,p) (This)->lpVtbl->get_posRight(This,p)
#define IHTMLRuleStyle2_put_imeMode(This,v) (This)->lpVtbl->put_imeMode(This,v)
#define IHTMLRuleStyle2_get_imeMode(This,p) (This)->lpVtbl->get_imeMode(This,p)
#define IHTMLRuleStyle2_put_rubyAlign(This,v) (This)->lpVtbl->put_rubyAlign(This,v)
#define IHTMLRuleStyle2_get_rubyAlign(This,p) (This)->lpVtbl->get_rubyAlign(This,p)
#define IHTMLRuleStyle2_put_rubyPosition(This,v) (This)->lpVtbl->put_rubyPosition(This,v)
#define IHTMLRuleStyle2_get_rubyPosition(This,p) (This)->lpVtbl->get_rubyPosition(This,p)
#define IHTMLRuleStyle2_put_rubyOverhang(This,v) (This)->lpVtbl->put_rubyOverhang(This,v)
#define IHTMLRuleStyle2_get_rubyOverhang(This,p) (This)->lpVtbl->get_rubyOverhang(This,p)
#define IHTMLRuleStyle2_put_layoutGridChar(This,v) (This)->lpVtbl->put_layoutGridChar(This,v)
#define IHTMLRuleStyle2_get_layoutGridChar(This,p) (This)->lpVtbl->get_layoutGridChar(This,p)
#define IHTMLRuleStyle2_put_layoutGridLine(This,v) (This)->lpVtbl->put_layoutGridLine(This,v)
#define IHTMLRuleStyle2_get_layoutGridLine(This,p) (This)->lpVtbl->get_layoutGridLine(This,p)
#define IHTMLRuleStyle2_put_layoutGridMode(This,v) (This)->lpVtbl->put_layoutGridMode(This,v)
#define IHTMLRuleStyle2_get_layoutGridMode(This,p) (This)->lpVtbl->get_layoutGridMode(This,p)
#define IHTMLRuleStyle2_put_layoutGridType(This,v) (This)->lpVtbl->put_layoutGridType(This,v)
#define IHTMLRuleStyle2_get_layoutGridType(This,p) (This)->lpVtbl->get_layoutGridType(This,p)
#define IHTMLRuleStyle2_put_layoutGrid(This,v) (This)->lpVtbl->put_layoutGrid(This,v)
#define IHTMLRuleStyle2_get_layoutGrid(This,p) (This)->lpVtbl->get_layoutGrid(This,p)
#define IHTMLRuleStyle2_put_textAutospace(This,v) (This)->lpVtbl->put_textAutospace(This,v)
#define IHTMLRuleStyle2_get_textAutospace(This,p) (This)->lpVtbl->get_textAutospace(This,p)
#define IHTMLRuleStyle2_put_wordBreak(This,v) (This)->lpVtbl->put_wordBreak(This,v)
#define IHTMLRuleStyle2_get_wordBreak(This,p) (This)->lpVtbl->get_wordBreak(This,p)
#define IHTMLRuleStyle2_put_lineBreak(This,v) (This)->lpVtbl->put_lineBreak(This,v)
#define IHTMLRuleStyle2_get_lineBreak(This,p) (This)->lpVtbl->get_lineBreak(This,p)
#define IHTMLRuleStyle2_put_textJustify(This,v) (This)->lpVtbl->put_textJustify(This,v)
#define IHTMLRuleStyle2_get_textJustify(This,p) (This)->lpVtbl->get_textJustify(This,p)
#define IHTMLRuleStyle2_put_textJustifyTrim(This,v) (This)->lpVtbl->put_textJustifyTrim(This,v)
#define IHTMLRuleStyle2_get_textJustifyTrim(This,p) (This)->lpVtbl->get_textJustifyTrim(This,p)
#define IHTMLRuleStyle2_put_textKashida(This,v) (This)->lpVtbl->put_textKashida(This,v)
#define IHTMLRuleStyle2_get_textKashida(This,p) (This)->lpVtbl->get_textKashida(This,p)
#define IHTMLRuleStyle2_put_overflowX(This,v) (This)->lpVtbl->put_overflowX(This,v)
#define IHTMLRuleStyle2_get_overflowX(This,p) (This)->lpVtbl->get_overflowX(This,p)
#define IHTMLRuleStyle2_put_overflowY(This,v) (This)->lpVtbl->put_overflowY(This,v)
#define IHTMLRuleStyle2_get_overflowY(This,p) (This)->lpVtbl->get_overflowY(This,p)
#define IHTMLRuleStyle2_put_accelerator(This,v) (This)->lpVtbl->put_accelerator(This,v)
#define IHTMLRuleStyle2_get_accelerator(This,p) (This)->lpVtbl->get_accelerator(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRuleStyle2_QueryInterface(IHTMLRuleStyle2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRuleStyle2_AddRef(IHTMLRuleStyle2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRuleStyle2_Release(IHTMLRuleStyle2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRuleStyle2_GetTypeInfoCount(IHTMLRuleStyle2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRuleStyle2_GetTypeInfo(IHTMLRuleStyle2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRuleStyle2_GetIDsOfNames(IHTMLRuleStyle2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRuleStyle2_Invoke(IHTMLRuleStyle2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRuleStyle2 methods ***/
static inline HRESULT IHTMLRuleStyle2_put_tableLayout(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_tableLayout(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_tableLayout(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_tableLayout(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_borderCollapse(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_borderCollapse(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_borderCollapse(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_borderCollapse(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_direction(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_direction(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_direction(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_direction(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_behavior(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_behavior(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_behavior(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_behavior(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_position(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_position(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_position(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_unicodeBidi(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_unicodeBidi(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_unicodeBidi(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_unicodeBidi(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_bottom(IHTMLRuleStyle2* This,VARIANT v) {
    return This->lpVtbl->put_bottom(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_bottom(IHTMLRuleStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_bottom(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_right(IHTMLRuleStyle2* This,VARIANT v) {
    return This->lpVtbl->put_right(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_right(IHTMLRuleStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_right(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_pixelBottom(IHTMLRuleStyle2* This,LONG v) {
    return This->lpVtbl->put_pixelBottom(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_pixelBottom(IHTMLRuleStyle2* This,LONG *p) {
    return This->lpVtbl->get_pixelBottom(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_pixelRight(IHTMLRuleStyle2* This,LONG v) {
    return This->lpVtbl->put_pixelRight(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_pixelRight(IHTMLRuleStyle2* This,LONG *p) {
    return This->lpVtbl->get_pixelRight(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_posBottom(IHTMLRuleStyle2* This,float v) {
    return This->lpVtbl->put_posBottom(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_posBottom(IHTMLRuleStyle2* This,float *p) {
    return This->lpVtbl->get_posBottom(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_posRight(IHTMLRuleStyle2* This,float v) {
    return This->lpVtbl->put_posRight(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_posRight(IHTMLRuleStyle2* This,float *p) {
    return This->lpVtbl->get_posRight(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_imeMode(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_imeMode(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_imeMode(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_imeMode(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_rubyAlign(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyAlign(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_rubyAlign(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyAlign(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_rubyPosition(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyPosition(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_rubyPosition(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyPosition(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_rubyOverhang(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyOverhang(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_rubyOverhang(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyOverhang(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_layoutGridChar(IHTMLRuleStyle2* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridChar(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_layoutGridChar(IHTMLRuleStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridChar(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_layoutGridLine(IHTMLRuleStyle2* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridLine(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_layoutGridLine(IHTMLRuleStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridLine(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_layoutGridMode(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGridMode(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_layoutGridMode(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridMode(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_layoutGridType(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGridType(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_layoutGridType(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridType(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_layoutGrid(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGrid(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_layoutGrid(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGrid(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_textAutospace(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_textAutospace(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_textAutospace(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textAutospace(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_wordBreak(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_wordBreak(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_wordBreak(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_wordBreak(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_lineBreak(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_lineBreak(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_lineBreak(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_lineBreak(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_textJustify(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_textJustify(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_textJustify(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textJustify(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_textJustifyTrim(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_textJustifyTrim(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_textJustifyTrim(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textJustifyTrim(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_textKashida(IHTMLRuleStyle2* This,VARIANT v) {
    return This->lpVtbl->put_textKashida(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_textKashida(IHTMLRuleStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_textKashida(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_overflowX(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_overflowX(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_overflowX(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_overflowX(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_overflowY(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_overflowY(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_overflowY(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_overflowY(This,p);
}
static inline HRESULT IHTMLRuleStyle2_put_accelerator(IHTMLRuleStyle2* This,BSTR v) {
    return This->lpVtbl->put_accelerator(This,v);
}
static inline HRESULT IHTMLRuleStyle2_get_accelerator(IHTMLRuleStyle2* This,BSTR *p) {
    return This->lpVtbl->get_accelerator(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRuleStyle2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRuleStyle3 interface
 */
#ifndef __IHTMLRuleStyle3_INTERFACE_DEFINED__
#define __IHTMLRuleStyle3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRuleStyle3, 0x3050f657, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f657-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRuleStyle3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_layoutFlow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutFlow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_zoom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zoom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wordWrap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordWrap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textUnderlinePosition(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textUnderlinePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarBaseColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarFaceColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbar3dLightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarShadowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarHighlightColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarDarkShadowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarArrowColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbarTrackColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_writingMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_writingMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAlignLast(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlignLast(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textKashidaSpace(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashidaSpace(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRuleStyle3, 0x3050f657, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRuleStyle3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRuleStyle3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRuleStyle3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRuleStyle3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRuleStyle3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRuleStyle3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_layoutFlow)(
        IHTMLRuleStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_layoutFlow)(
        IHTMLRuleStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_zoom)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_zoom)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_wordWrap)(
        IHTMLRuleStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_wordWrap)(
        IHTMLRuleStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textUnderlinePosition)(
        IHTMLRuleStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textUnderlinePosition)(
        IHTMLRuleStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarBaseColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarBaseColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarFaceColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarFaceColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbar3dLightColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbar3dLightColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarShadowColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarShadowColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarHighlightColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarHighlightColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarDarkShadowColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarDarkShadowColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarArrowColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarArrowColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbarTrackColor)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarTrackColor)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_writingMode)(
        IHTMLRuleStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_writingMode)(
        IHTMLRuleStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAlignLast)(
        IHTMLRuleStyle3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAlignLast)(
        IHTMLRuleStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textKashidaSpace)(
        IHTMLRuleStyle3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textKashidaSpace)(
        IHTMLRuleStyle3 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLRuleStyle3Vtbl;

interface IHTMLRuleStyle3 {
    CONST_VTBL IHTMLRuleStyle3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRuleStyle3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRuleStyle3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRuleStyle3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRuleStyle3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRuleStyle3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRuleStyle3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRuleStyle3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRuleStyle3 methods ***/
#define IHTMLRuleStyle3_put_layoutFlow(This,v) (This)->lpVtbl->put_layoutFlow(This,v)
#define IHTMLRuleStyle3_get_layoutFlow(This,p) (This)->lpVtbl->get_layoutFlow(This,p)
#define IHTMLRuleStyle3_put_zoom(This,v) (This)->lpVtbl->put_zoom(This,v)
#define IHTMLRuleStyle3_get_zoom(This,p) (This)->lpVtbl->get_zoom(This,p)
#define IHTMLRuleStyle3_put_wordWrap(This,v) (This)->lpVtbl->put_wordWrap(This,v)
#define IHTMLRuleStyle3_get_wordWrap(This,p) (This)->lpVtbl->get_wordWrap(This,p)
#define IHTMLRuleStyle3_put_textUnderlinePosition(This,v) (This)->lpVtbl->put_textUnderlinePosition(This,v)
#define IHTMLRuleStyle3_get_textUnderlinePosition(This,p) (This)->lpVtbl->get_textUnderlinePosition(This,p)
#define IHTMLRuleStyle3_put_scrollbarBaseColor(This,v) (This)->lpVtbl->put_scrollbarBaseColor(This,v)
#define IHTMLRuleStyle3_get_scrollbarBaseColor(This,p) (This)->lpVtbl->get_scrollbarBaseColor(This,p)
#define IHTMLRuleStyle3_put_scrollbarFaceColor(This,v) (This)->lpVtbl->put_scrollbarFaceColor(This,v)
#define IHTMLRuleStyle3_get_scrollbarFaceColor(This,p) (This)->lpVtbl->get_scrollbarFaceColor(This,p)
#define IHTMLRuleStyle3_put_scrollbar3dLightColor(This,v) (This)->lpVtbl->put_scrollbar3dLightColor(This,v)
#define IHTMLRuleStyle3_get_scrollbar3dLightColor(This,p) (This)->lpVtbl->get_scrollbar3dLightColor(This,p)
#define IHTMLRuleStyle3_put_scrollbarShadowColor(This,v) (This)->lpVtbl->put_scrollbarShadowColor(This,v)
#define IHTMLRuleStyle3_get_scrollbarShadowColor(This,p) (This)->lpVtbl->get_scrollbarShadowColor(This,p)
#define IHTMLRuleStyle3_put_scrollbarHighlightColor(This,v) (This)->lpVtbl->put_scrollbarHighlightColor(This,v)
#define IHTMLRuleStyle3_get_scrollbarHighlightColor(This,p) (This)->lpVtbl->get_scrollbarHighlightColor(This,p)
#define IHTMLRuleStyle3_put_scrollbarDarkShadowColor(This,v) (This)->lpVtbl->put_scrollbarDarkShadowColor(This,v)
#define IHTMLRuleStyle3_get_scrollbarDarkShadowColor(This,p) (This)->lpVtbl->get_scrollbarDarkShadowColor(This,p)
#define IHTMLRuleStyle3_put_scrollbarArrowColor(This,v) (This)->lpVtbl->put_scrollbarArrowColor(This,v)
#define IHTMLRuleStyle3_get_scrollbarArrowColor(This,p) (This)->lpVtbl->get_scrollbarArrowColor(This,p)
#define IHTMLRuleStyle3_put_scrollbarTrackColor(This,v) (This)->lpVtbl->put_scrollbarTrackColor(This,v)
#define IHTMLRuleStyle3_get_scrollbarTrackColor(This,p) (This)->lpVtbl->get_scrollbarTrackColor(This,p)
#define IHTMLRuleStyle3_put_writingMode(This,v) (This)->lpVtbl->put_writingMode(This,v)
#define IHTMLRuleStyle3_get_writingMode(This,p) (This)->lpVtbl->get_writingMode(This,p)
#define IHTMLRuleStyle3_put_textAlignLast(This,v) (This)->lpVtbl->put_textAlignLast(This,v)
#define IHTMLRuleStyle3_get_textAlignLast(This,p) (This)->lpVtbl->get_textAlignLast(This,p)
#define IHTMLRuleStyle3_put_textKashidaSpace(This,v) (This)->lpVtbl->put_textKashidaSpace(This,v)
#define IHTMLRuleStyle3_get_textKashidaSpace(This,p) (This)->lpVtbl->get_textKashidaSpace(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRuleStyle3_QueryInterface(IHTMLRuleStyle3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRuleStyle3_AddRef(IHTMLRuleStyle3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRuleStyle3_Release(IHTMLRuleStyle3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRuleStyle3_GetTypeInfoCount(IHTMLRuleStyle3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRuleStyle3_GetTypeInfo(IHTMLRuleStyle3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRuleStyle3_GetIDsOfNames(IHTMLRuleStyle3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRuleStyle3_Invoke(IHTMLRuleStyle3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRuleStyle3 methods ***/
static inline HRESULT IHTMLRuleStyle3_put_layoutFlow(IHTMLRuleStyle3* This,BSTR v) {
    return This->lpVtbl->put_layoutFlow(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_layoutFlow(IHTMLRuleStyle3* This,BSTR *p) {
    return This->lpVtbl->get_layoutFlow(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_zoom(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_zoom(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_zoom(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_zoom(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_wordWrap(IHTMLRuleStyle3* This,BSTR v) {
    return This->lpVtbl->put_wordWrap(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_wordWrap(IHTMLRuleStyle3* This,BSTR *p) {
    return This->lpVtbl->get_wordWrap(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_textUnderlinePosition(IHTMLRuleStyle3* This,BSTR v) {
    return This->lpVtbl->put_textUnderlinePosition(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_textUnderlinePosition(IHTMLRuleStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlinePosition(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbarBaseColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarBaseColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbarBaseColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarBaseColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbarFaceColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarFaceColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbarFaceColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarFaceColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbar3dLightColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbar3dLightColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbar3dLightColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbar3dLightColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbarShadowColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarShadowColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbarShadowColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarShadowColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbarHighlightColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarHighlightColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbarHighlightColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarHighlightColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbarDarkShadowColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarDarkShadowColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbarDarkShadowColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarDarkShadowColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbarArrowColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarArrowColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbarArrowColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarArrowColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_scrollbarTrackColor(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarTrackColor(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_scrollbarTrackColor(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarTrackColor(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_writingMode(IHTMLRuleStyle3* This,BSTR v) {
    return This->lpVtbl->put_writingMode(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_writingMode(IHTMLRuleStyle3* This,BSTR *p) {
    return This->lpVtbl->get_writingMode(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_textAlignLast(IHTMLRuleStyle3* This,BSTR v) {
    return This->lpVtbl->put_textAlignLast(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_textAlignLast(IHTMLRuleStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textAlignLast(This,p);
}
static inline HRESULT IHTMLRuleStyle3_put_textKashidaSpace(IHTMLRuleStyle3* This,VARIANT v) {
    return This->lpVtbl->put_textKashidaSpace(This,v);
}
static inline HRESULT IHTMLRuleStyle3_get_textKashidaSpace(IHTMLRuleStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_textKashidaSpace(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRuleStyle3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRuleStyle4 interface
 */
#ifndef __IHTMLRuleStyle4_INTERFACE_DEFINED__
#define __IHTMLRuleStyle4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRuleStyle4, 0x3050f817, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f817-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRuleStyle4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_textOverflow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textOverflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_minHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minHeight(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRuleStyle4, 0x3050f817, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRuleStyle4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRuleStyle4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRuleStyle4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRuleStyle4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRuleStyle4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRuleStyle4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_textOverflow)(
        IHTMLRuleStyle4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textOverflow)(
        IHTMLRuleStyle4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_minHeight)(
        IHTMLRuleStyle4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_minHeight)(
        IHTMLRuleStyle4 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLRuleStyle4Vtbl;

interface IHTMLRuleStyle4 {
    CONST_VTBL IHTMLRuleStyle4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRuleStyle4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRuleStyle4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRuleStyle4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRuleStyle4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRuleStyle4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRuleStyle4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRuleStyle4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRuleStyle4 methods ***/
#define IHTMLRuleStyle4_put_textOverflow(This,v) (This)->lpVtbl->put_textOverflow(This,v)
#define IHTMLRuleStyle4_get_textOverflow(This,p) (This)->lpVtbl->get_textOverflow(This,p)
#define IHTMLRuleStyle4_put_minHeight(This,v) (This)->lpVtbl->put_minHeight(This,v)
#define IHTMLRuleStyle4_get_minHeight(This,p) (This)->lpVtbl->get_minHeight(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRuleStyle4_QueryInterface(IHTMLRuleStyle4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRuleStyle4_AddRef(IHTMLRuleStyle4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRuleStyle4_Release(IHTMLRuleStyle4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRuleStyle4_GetTypeInfoCount(IHTMLRuleStyle4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRuleStyle4_GetTypeInfo(IHTMLRuleStyle4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRuleStyle4_GetIDsOfNames(IHTMLRuleStyle4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRuleStyle4_Invoke(IHTMLRuleStyle4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRuleStyle4 methods ***/
static inline HRESULT IHTMLRuleStyle4_put_textOverflow(IHTMLRuleStyle4* This,BSTR v) {
    return This->lpVtbl->put_textOverflow(This,v);
}
static inline HRESULT IHTMLRuleStyle4_get_textOverflow(IHTMLRuleStyle4* This,BSTR *p) {
    return This->lpVtbl->get_textOverflow(This,p);
}
static inline HRESULT IHTMLRuleStyle4_put_minHeight(IHTMLRuleStyle4* This,VARIANT v) {
    return This->lpVtbl->put_minHeight(This,v);
}
static inline HRESULT IHTMLRuleStyle4_get_minHeight(IHTMLRuleStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_minHeight(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRuleStyle4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRuleStyle5 interface
 */
#ifndef __IHTMLRuleStyle5_INTERFACE_DEFINED__
#define __IHTMLRuleStyle5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRuleStyle5, 0x3050f335, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f335-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRuleStyle5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_msInterpolationMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msInterpolationMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_minWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxWidth(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRuleStyle5, 0x3050f335, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRuleStyle5Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRuleStyle5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRuleStyle5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRuleStyle5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRuleStyle5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRuleStyle5 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_msInterpolationMode)(
        IHTMLRuleStyle5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msInterpolationMode)(
        IHTMLRuleStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_maxHeight)(
        IHTMLRuleStyle5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_maxHeight)(
        IHTMLRuleStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_minWidth)(
        IHTMLRuleStyle5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_minWidth)(
        IHTMLRuleStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_maxWidth)(
        IHTMLRuleStyle5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_maxWidth)(
        IHTMLRuleStyle5 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLRuleStyle5Vtbl;

interface IHTMLRuleStyle5 {
    CONST_VTBL IHTMLRuleStyle5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRuleStyle5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRuleStyle5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRuleStyle5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRuleStyle5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRuleStyle5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRuleStyle5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRuleStyle5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRuleStyle5 methods ***/
#define IHTMLRuleStyle5_put_msInterpolationMode(This,v) (This)->lpVtbl->put_msInterpolationMode(This,v)
#define IHTMLRuleStyle5_get_msInterpolationMode(This,p) (This)->lpVtbl->get_msInterpolationMode(This,p)
#define IHTMLRuleStyle5_put_maxHeight(This,v) (This)->lpVtbl->put_maxHeight(This,v)
#define IHTMLRuleStyle5_get_maxHeight(This,p) (This)->lpVtbl->get_maxHeight(This,p)
#define IHTMLRuleStyle5_put_minWidth(This,v) (This)->lpVtbl->put_minWidth(This,v)
#define IHTMLRuleStyle5_get_minWidth(This,p) (This)->lpVtbl->get_minWidth(This,p)
#define IHTMLRuleStyle5_put_maxWidth(This,v) (This)->lpVtbl->put_maxWidth(This,v)
#define IHTMLRuleStyle5_get_maxWidth(This,p) (This)->lpVtbl->get_maxWidth(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRuleStyle5_QueryInterface(IHTMLRuleStyle5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRuleStyle5_AddRef(IHTMLRuleStyle5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRuleStyle5_Release(IHTMLRuleStyle5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRuleStyle5_GetTypeInfoCount(IHTMLRuleStyle5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRuleStyle5_GetTypeInfo(IHTMLRuleStyle5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRuleStyle5_GetIDsOfNames(IHTMLRuleStyle5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRuleStyle5_Invoke(IHTMLRuleStyle5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRuleStyle5 methods ***/
static inline HRESULT IHTMLRuleStyle5_put_msInterpolationMode(IHTMLRuleStyle5* This,BSTR v) {
    return This->lpVtbl->put_msInterpolationMode(This,v);
}
static inline HRESULT IHTMLRuleStyle5_get_msInterpolationMode(IHTMLRuleStyle5* This,BSTR *p) {
    return This->lpVtbl->get_msInterpolationMode(This,p);
}
static inline HRESULT IHTMLRuleStyle5_put_maxHeight(IHTMLRuleStyle5* This,VARIANT v) {
    return This->lpVtbl->put_maxHeight(This,v);
}
static inline HRESULT IHTMLRuleStyle5_get_maxHeight(IHTMLRuleStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_maxHeight(This,p);
}
static inline HRESULT IHTMLRuleStyle5_put_minWidth(IHTMLRuleStyle5* This,VARIANT v) {
    return This->lpVtbl->put_minWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle5_get_minWidth(IHTMLRuleStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_minWidth(This,p);
}
static inline HRESULT IHTMLRuleStyle5_put_maxWidth(IHTMLRuleStyle5* This,VARIANT v) {
    return This->lpVtbl->put_maxWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle5_get_maxWidth(IHTMLRuleStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_maxWidth(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRuleStyle5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRuleStyle6 interface
 */
#ifndef __IHTMLRuleStyle6_INTERFACE_DEFINED__
#define __IHTMLRuleStyle6_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRuleStyle6, 0x30510471, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510471-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRuleStyle6 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_content(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_content(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_captionSide(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_captionSide(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_counterIncrement(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_counterIncrement(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_counterReset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_counterReset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outline(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outline(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outlineColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_boxSizing(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boxSizing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderSpacing(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderSpacing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_orphans(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_orphans(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_widows(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_widows(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageBreakInside(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakInside(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_emptyCells(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_emptyCells(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msBlockProgression(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msBlockProgression(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_quotes(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_quotes(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRuleStyle6, 0x30510471, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRuleStyle6Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRuleStyle6 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRuleStyle6 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRuleStyle6 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRuleStyle6 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRuleStyle6 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_content)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_content)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_captionSide)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_captionSide)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_counterIncrement)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_counterIncrement)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_counterReset)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_counterReset)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outline)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outline)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineWidth)(
        IHTMLRuleStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_outlineWidth)(
        IHTMLRuleStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineStyle)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outlineStyle)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outlineColor)(
        IHTMLRuleStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_outlineColor)(
        IHTMLRuleStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_boxSizing)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_boxSizing)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderSpacing)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderSpacing)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_orphans)(
        IHTMLRuleStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_orphans)(
        IHTMLRuleStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_widows)(
        IHTMLRuleStyle6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_widows)(
        IHTMLRuleStyle6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageBreakInside)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakInside)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_emptyCells)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_emptyCells)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_msBlockProgression)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_msBlockProgression)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_quotes)(
        IHTMLRuleStyle6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_quotes)(
        IHTMLRuleStyle6 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLRuleStyle6Vtbl;

interface IHTMLRuleStyle6 {
    CONST_VTBL IHTMLRuleStyle6Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRuleStyle6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRuleStyle6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRuleStyle6_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRuleStyle6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRuleStyle6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRuleStyle6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRuleStyle6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRuleStyle6 methods ***/
#define IHTMLRuleStyle6_put_content(This,v) (This)->lpVtbl->put_content(This,v)
#define IHTMLRuleStyle6_get_content(This,p) (This)->lpVtbl->get_content(This,p)
#define IHTMLRuleStyle6_put_captionSide(This,v) (This)->lpVtbl->put_captionSide(This,v)
#define IHTMLRuleStyle6_get_captionSide(This,p) (This)->lpVtbl->get_captionSide(This,p)
#define IHTMLRuleStyle6_put_counterIncrement(This,v) (This)->lpVtbl->put_counterIncrement(This,v)
#define IHTMLRuleStyle6_get_counterIncrement(This,p) (This)->lpVtbl->get_counterIncrement(This,p)
#define IHTMLRuleStyle6_put_counterReset(This,v) (This)->lpVtbl->put_counterReset(This,v)
#define IHTMLRuleStyle6_get_counterReset(This,p) (This)->lpVtbl->get_counterReset(This,p)
#define IHTMLRuleStyle6_put_outline(This,v) (This)->lpVtbl->put_outline(This,v)
#define IHTMLRuleStyle6_get_outline(This,p) (This)->lpVtbl->get_outline(This,p)
#define IHTMLRuleStyle6_put_outlineWidth(This,v) (This)->lpVtbl->put_outlineWidth(This,v)
#define IHTMLRuleStyle6_get_outlineWidth(This,p) (This)->lpVtbl->get_outlineWidth(This,p)
#define IHTMLRuleStyle6_put_outlineStyle(This,v) (This)->lpVtbl->put_outlineStyle(This,v)
#define IHTMLRuleStyle6_get_outlineStyle(This,p) (This)->lpVtbl->get_outlineStyle(This,p)
#define IHTMLRuleStyle6_put_outlineColor(This,v) (This)->lpVtbl->put_outlineColor(This,v)
#define IHTMLRuleStyle6_get_outlineColor(This,p) (This)->lpVtbl->get_outlineColor(This,p)
#define IHTMLRuleStyle6_put_boxSizing(This,v) (This)->lpVtbl->put_boxSizing(This,v)
#define IHTMLRuleStyle6_get_boxSizing(This,p) (This)->lpVtbl->get_boxSizing(This,p)
#define IHTMLRuleStyle6_put_borderSpacing(This,v) (This)->lpVtbl->put_borderSpacing(This,v)
#define IHTMLRuleStyle6_get_borderSpacing(This,p) (This)->lpVtbl->get_borderSpacing(This,p)
#define IHTMLRuleStyle6_put_orphans(This,v) (This)->lpVtbl->put_orphans(This,v)
#define IHTMLRuleStyle6_get_orphans(This,p) (This)->lpVtbl->get_orphans(This,p)
#define IHTMLRuleStyle6_put_widows(This,v) (This)->lpVtbl->put_widows(This,v)
#define IHTMLRuleStyle6_get_widows(This,p) (This)->lpVtbl->get_widows(This,p)
#define IHTMLRuleStyle6_put_pageBreakInside(This,v) (This)->lpVtbl->put_pageBreakInside(This,v)
#define IHTMLRuleStyle6_get_pageBreakInside(This,p) (This)->lpVtbl->get_pageBreakInside(This,p)
#define IHTMLRuleStyle6_put_emptyCells(This,v) (This)->lpVtbl->put_emptyCells(This,v)
#define IHTMLRuleStyle6_get_emptyCells(This,p) (This)->lpVtbl->get_emptyCells(This,p)
#define IHTMLRuleStyle6_put_msBlockProgression(This,v) (This)->lpVtbl->put_msBlockProgression(This,v)
#define IHTMLRuleStyle6_get_msBlockProgression(This,p) (This)->lpVtbl->get_msBlockProgression(This,p)
#define IHTMLRuleStyle6_put_quotes(This,v) (This)->lpVtbl->put_quotes(This,v)
#define IHTMLRuleStyle6_get_quotes(This,p) (This)->lpVtbl->get_quotes(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRuleStyle6_QueryInterface(IHTMLRuleStyle6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRuleStyle6_AddRef(IHTMLRuleStyle6* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRuleStyle6_Release(IHTMLRuleStyle6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRuleStyle6_GetTypeInfoCount(IHTMLRuleStyle6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRuleStyle6_GetTypeInfo(IHTMLRuleStyle6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRuleStyle6_GetIDsOfNames(IHTMLRuleStyle6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRuleStyle6_Invoke(IHTMLRuleStyle6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRuleStyle6 methods ***/
static inline HRESULT IHTMLRuleStyle6_put_content(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_content(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_content(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_content(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_captionSide(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_captionSide(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_captionSide(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_captionSide(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_counterIncrement(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_counterIncrement(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_counterIncrement(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_counterIncrement(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_counterReset(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_counterReset(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_counterReset(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_counterReset(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_outline(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_outline(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_outline(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_outline(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_outlineWidth(IHTMLRuleStyle6* This,VARIANT v) {
    return This->lpVtbl->put_outlineWidth(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_outlineWidth(IHTMLRuleStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_outlineWidth(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_outlineStyle(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_outlineStyle(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_outlineStyle(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_outlineStyle(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_outlineColor(IHTMLRuleStyle6* This,VARIANT v) {
    return This->lpVtbl->put_outlineColor(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_outlineColor(IHTMLRuleStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_outlineColor(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_boxSizing(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_boxSizing(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_boxSizing(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_boxSizing(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_borderSpacing(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_borderSpacing(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_borderSpacing(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_borderSpacing(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_orphans(IHTMLRuleStyle6* This,VARIANT v) {
    return This->lpVtbl->put_orphans(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_orphans(IHTMLRuleStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_orphans(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_widows(IHTMLRuleStyle6* This,VARIANT v) {
    return This->lpVtbl->put_widows(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_widows(IHTMLRuleStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_widows(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_pageBreakInside(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_pageBreakInside(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_pageBreakInside(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakInside(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_emptyCells(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_emptyCells(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_emptyCells(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_emptyCells(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_msBlockProgression(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_msBlockProgression(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_msBlockProgression(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_msBlockProgression(This,p);
}
static inline HRESULT IHTMLRuleStyle6_put_quotes(IHTMLRuleStyle6* This,BSTR v) {
    return This->lpVtbl->put_quotes(This,v);
}
static inline HRESULT IHTMLRuleStyle6_get_quotes(IHTMLRuleStyle6* This,BSTR *p) {
    return This->lpVtbl->get_quotes(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRuleStyle6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyle dispinterface
 */
#ifndef __DispHTMLStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLStyle_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyle, 0x3050f55a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f55a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyle : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyle, 0x3050f55a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleVtbl;

interface DispHTMLStyle {
    CONST_VTBL DispHTMLStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyle_QueryInterface(DispHTMLStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyle_AddRef(DispHTMLStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyle_Release(DispHTMLStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyle_GetTypeInfoCount(DispHTMLStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyle_GetTypeInfo(DispHTMLStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyle_GetIDsOfNames(DispHTMLStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyle_Invoke(DispHTMLStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyle_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyle coclass
 */

DEFINE_GUID(CLSID_HTMLStyle, 0x3050f285, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f285-98b5-11cf-bb82-00aa00bdce0b") HTMLStyle;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyle, 0x3050f285, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLRuleStyle dispinterface
 */
#ifndef __DispHTMLRuleStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLRuleStyle_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLRuleStyle, 0x3050f55c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f55c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLRuleStyle : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLRuleStyle, 0x3050f55c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLRuleStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLRuleStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLRuleStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLRuleStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLRuleStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLRuleStyleVtbl;

interface DispHTMLRuleStyle {
    CONST_VTBL DispHTMLRuleStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLRuleStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLRuleStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLRuleStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLRuleStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLRuleStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLRuleStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLRuleStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLRuleStyle_QueryInterface(DispHTMLRuleStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLRuleStyle_AddRef(DispHTMLRuleStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLRuleStyle_Release(DispHTMLRuleStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLRuleStyle_GetTypeInfoCount(DispHTMLRuleStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLRuleStyle_GetTypeInfo(DispHTMLRuleStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLRuleStyle_GetIDsOfNames(DispHTMLRuleStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLRuleStyle_Invoke(DispHTMLRuleStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLRuleStyle_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLRuleStyle coclass
 */

DEFINE_GUID(CLSID_HTMLRuleStyle, 0x3050f3d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3d0-98b5-11cf-bb82-00aa00bdce0b") HTMLRuleStyle;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLRuleStyle, 0x3050f3d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CRuleStyle;
EXTERN_C const GUID CLSID_CCSSRule;
EXTERN_C const GUID CLSID_CCSSImportRule;
EXTERN_C const GUID CLSID_CCSSMediaRule;
EXTERN_C const GUID CLSID_CCSSNamespaceRule;
EXTERN_C const GUID CLSID_CCSSMediaList;
EXTERN_C const GUID CLSID_CMSCSSKeyframeRule;
EXTERN_C const GUID CLSID_CMSCSSKeyframesRule;
#ifndef __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesCollection IHTMLStyleSheetRulesCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetRulesCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStyleSheet_FWD_DEFINED__
#define __IHTMLStyleSheet_FWD_DEFINED__
typedef interface IHTMLStyleSheet IHTMLStyleSheet;
#ifdef __cplusplus
interface IHTMLStyleSheet;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLRuleStyle_FWD_DEFINED__
#define __IHTMLRuleStyle_FWD_DEFINED__
typedef interface IHTMLRuleStyle IHTMLRuleStyle;
#ifdef __cplusplus
interface IHTMLRuleStyle;
#endif /* __cplusplus */
#endif

typedef enum _styleViewportSize {
    styleViewportSizeAuto = 0,
    styleViewportSizeDeviceWidth = 1,
    styleViewportSizeDeviceHeight = 2,
    styleViewportSize_Max = 0x7fffffff
} styleViewportSize;
typedef enum _styleUserZoom {
    styleUserZoomNotSet = 0,
    styleUserZoomZoom = 1,
    styleUserZoomFixed = 2,
    styleUserZoom_Max = 0x7fffffff
} styleUserZoom;
/*****************************************************************************
 * IHTMLCSSRule interface
 */
#ifndef __IHTMLCSSRule_INTERFACE_DEFINED__
#define __IHTMLCSSRule_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCSSRule, 0x305106e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e9-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCSSRule : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cssText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentRule(
        IHTMLCSSRule **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentStyleSheet(
        IHTMLStyleSheet **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCSSRule, 0x305106e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCSSRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCSSRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCSSRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCSSRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCSSRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCSSRule methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLCSSRule *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_cssText)(
        IHTMLCSSRule *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cssText)(
        IHTMLCSSRule *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_parentRule)(
        IHTMLCSSRule *This,
        IHTMLCSSRule **p);

    HRESULT (STDMETHODCALLTYPE *get_parentStyleSheet)(
        IHTMLCSSRule *This,
        IHTMLStyleSheet **p);

    END_INTERFACE
} IHTMLCSSRuleVtbl;

interface IHTMLCSSRule {
    CONST_VTBL IHTMLCSSRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCSSRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCSSRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCSSRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCSSRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCSSRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCSSRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCSSRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCSSRule methods ***/
#define IHTMLCSSRule_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLCSSRule_put_cssText(This,v) (This)->lpVtbl->put_cssText(This,v)
#define IHTMLCSSRule_get_cssText(This,p) (This)->lpVtbl->get_cssText(This,p)
#define IHTMLCSSRule_get_parentRule(This,p) (This)->lpVtbl->get_parentRule(This,p)
#define IHTMLCSSRule_get_parentStyleSheet(This,p) (This)->lpVtbl->get_parentStyleSheet(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCSSRule_QueryInterface(IHTMLCSSRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCSSRule_AddRef(IHTMLCSSRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCSSRule_Release(IHTMLCSSRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCSSRule_GetTypeInfoCount(IHTMLCSSRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCSSRule_GetTypeInfo(IHTMLCSSRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCSSRule_GetIDsOfNames(IHTMLCSSRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCSSRule_Invoke(IHTMLCSSRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCSSRule methods ***/
static inline HRESULT IHTMLCSSRule_get_type(IHTMLCSSRule* This,USHORT *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLCSSRule_put_cssText(IHTMLCSSRule* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static inline HRESULT IHTMLCSSRule_get_cssText(IHTMLCSSRule* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static inline HRESULT IHTMLCSSRule_get_parentRule(IHTMLCSSRule* This,IHTMLCSSRule **p) {
    return This->lpVtbl->get_parentRule(This,p);
}
static inline HRESULT IHTMLCSSRule_get_parentStyleSheet(IHTMLCSSRule* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_parentStyleSheet(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCSSRule_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCSSImportRule interface
 */
#ifndef __IHTMLCSSImportRule_INTERFACE_DEFINED__
#define __IHTMLCSSImportRule_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCSSImportRule, 0x305106ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106ea-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCSSImportRule : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleSheet(
        IHTMLStyleSheet **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCSSImportRule, 0x305106ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCSSImportRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCSSImportRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCSSImportRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCSSImportRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCSSImportRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCSSImportRule methods ***/
    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLCSSImportRule *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_media)(
        IHTMLCSSImportRule *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLCSSImportRule *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_styleSheet)(
        IHTMLCSSImportRule *This,
        IHTMLStyleSheet **p);

    END_INTERFACE
} IHTMLCSSImportRuleVtbl;

interface IHTMLCSSImportRule {
    CONST_VTBL IHTMLCSSImportRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCSSImportRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCSSImportRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCSSImportRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCSSImportRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCSSImportRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCSSImportRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCSSImportRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCSSImportRule methods ***/
#define IHTMLCSSImportRule_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLCSSImportRule_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define IHTMLCSSImportRule_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#define IHTMLCSSImportRule_get_styleSheet(This,p) (This)->lpVtbl->get_styleSheet(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCSSImportRule_QueryInterface(IHTMLCSSImportRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCSSImportRule_AddRef(IHTMLCSSImportRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCSSImportRule_Release(IHTMLCSSImportRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCSSImportRule_GetTypeInfoCount(IHTMLCSSImportRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCSSImportRule_GetTypeInfo(IHTMLCSSImportRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCSSImportRule_GetIDsOfNames(IHTMLCSSImportRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCSSImportRule_Invoke(IHTMLCSSImportRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCSSImportRule methods ***/
static inline HRESULT IHTMLCSSImportRule_get_href(IHTMLCSSImportRule* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLCSSImportRule_put_media(IHTMLCSSImportRule* This,VARIANT v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT IHTMLCSSImportRule_get_media(IHTMLCSSImportRule* This,VARIANT *p) {
    return This->lpVtbl->get_media(This,p);
}
static inline HRESULT IHTMLCSSImportRule_get_styleSheet(IHTMLCSSImportRule* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_styleSheet(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCSSImportRule_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCSSMediaRule interface
 */
#ifndef __IHTMLCSSMediaRule_INTERFACE_DEFINED__
#define __IHTMLCSSMediaRule_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCSSMediaRule, 0x305106eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106eb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCSSMediaRule : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_media(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssRules(
        IHTMLStyleSheetRulesCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertRule(
        BSTR bstrRule,
        LONG lIndex = -1,
        LONG *plNewIndex = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteRule(
        LONG lIndex = -1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCSSMediaRule, 0x305106eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCSSMediaRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCSSMediaRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCSSMediaRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCSSMediaRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCSSMediaRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCSSMediaRule methods ***/
    HRESULT (STDMETHODCALLTYPE *put_media)(
        IHTMLCSSMediaRule *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLCSSMediaRule *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_cssRules)(
        IHTMLCSSMediaRule *This,
        IHTMLStyleSheetRulesCollection **p);

    HRESULT (STDMETHODCALLTYPE *insertRule)(
        IHTMLCSSMediaRule *This,
        BSTR bstrRule,
        LONG lIndex,
        LONG *plNewIndex);

    HRESULT (STDMETHODCALLTYPE *deleteRule)(
        IHTMLCSSMediaRule *This,
        LONG lIndex);

    END_INTERFACE
} IHTMLCSSMediaRuleVtbl;

interface IHTMLCSSMediaRule {
    CONST_VTBL IHTMLCSSMediaRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCSSMediaRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCSSMediaRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCSSMediaRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCSSMediaRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCSSMediaRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCSSMediaRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCSSMediaRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCSSMediaRule methods ***/
#define IHTMLCSSMediaRule_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define IHTMLCSSMediaRule_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#define IHTMLCSSMediaRule_get_cssRules(This,p) (This)->lpVtbl->get_cssRules(This,p)
#define IHTMLCSSMediaRule_insertRule(This,bstrRule,lIndex,plNewIndex) (This)->lpVtbl->insertRule(This,bstrRule,lIndex,plNewIndex)
#define IHTMLCSSMediaRule_deleteRule(This,lIndex) (This)->lpVtbl->deleteRule(This,lIndex)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCSSMediaRule_QueryInterface(IHTMLCSSMediaRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCSSMediaRule_AddRef(IHTMLCSSMediaRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCSSMediaRule_Release(IHTMLCSSMediaRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCSSMediaRule_GetTypeInfoCount(IHTMLCSSMediaRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCSSMediaRule_GetTypeInfo(IHTMLCSSMediaRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCSSMediaRule_GetIDsOfNames(IHTMLCSSMediaRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCSSMediaRule_Invoke(IHTMLCSSMediaRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCSSMediaRule methods ***/
static inline HRESULT IHTMLCSSMediaRule_put_media(IHTMLCSSMediaRule* This,VARIANT v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT IHTMLCSSMediaRule_get_media(IHTMLCSSMediaRule* This,VARIANT *p) {
    return This->lpVtbl->get_media(This,p);
}
static inline HRESULT IHTMLCSSMediaRule_get_cssRules(IHTMLCSSMediaRule* This,IHTMLStyleSheetRulesCollection **p) {
    return This->lpVtbl->get_cssRules(This,p);
}
static inline HRESULT IHTMLCSSMediaRule_insertRule(IHTMLCSSMediaRule* This,BSTR bstrRule,LONG lIndex,LONG *plNewIndex) {
    return This->lpVtbl->insertRule(This,bstrRule,lIndex,plNewIndex);
}
static inline HRESULT IHTMLCSSMediaRule_deleteRule(IHTMLCSSMediaRule* This,LONG lIndex) {
    return This->lpVtbl->deleteRule(This,lIndex);
}
#endif
#endif

#endif


#endif  /* __IHTMLCSSMediaRule_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCSSMediaList interface
 */
#ifndef __IHTMLCSSMediaList_INTERFACE_DEFINED__
#define __IHTMLCSSMediaList_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCSSMediaList, 0x30510731, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510731-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCSSMediaList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_mediaText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_mediaText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        BSTR *pbstrMedium) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendMedium(
        BSTR bstrMedium) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteMedium(
        BSTR bstrMedium) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCSSMediaList, 0x30510731, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCSSMediaListVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCSSMediaList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCSSMediaList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCSSMediaList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCSSMediaList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCSSMediaList methods ***/
    HRESULT (STDMETHODCALLTYPE *put_mediaText)(
        IHTMLCSSMediaList *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_mediaText)(
        IHTMLCSSMediaList *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLCSSMediaList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLCSSMediaList *This,
        LONG index,
        BSTR *pbstrMedium);

    HRESULT (STDMETHODCALLTYPE *appendMedium)(
        IHTMLCSSMediaList *This,
        BSTR bstrMedium);

    HRESULT (STDMETHODCALLTYPE *deleteMedium)(
        IHTMLCSSMediaList *This,
        BSTR bstrMedium);

    END_INTERFACE
} IHTMLCSSMediaListVtbl;

interface IHTMLCSSMediaList {
    CONST_VTBL IHTMLCSSMediaListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCSSMediaList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCSSMediaList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCSSMediaList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCSSMediaList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCSSMediaList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCSSMediaList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCSSMediaList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCSSMediaList methods ***/
#define IHTMLCSSMediaList_put_mediaText(This,v) (This)->lpVtbl->put_mediaText(This,v)
#define IHTMLCSSMediaList_get_mediaText(This,p) (This)->lpVtbl->get_mediaText(This,p)
#define IHTMLCSSMediaList_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLCSSMediaList_item(This,index,pbstrMedium) (This)->lpVtbl->item(This,index,pbstrMedium)
#define IHTMLCSSMediaList_appendMedium(This,bstrMedium) (This)->lpVtbl->appendMedium(This,bstrMedium)
#define IHTMLCSSMediaList_deleteMedium(This,bstrMedium) (This)->lpVtbl->deleteMedium(This,bstrMedium)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCSSMediaList_QueryInterface(IHTMLCSSMediaList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCSSMediaList_AddRef(IHTMLCSSMediaList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCSSMediaList_Release(IHTMLCSSMediaList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCSSMediaList_GetTypeInfoCount(IHTMLCSSMediaList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCSSMediaList_GetTypeInfo(IHTMLCSSMediaList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCSSMediaList_GetIDsOfNames(IHTMLCSSMediaList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCSSMediaList_Invoke(IHTMLCSSMediaList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCSSMediaList methods ***/
static inline HRESULT IHTMLCSSMediaList_put_mediaText(IHTMLCSSMediaList* This,BSTR v) {
    return This->lpVtbl->put_mediaText(This,v);
}
static inline HRESULT IHTMLCSSMediaList_get_mediaText(IHTMLCSSMediaList* This,BSTR *p) {
    return This->lpVtbl->get_mediaText(This,p);
}
static inline HRESULT IHTMLCSSMediaList_get_length(IHTMLCSSMediaList* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLCSSMediaList_item(IHTMLCSSMediaList* This,LONG index,BSTR *pbstrMedium) {
    return This->lpVtbl->item(This,index,pbstrMedium);
}
static inline HRESULT IHTMLCSSMediaList_appendMedium(IHTMLCSSMediaList* This,BSTR bstrMedium) {
    return This->lpVtbl->appendMedium(This,bstrMedium);
}
static inline HRESULT IHTMLCSSMediaList_deleteMedium(IHTMLCSSMediaList* This,BSTR bstrMedium) {
    return This->lpVtbl->deleteMedium(This,bstrMedium);
}
#endif
#endif

#endif


#endif  /* __IHTMLCSSMediaList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCSSNamespaceRule interface
 */
#ifndef __IHTMLCSSNamespaceRule_INTERFACE_DEFINED__
#define __IHTMLCSSNamespaceRule_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCSSNamespaceRule, 0x305106ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106ee-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCSSNamespaceRule : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_namespaceURI(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_prefix(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCSSNamespaceRule, 0x305106ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCSSNamespaceRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCSSNamespaceRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCSSNamespaceRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCSSNamespaceRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCSSNamespaceRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCSSNamespaceRule methods ***/
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
        IHTMLCSSNamespaceRule *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_prefix)(
        IHTMLCSSNamespaceRule *This,
        BSTR *p);

    END_INTERFACE
} IHTMLCSSNamespaceRuleVtbl;

interface IHTMLCSSNamespaceRule {
    CONST_VTBL IHTMLCSSNamespaceRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCSSNamespaceRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCSSNamespaceRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCSSNamespaceRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCSSNamespaceRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCSSNamespaceRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCSSNamespaceRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCSSNamespaceRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCSSNamespaceRule methods ***/
#define IHTMLCSSNamespaceRule_get_namespaceURI(This,p) (This)->lpVtbl->get_namespaceURI(This,p)
#define IHTMLCSSNamespaceRule_get_prefix(This,p) (This)->lpVtbl->get_prefix(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCSSNamespaceRule_QueryInterface(IHTMLCSSNamespaceRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCSSNamespaceRule_AddRef(IHTMLCSSNamespaceRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCSSNamespaceRule_Release(IHTMLCSSNamespaceRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCSSNamespaceRule_GetTypeInfoCount(IHTMLCSSNamespaceRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCSSNamespaceRule_GetTypeInfo(IHTMLCSSNamespaceRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCSSNamespaceRule_GetIDsOfNames(IHTMLCSSNamespaceRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCSSNamespaceRule_Invoke(IHTMLCSSNamespaceRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCSSNamespaceRule methods ***/
static inline HRESULT IHTMLCSSNamespaceRule_get_namespaceURI(IHTMLCSSNamespaceRule* This,BSTR *p) {
    return This->lpVtbl->get_namespaceURI(This,p);
}
static inline HRESULT IHTMLCSSNamespaceRule_get_prefix(IHTMLCSSNamespaceRule* This,BSTR *p) {
    return This->lpVtbl->get_prefix(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCSSNamespaceRule_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMSCSSKeyframeRule interface
 */
#ifndef __IHTMLMSCSSKeyframeRule_INTERFACE_DEFINED__
#define __IHTMLMSCSSKeyframeRule_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMSCSSKeyframeRule, 0x3051080c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051080c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMSCSSKeyframeRule : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_keyText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_keyText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_style(
        IHTMLRuleStyle **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMSCSSKeyframeRule, 0x3051080c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMSCSSKeyframeRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMSCSSKeyframeRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMSCSSKeyframeRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMSCSSKeyframeRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMSCSSKeyframeRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMSCSSKeyframeRule methods ***/
    HRESULT (STDMETHODCALLTYPE *put_keyText)(
        IHTMLMSCSSKeyframeRule *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_keyText)(
        IHTMLMSCSSKeyframeRule *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_style)(
        IHTMLMSCSSKeyframeRule *This,
        IHTMLRuleStyle **p);

    END_INTERFACE
} IHTMLMSCSSKeyframeRuleVtbl;

interface IHTMLMSCSSKeyframeRule {
    CONST_VTBL IHTMLMSCSSKeyframeRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMSCSSKeyframeRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMSCSSKeyframeRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMSCSSKeyframeRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMSCSSKeyframeRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMSCSSKeyframeRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMSCSSKeyframeRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMSCSSKeyframeRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMSCSSKeyframeRule methods ***/
#define IHTMLMSCSSKeyframeRule_put_keyText(This,v) (This)->lpVtbl->put_keyText(This,v)
#define IHTMLMSCSSKeyframeRule_get_keyText(This,p) (This)->lpVtbl->get_keyText(This,p)
#define IHTMLMSCSSKeyframeRule_get_style(This,p) (This)->lpVtbl->get_style(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMSCSSKeyframeRule_QueryInterface(IHTMLMSCSSKeyframeRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMSCSSKeyframeRule_AddRef(IHTMLMSCSSKeyframeRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMSCSSKeyframeRule_Release(IHTMLMSCSSKeyframeRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMSCSSKeyframeRule_GetTypeInfoCount(IHTMLMSCSSKeyframeRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMSCSSKeyframeRule_GetTypeInfo(IHTMLMSCSSKeyframeRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMSCSSKeyframeRule_GetIDsOfNames(IHTMLMSCSSKeyframeRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMSCSSKeyframeRule_Invoke(IHTMLMSCSSKeyframeRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMSCSSKeyframeRule methods ***/
static inline HRESULT IHTMLMSCSSKeyframeRule_put_keyText(IHTMLMSCSSKeyframeRule* This,BSTR v) {
    return This->lpVtbl->put_keyText(This,v);
}
static inline HRESULT IHTMLMSCSSKeyframeRule_get_keyText(IHTMLMSCSSKeyframeRule* This,BSTR *p) {
    return This->lpVtbl->get_keyText(This,p);
}
static inline HRESULT IHTMLMSCSSKeyframeRule_get_style(IHTMLMSCSSKeyframeRule* This,IHTMLRuleStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMSCSSKeyframeRule_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMSCSSKeyframesRule interface
 */
#ifndef __IHTMLMSCSSKeyframesRule_INTERFACE_DEFINED__
#define __IHTMLMSCSSKeyframesRule_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMSCSSKeyframesRule, 0x3051080d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051080d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMSCSSKeyframesRule : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssRules(
        IHTMLStyleSheetRulesCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendRule(
        BSTR bstrRule) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteRule(
        BSTR bstrKey) = 0;

    virtual HRESULT STDMETHODCALLTYPE findRule(
        BSTR bstrKey,
        IHTMLMSCSSKeyframeRule **ppMSKeyframeRule) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMSCSSKeyframesRule, 0x3051080d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMSCSSKeyframesRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMSCSSKeyframesRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMSCSSKeyframesRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMSCSSKeyframesRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMSCSSKeyframesRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMSCSSKeyframesRule methods ***/
    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLMSCSSKeyframesRule *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLMSCSSKeyframesRule *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_cssRules)(
        IHTMLMSCSSKeyframesRule *This,
        IHTMLStyleSheetRulesCollection **p);

    HRESULT (STDMETHODCALLTYPE *appendRule)(
        IHTMLMSCSSKeyframesRule *This,
        BSTR bstrRule);

    HRESULT (STDMETHODCALLTYPE *deleteRule)(
        IHTMLMSCSSKeyframesRule *This,
        BSTR bstrKey);

    HRESULT (STDMETHODCALLTYPE *findRule)(
        IHTMLMSCSSKeyframesRule *This,
        BSTR bstrKey,
        IHTMLMSCSSKeyframeRule **ppMSKeyframeRule);

    END_INTERFACE
} IHTMLMSCSSKeyframesRuleVtbl;

interface IHTMLMSCSSKeyframesRule {
    CONST_VTBL IHTMLMSCSSKeyframesRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMSCSSKeyframesRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMSCSSKeyframesRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMSCSSKeyframesRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMSCSSKeyframesRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMSCSSKeyframesRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMSCSSKeyframesRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMSCSSKeyframesRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMSCSSKeyframesRule methods ***/
#define IHTMLMSCSSKeyframesRule_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLMSCSSKeyframesRule_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLMSCSSKeyframesRule_get_cssRules(This,p) (This)->lpVtbl->get_cssRules(This,p)
#define IHTMLMSCSSKeyframesRule_appendRule(This,bstrRule) (This)->lpVtbl->appendRule(This,bstrRule)
#define IHTMLMSCSSKeyframesRule_deleteRule(This,bstrKey) (This)->lpVtbl->deleteRule(This,bstrKey)
#define IHTMLMSCSSKeyframesRule_findRule(This,bstrKey,ppMSKeyframeRule) (This)->lpVtbl->findRule(This,bstrKey,ppMSKeyframeRule)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMSCSSKeyframesRule_QueryInterface(IHTMLMSCSSKeyframesRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMSCSSKeyframesRule_AddRef(IHTMLMSCSSKeyframesRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMSCSSKeyframesRule_Release(IHTMLMSCSSKeyframesRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMSCSSKeyframesRule_GetTypeInfoCount(IHTMLMSCSSKeyframesRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_GetTypeInfo(IHTMLMSCSSKeyframesRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_GetIDsOfNames(IHTMLMSCSSKeyframesRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_Invoke(IHTMLMSCSSKeyframesRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMSCSSKeyframesRule methods ***/
static inline HRESULT IHTMLMSCSSKeyframesRule_put_name(IHTMLMSCSSKeyframesRule* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_get_name(IHTMLMSCSSKeyframesRule* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_get_cssRules(IHTMLMSCSSKeyframesRule* This,IHTMLStyleSheetRulesCollection **p) {
    return This->lpVtbl->get_cssRules(This,p);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_appendRule(IHTMLMSCSSKeyframesRule* This,BSTR bstrRule) {
    return This->lpVtbl->appendRule(This,bstrRule);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_deleteRule(IHTMLMSCSSKeyframesRule* This,BSTR bstrKey) {
    return This->lpVtbl->deleteRule(This,bstrKey);
}
static inline HRESULT IHTMLMSCSSKeyframesRule_findRule(IHTMLMSCSSKeyframesRule* This,BSTR bstrKey,IHTMLMSCSSKeyframeRule **ppMSKeyframeRule) {
    return This->lpVtbl->findRule(This,bstrKey,ppMSKeyframeRule);
}
#endif
#endif

#endif


#endif  /* __IHTMLMSCSSKeyframesRule_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLCSSRule dispinterface
 */
#ifndef __DispHTMLCSSRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSRule_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCSSRule, 0x3059007d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059007d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCSSRule : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCSSRule, 0x3059007d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCSSRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCSSRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCSSRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCSSRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCSSRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCSSRuleVtbl;

interface DispHTMLCSSRule {
    CONST_VTBL DispHTMLCSSRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCSSRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCSSRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCSSRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCSSRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCSSRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCSSRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCSSRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCSSRule_QueryInterface(DispHTMLCSSRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCSSRule_AddRef(DispHTMLCSSRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCSSRule_Release(DispHTMLCSSRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCSSRule_GetTypeInfoCount(DispHTMLCSSRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCSSRule_GetTypeInfo(DispHTMLCSSRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCSSRule_GetIDsOfNames(DispHTMLCSSRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCSSRule_Invoke(DispHTMLCSSRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCSSRule_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCSSRule coclass
 */

DEFINE_GUID(CLSID_HTMLCSSRule, 0x305106ef, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106ef-98b5-11cf-bb82-00aa00bdce0b") HTMLCSSRule;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCSSRule, 0x305106ef, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLCSSImportRule dispinterface
 */
#ifndef __DispHTMLCSSImportRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSImportRule_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCSSImportRule, 0x3059007e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059007e-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCSSImportRule : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCSSImportRule, 0x3059007e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCSSImportRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCSSImportRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCSSImportRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCSSImportRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCSSImportRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCSSImportRuleVtbl;

interface DispHTMLCSSImportRule {
    CONST_VTBL DispHTMLCSSImportRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCSSImportRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCSSImportRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCSSImportRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCSSImportRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCSSImportRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCSSImportRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCSSImportRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCSSImportRule_QueryInterface(DispHTMLCSSImportRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCSSImportRule_AddRef(DispHTMLCSSImportRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCSSImportRule_Release(DispHTMLCSSImportRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCSSImportRule_GetTypeInfoCount(DispHTMLCSSImportRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCSSImportRule_GetTypeInfo(DispHTMLCSSImportRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCSSImportRule_GetIDsOfNames(DispHTMLCSSImportRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCSSImportRule_Invoke(DispHTMLCSSImportRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCSSImportRule_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCSSImportRule coclass
 */

DEFINE_GUID(CLSID_HTMLCSSImportRule, 0x305106f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106f0-98b5-11cf-bb82-00aa00bdce0b") HTMLCSSImportRule;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCSSImportRule, 0x305106f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLCSSMediaRule dispinterface
 */
#ifndef __DispHTMLCSSMediaRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSMediaRule_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCSSMediaRule, 0x3059007f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059007f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCSSMediaRule : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCSSMediaRule, 0x3059007f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCSSMediaRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCSSMediaRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCSSMediaRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCSSMediaRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCSSMediaRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCSSMediaRuleVtbl;

interface DispHTMLCSSMediaRule {
    CONST_VTBL DispHTMLCSSMediaRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCSSMediaRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCSSMediaRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCSSMediaRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCSSMediaRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCSSMediaRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCSSMediaRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCSSMediaRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCSSMediaRule_QueryInterface(DispHTMLCSSMediaRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCSSMediaRule_AddRef(DispHTMLCSSMediaRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCSSMediaRule_Release(DispHTMLCSSMediaRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCSSMediaRule_GetTypeInfoCount(DispHTMLCSSMediaRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCSSMediaRule_GetTypeInfo(DispHTMLCSSMediaRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCSSMediaRule_GetIDsOfNames(DispHTMLCSSMediaRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCSSMediaRule_Invoke(DispHTMLCSSMediaRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCSSMediaRule_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCSSMediaRule coclass
 */

DEFINE_GUID(CLSID_HTMLCSSMediaRule, 0x305106f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106f1-98b5-11cf-bb82-00aa00bdce0b") HTMLCSSMediaRule;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCSSMediaRule, 0x305106f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLCSSMediaList dispinterface
 */
#ifndef __DispHTMLCSSMediaList_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSMediaList_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCSSMediaList, 0x30590097, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590097-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCSSMediaList : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCSSMediaList, 0x30590097, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCSSMediaListVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCSSMediaList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCSSMediaList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCSSMediaList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCSSMediaList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCSSMediaListVtbl;

interface DispHTMLCSSMediaList {
    CONST_VTBL DispHTMLCSSMediaListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCSSMediaList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCSSMediaList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCSSMediaList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCSSMediaList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCSSMediaList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCSSMediaList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCSSMediaList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCSSMediaList_QueryInterface(DispHTMLCSSMediaList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCSSMediaList_AddRef(DispHTMLCSSMediaList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCSSMediaList_Release(DispHTMLCSSMediaList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCSSMediaList_GetTypeInfoCount(DispHTMLCSSMediaList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCSSMediaList_GetTypeInfo(DispHTMLCSSMediaList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCSSMediaList_GetIDsOfNames(DispHTMLCSSMediaList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCSSMediaList_Invoke(DispHTMLCSSMediaList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCSSMediaList_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCSSMediaList coclass
 */

DEFINE_GUID(CLSID_HTMLCSSMediaList, 0x30510732, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510732-98b5-11cf-bb82-00aa00bdce0b") HTMLCSSMediaList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCSSMediaList, 0x30510732, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLCSSNamespaceRule dispinterface
 */
#ifndef __DispHTMLCSSNamespaceRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSNamespaceRule_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCSSNamespaceRule, 0x30590080, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590080-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCSSNamespaceRule : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCSSNamespaceRule, 0x30590080, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCSSNamespaceRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCSSNamespaceRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCSSNamespaceRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCSSNamespaceRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCSSNamespaceRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCSSNamespaceRuleVtbl;

interface DispHTMLCSSNamespaceRule {
    CONST_VTBL DispHTMLCSSNamespaceRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCSSNamespaceRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCSSNamespaceRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCSSNamespaceRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCSSNamespaceRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCSSNamespaceRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCSSNamespaceRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCSSNamespaceRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCSSNamespaceRule_QueryInterface(DispHTMLCSSNamespaceRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCSSNamespaceRule_AddRef(DispHTMLCSSNamespaceRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCSSNamespaceRule_Release(DispHTMLCSSNamespaceRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCSSNamespaceRule_GetTypeInfoCount(DispHTMLCSSNamespaceRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCSSNamespaceRule_GetTypeInfo(DispHTMLCSSNamespaceRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCSSNamespaceRule_GetIDsOfNames(DispHTMLCSSNamespaceRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCSSNamespaceRule_Invoke(DispHTMLCSSNamespaceRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCSSNamespaceRule_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCSSNamespaceRule coclass
 */

DEFINE_GUID(CLSID_HTMLCSSNamespaceRule, 0x305106f2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106f2-98b5-11cf-bb82-00aa00bdce0b") HTMLCSSNamespaceRule;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCSSNamespaceRule, 0x305106f2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLMSCSSKeyframeRule dispinterface
 */
#ifndef __DispHTMLMSCSSKeyframeRule_DISPINTERFACE_DEFINED__
#define __DispHTMLMSCSSKeyframeRule_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLMSCSSKeyframeRule, 0x305900de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900de-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLMSCSSKeyframeRule : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLMSCSSKeyframeRule, 0x305900de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLMSCSSKeyframeRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLMSCSSKeyframeRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLMSCSSKeyframeRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLMSCSSKeyframeRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLMSCSSKeyframeRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLMSCSSKeyframeRuleVtbl;

interface DispHTMLMSCSSKeyframeRule {
    CONST_VTBL DispHTMLMSCSSKeyframeRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLMSCSSKeyframeRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLMSCSSKeyframeRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLMSCSSKeyframeRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLMSCSSKeyframeRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLMSCSSKeyframeRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLMSCSSKeyframeRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLMSCSSKeyframeRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLMSCSSKeyframeRule_QueryInterface(DispHTMLMSCSSKeyframeRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLMSCSSKeyframeRule_AddRef(DispHTMLMSCSSKeyframeRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLMSCSSKeyframeRule_Release(DispHTMLMSCSSKeyframeRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLMSCSSKeyframeRule_GetTypeInfoCount(DispHTMLMSCSSKeyframeRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLMSCSSKeyframeRule_GetTypeInfo(DispHTMLMSCSSKeyframeRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLMSCSSKeyframeRule_GetIDsOfNames(DispHTMLMSCSSKeyframeRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLMSCSSKeyframeRule_Invoke(DispHTMLMSCSSKeyframeRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLMSCSSKeyframeRule_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMSCSSKeyframeRule coclass
 */

DEFINE_GUID(CLSID_HTMLMSCSSKeyframeRule, 0x3051080e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051080e-98b5-11cf-bb82-00aa00bdce0b") HTMLMSCSSKeyframeRule;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMSCSSKeyframeRule, 0x3051080e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLMSCSSKeyframesRule dispinterface
 */
#ifndef __DispHTMLMSCSSKeyframesRule_DISPINTERFACE_DEFINED__
#define __DispHTMLMSCSSKeyframesRule_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLMSCSSKeyframesRule, 0x305900df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900df-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLMSCSSKeyframesRule : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLMSCSSKeyframesRule, 0x305900df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLMSCSSKeyframesRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLMSCSSKeyframesRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLMSCSSKeyframesRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLMSCSSKeyframesRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLMSCSSKeyframesRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLMSCSSKeyframesRuleVtbl;

interface DispHTMLMSCSSKeyframesRule {
    CONST_VTBL DispHTMLMSCSSKeyframesRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLMSCSSKeyframesRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLMSCSSKeyframesRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLMSCSSKeyframesRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLMSCSSKeyframesRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLMSCSSKeyframesRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLMSCSSKeyframesRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLMSCSSKeyframesRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLMSCSSKeyframesRule_QueryInterface(DispHTMLMSCSSKeyframesRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLMSCSSKeyframesRule_AddRef(DispHTMLMSCSSKeyframesRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLMSCSSKeyframesRule_Release(DispHTMLMSCSSKeyframesRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLMSCSSKeyframesRule_GetTypeInfoCount(DispHTMLMSCSSKeyframesRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLMSCSSKeyframesRule_GetTypeInfo(DispHTMLMSCSSKeyframesRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLMSCSSKeyframesRule_GetIDsOfNames(DispHTMLMSCSSKeyframesRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLMSCSSKeyframesRule_Invoke(DispHTMLMSCSSKeyframesRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLMSCSSKeyframesRule_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMSCSSKeyframesRule coclass
 */

DEFINE_GUID(CLSID_HTMLMSCSSKeyframesRule, 0x3051080f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051080f-98b5-11cf-bb82-00aa00bdce0b") HTMLMSCSSKeyframesRule;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMSCSSKeyframesRule, 0x3051080f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

typedef enum _styleTextLineThroughStyle {
    styleTextLineThroughStyleUndefined = 0,
    styleTextLineThroughStyleSingle = 1,
    styleTextLineThroughStyleDouble = 2,
    styleTextLineThroughStyle_Max = 0x7fffffff
} styleTextLineThroughStyle;
typedef enum _styleTextUnderlineStyle {
    styleTextUnderlineStyleUndefined = 0,
    styleTextUnderlineStyleSingle = 1,
    styleTextUnderlineStyleDouble = 2,
    styleTextUnderlineStyleWords = 3,
    styleTextUnderlineStyleDotted = 4,
    styleTextUnderlineStyleThick = 5,
    styleTextUnderlineStyleDash = 6,
    styleTextUnderlineStyleDotDash = 7,
    styleTextUnderlineStyleDotDotDash = 8,
    styleTextUnderlineStyleWave = 9,
    styleTextUnderlineStyleSingleAccounting = 10,
    styleTextUnderlineStyleDoubleAccounting = 11,
    styleTextUnderlineStyleThickDash = 12,
    styleTextUnderlineStyle_Max = 0x7fffffff
} styleTextUnderlineStyle;
typedef enum _styleTextEffect {
    styleTextEffectNone = 0,
    styleTextEffectEmboss = 1,
    styleTextEffectEngrave = 2,
    styleTextEffectOutline = 3,
    styleTextEffect_Max = 0x7fffffff
} styleTextEffect;
typedef enum _styleDefaultTextSelection {
    styleDefaultTextSelectionFalse = 0,
    styleDefaultTextSelectionTrue = 1,
    styleDefaultTextSelection_Max = 0x7fffffff
} styleDefaultTextSelection;
typedef enum _styleTextDecoration {
    styleTextDecorationNone = 0,
    styleTextDecorationUnderline = 1,
    styleTextDecorationOverline = 2,
    styleTextDecorationLineThrough = 3,
    styleTextDecorationBlink = 4,
    styleTextDecoration_Max = 0x7fffffff
} styleTextDecoration;
/*****************************************************************************
 * IHTMLRenderStyle interface
 */
#ifndef __IHTMLRenderStyle_INTERFACE_DEFINED__
#define __IHTMLRenderStyle_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRenderStyle, 0x3050f6ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6ae-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRenderStyle : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_textLineThroughStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textLineThroughStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textUnderlineStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textUnderlineStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textEffect(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textEffect(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textBackgroundColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textBackgroundColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecorationColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecorationColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_renderingPriority(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_renderingPriority(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultTextSelection(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultTextSelection(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textDecoration(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecoration(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRenderStyle, 0x3050f6ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRenderStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRenderStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRenderStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRenderStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRenderStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRenderStyle methods ***/
    HRESULT (STDMETHODCALLTYPE *put_textLineThroughStyle)(
        IHTMLRenderStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textLineThroughStyle)(
        IHTMLRenderStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textUnderlineStyle)(
        IHTMLRenderStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textUnderlineStyle)(
        IHTMLRenderStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textEffect)(
        IHTMLRenderStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textEffect)(
        IHTMLRenderStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textColor)(
        IHTMLRenderStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textColor)(
        IHTMLRenderStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textBackgroundColor)(
        IHTMLRenderStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textBackgroundColor)(
        IHTMLRenderStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecorationColor)(
        IHTMLRenderStyle *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textDecorationColor)(
        IHTMLRenderStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_renderingPriority)(
        IHTMLRenderStyle *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_renderingPriority)(
        IHTMLRenderStyle *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultTextSelection)(
        IHTMLRenderStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_defaultTextSelection)(
        IHTMLRenderStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textDecoration)(
        IHTMLRenderStyle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textDecoration)(
        IHTMLRenderStyle *This,
        BSTR *p);

    END_INTERFACE
} IHTMLRenderStyleVtbl;

interface IHTMLRenderStyle {
    CONST_VTBL IHTMLRenderStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRenderStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRenderStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRenderStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRenderStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRenderStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRenderStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRenderStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRenderStyle methods ***/
#define IHTMLRenderStyle_put_textLineThroughStyle(This,v) (This)->lpVtbl->put_textLineThroughStyle(This,v)
#define IHTMLRenderStyle_get_textLineThroughStyle(This,p) (This)->lpVtbl->get_textLineThroughStyle(This,p)
#define IHTMLRenderStyle_put_textUnderlineStyle(This,v) (This)->lpVtbl->put_textUnderlineStyle(This,v)
#define IHTMLRenderStyle_get_textUnderlineStyle(This,p) (This)->lpVtbl->get_textUnderlineStyle(This,p)
#define IHTMLRenderStyle_put_textEffect(This,v) (This)->lpVtbl->put_textEffect(This,v)
#define IHTMLRenderStyle_get_textEffect(This,p) (This)->lpVtbl->get_textEffect(This,p)
#define IHTMLRenderStyle_put_textColor(This,v) (This)->lpVtbl->put_textColor(This,v)
#define IHTMLRenderStyle_get_textColor(This,p) (This)->lpVtbl->get_textColor(This,p)
#define IHTMLRenderStyle_put_textBackgroundColor(This,v) (This)->lpVtbl->put_textBackgroundColor(This,v)
#define IHTMLRenderStyle_get_textBackgroundColor(This,p) (This)->lpVtbl->get_textBackgroundColor(This,p)
#define IHTMLRenderStyle_put_textDecorationColor(This,v) (This)->lpVtbl->put_textDecorationColor(This,v)
#define IHTMLRenderStyle_get_textDecorationColor(This,p) (This)->lpVtbl->get_textDecorationColor(This,p)
#define IHTMLRenderStyle_put_renderingPriority(This,v) (This)->lpVtbl->put_renderingPriority(This,v)
#define IHTMLRenderStyle_get_renderingPriority(This,p) (This)->lpVtbl->get_renderingPriority(This,p)
#define IHTMLRenderStyle_put_defaultTextSelection(This,v) (This)->lpVtbl->put_defaultTextSelection(This,v)
#define IHTMLRenderStyle_get_defaultTextSelection(This,p) (This)->lpVtbl->get_defaultTextSelection(This,p)
#define IHTMLRenderStyle_put_textDecoration(This,v) (This)->lpVtbl->put_textDecoration(This,v)
#define IHTMLRenderStyle_get_textDecoration(This,p) (This)->lpVtbl->get_textDecoration(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRenderStyle_QueryInterface(IHTMLRenderStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRenderStyle_AddRef(IHTMLRenderStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRenderStyle_Release(IHTMLRenderStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRenderStyle_GetTypeInfoCount(IHTMLRenderStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRenderStyle_GetTypeInfo(IHTMLRenderStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRenderStyle_GetIDsOfNames(IHTMLRenderStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRenderStyle_Invoke(IHTMLRenderStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRenderStyle methods ***/
static inline HRESULT IHTMLRenderStyle_put_textLineThroughStyle(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textLineThroughStyle(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_textLineThroughStyle(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textLineThroughStyle(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_textUnderlineStyle(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textUnderlineStyle(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_textUnderlineStyle(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlineStyle(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_textEffect(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textEffect(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_textEffect(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textEffect(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_textColor(IHTMLRenderStyle* This,VARIANT v) {
    return This->lpVtbl->put_textColor(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_textColor(IHTMLRenderStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textColor(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_textBackgroundColor(IHTMLRenderStyle* This,VARIANT v) {
    return This->lpVtbl->put_textBackgroundColor(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_textBackgroundColor(IHTMLRenderStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textBackgroundColor(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_textDecorationColor(IHTMLRenderStyle* This,VARIANT v) {
    return This->lpVtbl->put_textDecorationColor(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_textDecorationColor(IHTMLRenderStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textDecorationColor(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_renderingPriority(IHTMLRenderStyle* This,LONG v) {
    return This->lpVtbl->put_renderingPriority(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_renderingPriority(IHTMLRenderStyle* This,LONG *p) {
    return This->lpVtbl->get_renderingPriority(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_defaultTextSelection(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_defaultTextSelection(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_defaultTextSelection(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_defaultTextSelection(This,p);
}
static inline HRESULT IHTMLRenderStyle_put_textDecoration(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textDecoration(This,v);
}
static inline HRESULT IHTMLRenderStyle_get_textDecoration(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRenderStyle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLRenderStyle dispinterface
 */
#ifndef __DispHTMLRenderStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLRenderStyle_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLRenderStyle, 0x3050f58b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f58b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLRenderStyle : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLRenderStyle, 0x3050f58b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLRenderStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLRenderStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLRenderStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLRenderStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLRenderStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLRenderStyleVtbl;

interface DispHTMLRenderStyle {
    CONST_VTBL DispHTMLRenderStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLRenderStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLRenderStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLRenderStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLRenderStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLRenderStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLRenderStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLRenderStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLRenderStyle_QueryInterface(DispHTMLRenderStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLRenderStyle_AddRef(DispHTMLRenderStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLRenderStyle_Release(DispHTMLRenderStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLRenderStyle_GetTypeInfoCount(DispHTMLRenderStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLRenderStyle_GetTypeInfo(DispHTMLRenderStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLRenderStyle_GetIDsOfNames(DispHTMLRenderStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLRenderStyle_Invoke(DispHTMLRenderStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLRenderStyle_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLRenderStyle coclass
 */

DEFINE_GUID(CLSID_HTMLRenderStyle, 0x3050f6aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f6aa-98b5-11cf-bb82-00aa00bdce0b") HTMLRenderStyle;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLRenderStyle, 0x3050f6aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CRenderStyle;
typedef enum _textDecoration {
    textDecorationNone = 0,
    textDecorationUnderline = 1,
    textDecorationOverline = 2,
    textDecorationLineThrough = 3,
    textDecorationBlink = 4,
    textDecoration_Max = 0x7fffffff
} textDecoration;
/*****************************************************************************
 * IHTMLCurrentStyle interface
 */
#ifndef __IHTMLCurrentStyle_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCurrentStyle, 0x3050f3db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3db-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCurrentStyle : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleFloat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontFamily(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontVariant(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontWeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontSize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionX(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundPositionY(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundRepeat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderTopWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderRightWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderBottomWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderLeftWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_left(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_top(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paddingBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDecoration(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_display(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_visibility(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zIndex(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_letterSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textIndent(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_verticalAlign(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundAttachment(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clear(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStylePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_listStyleImage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipRight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipBottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakBefore(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakAfter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cursor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tableLayout(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderCollapse(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_direction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behavior(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR strAttributeName,
        LONG lFlags = 0,
        VARIANT *AttributeValue = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unicodeBidi(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_right(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bottom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyPosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rubyOverhang(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAutospace(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordBreak(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustify(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textJustifyTrim(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashida(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_blockDirection(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridChar(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridLine(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layoutGridType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderWidth(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_padding(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_margin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accelerator(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowX(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overflowY(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textTransform(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCurrentStyle, 0x3050f3db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCurrentStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCurrentStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCurrentStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCurrentStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCurrentStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCurrentStyle methods ***/
    HRESULT (STDMETHODCALLTYPE *get_position)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_styleFloat)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_backgroundColor)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_fontFamily)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fontStyle)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fontVariant)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fontWeight)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_fontSize)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_backgroundImage)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionX)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_backgroundPositionY)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_backgroundRepeat)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftColor)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_borderTopColor)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_borderRightColor)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomColor)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_borderTopStyle)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderRightStyle)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomStyle)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftStyle)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderTopWidth)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_borderRightWidth)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_borderBottomWidth)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_borderLeftWidth)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_left)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_top)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_paddingLeft)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_paddingTop)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_paddingRight)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_paddingBottom)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_textAlign)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textDecoration)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_display)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_visibility)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_zIndex)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_letterSpacing)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_lineHeight)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_textIndent)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_verticalAlign)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_backgroundAttachment)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_marginTop)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_marginRight)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_marginBottom)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_marginLeft)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_clear)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_listStyleType)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_listStylePosition)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_listStyleImage)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_clipTop)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_clipRight)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_clipBottom)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_clipLeft)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_overflow)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakBefore)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakAfter)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_cursor)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_tableLayout)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderCollapse)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_direction)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_behavior)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLCurrentStyle *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *get_unicodeBidi)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_right)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_bottom)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_imeMode)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_rubyAlign)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_rubyPosition)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_rubyOverhang)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textAutospace)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_lineBreak)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_wordBreak)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textJustify)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textJustifyTrim)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textKashida)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_blockDirection)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridChar)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridLine)(
        IHTMLCurrentStyle *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridMode)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_layoutGridType)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderStyle)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderWidth)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_padding)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_margin)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_accelerator)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_overflowX)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_overflowY)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textTransform)(
        IHTMLCurrentStyle *This,
        BSTR *p);

    END_INTERFACE
} IHTMLCurrentStyleVtbl;

interface IHTMLCurrentStyle {
    CONST_VTBL IHTMLCurrentStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCurrentStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCurrentStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCurrentStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCurrentStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCurrentStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCurrentStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCurrentStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCurrentStyle methods ***/
#define IHTMLCurrentStyle_get_position(This,p) (This)->lpVtbl->get_position(This,p)
#define IHTMLCurrentStyle_get_styleFloat(This,p) (This)->lpVtbl->get_styleFloat(This,p)
#define IHTMLCurrentStyle_get_color(This,p) (This)->lpVtbl->get_color(This,p)
#define IHTMLCurrentStyle_get_backgroundColor(This,p) (This)->lpVtbl->get_backgroundColor(This,p)
#define IHTMLCurrentStyle_get_fontFamily(This,p) (This)->lpVtbl->get_fontFamily(This,p)
#define IHTMLCurrentStyle_get_fontStyle(This,p) (This)->lpVtbl->get_fontStyle(This,p)
#define IHTMLCurrentStyle_get_fontVariant(This,p) (This)->lpVtbl->get_fontVariant(This,p)
#define IHTMLCurrentStyle_get_fontWeight(This,p) (This)->lpVtbl->get_fontWeight(This,p)
#define IHTMLCurrentStyle_get_fontSize(This,p) (This)->lpVtbl->get_fontSize(This,p)
#define IHTMLCurrentStyle_get_backgroundImage(This,p) (This)->lpVtbl->get_backgroundImage(This,p)
#define IHTMLCurrentStyle_get_backgroundPositionX(This,p) (This)->lpVtbl->get_backgroundPositionX(This,p)
#define IHTMLCurrentStyle_get_backgroundPositionY(This,p) (This)->lpVtbl->get_backgroundPositionY(This,p)
#define IHTMLCurrentStyle_get_backgroundRepeat(This,p) (This)->lpVtbl->get_backgroundRepeat(This,p)
#define IHTMLCurrentStyle_get_borderLeftColor(This,p) (This)->lpVtbl->get_borderLeftColor(This,p)
#define IHTMLCurrentStyle_get_borderTopColor(This,p) (This)->lpVtbl->get_borderTopColor(This,p)
#define IHTMLCurrentStyle_get_borderRightColor(This,p) (This)->lpVtbl->get_borderRightColor(This,p)
#define IHTMLCurrentStyle_get_borderBottomColor(This,p) (This)->lpVtbl->get_borderBottomColor(This,p)
#define IHTMLCurrentStyle_get_borderTopStyle(This,p) (This)->lpVtbl->get_borderTopStyle(This,p)
#define IHTMLCurrentStyle_get_borderRightStyle(This,p) (This)->lpVtbl->get_borderRightStyle(This,p)
#define IHTMLCurrentStyle_get_borderBottomStyle(This,p) (This)->lpVtbl->get_borderBottomStyle(This,p)
#define IHTMLCurrentStyle_get_borderLeftStyle(This,p) (This)->lpVtbl->get_borderLeftStyle(This,p)
#define IHTMLCurrentStyle_get_borderTopWidth(This,p) (This)->lpVtbl->get_borderTopWidth(This,p)
#define IHTMLCurrentStyle_get_borderRightWidth(This,p) (This)->lpVtbl->get_borderRightWidth(This,p)
#define IHTMLCurrentStyle_get_borderBottomWidth(This,p) (This)->lpVtbl->get_borderBottomWidth(This,p)
#define IHTMLCurrentStyle_get_borderLeftWidth(This,p) (This)->lpVtbl->get_borderLeftWidth(This,p)
#define IHTMLCurrentStyle_get_left(This,p) (This)->lpVtbl->get_left(This,p)
#define IHTMLCurrentStyle_get_top(This,p) (This)->lpVtbl->get_top(This,p)
#define IHTMLCurrentStyle_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLCurrentStyle_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLCurrentStyle_get_paddingLeft(This,p) (This)->lpVtbl->get_paddingLeft(This,p)
#define IHTMLCurrentStyle_get_paddingTop(This,p) (This)->lpVtbl->get_paddingTop(This,p)
#define IHTMLCurrentStyle_get_paddingRight(This,p) (This)->lpVtbl->get_paddingRight(This,p)
#define IHTMLCurrentStyle_get_paddingBottom(This,p) (This)->lpVtbl->get_paddingBottom(This,p)
#define IHTMLCurrentStyle_get_textAlign(This,p) (This)->lpVtbl->get_textAlign(This,p)
#define IHTMLCurrentStyle_get_textDecoration(This,p) (This)->lpVtbl->get_textDecoration(This,p)
#define IHTMLCurrentStyle_get_display(This,p) (This)->lpVtbl->get_display(This,p)
#define IHTMLCurrentStyle_get_visibility(This,p) (This)->lpVtbl->get_visibility(This,p)
#define IHTMLCurrentStyle_get_zIndex(This,p) (This)->lpVtbl->get_zIndex(This,p)
#define IHTMLCurrentStyle_get_letterSpacing(This,p) (This)->lpVtbl->get_letterSpacing(This,p)
#define IHTMLCurrentStyle_get_lineHeight(This,p) (This)->lpVtbl->get_lineHeight(This,p)
#define IHTMLCurrentStyle_get_textIndent(This,p) (This)->lpVtbl->get_textIndent(This,p)
#define IHTMLCurrentStyle_get_verticalAlign(This,p) (This)->lpVtbl->get_verticalAlign(This,p)
#define IHTMLCurrentStyle_get_backgroundAttachment(This,p) (This)->lpVtbl->get_backgroundAttachment(This,p)
#define IHTMLCurrentStyle_get_marginTop(This,p) (This)->lpVtbl->get_marginTop(This,p)
#define IHTMLCurrentStyle_get_marginRight(This,p) (This)->lpVtbl->get_marginRight(This,p)
#define IHTMLCurrentStyle_get_marginBottom(This,p) (This)->lpVtbl->get_marginBottom(This,p)
#define IHTMLCurrentStyle_get_marginLeft(This,p) (This)->lpVtbl->get_marginLeft(This,p)
#define IHTMLCurrentStyle_get_clear(This,p) (This)->lpVtbl->get_clear(This,p)
#define IHTMLCurrentStyle_get_listStyleType(This,p) (This)->lpVtbl->get_listStyleType(This,p)
#define IHTMLCurrentStyle_get_listStylePosition(This,p) (This)->lpVtbl->get_listStylePosition(This,p)
#define IHTMLCurrentStyle_get_listStyleImage(This,p) (This)->lpVtbl->get_listStyleImage(This,p)
#define IHTMLCurrentStyle_get_clipTop(This,p) (This)->lpVtbl->get_clipTop(This,p)
#define IHTMLCurrentStyle_get_clipRight(This,p) (This)->lpVtbl->get_clipRight(This,p)
#define IHTMLCurrentStyle_get_clipBottom(This,p) (This)->lpVtbl->get_clipBottom(This,p)
#define IHTMLCurrentStyle_get_clipLeft(This,p) (This)->lpVtbl->get_clipLeft(This,p)
#define IHTMLCurrentStyle_get_overflow(This,p) (This)->lpVtbl->get_overflow(This,p)
#define IHTMLCurrentStyle_get_pageBreakBefore(This,p) (This)->lpVtbl->get_pageBreakBefore(This,p)
#define IHTMLCurrentStyle_get_pageBreakAfter(This,p) (This)->lpVtbl->get_pageBreakAfter(This,p)
#define IHTMLCurrentStyle_get_cursor(This,p) (This)->lpVtbl->get_cursor(This,p)
#define IHTMLCurrentStyle_get_tableLayout(This,p) (This)->lpVtbl->get_tableLayout(This,p)
#define IHTMLCurrentStyle_get_borderCollapse(This,p) (This)->lpVtbl->get_borderCollapse(This,p)
#define IHTMLCurrentStyle_get_direction(This,p) (This)->lpVtbl->get_direction(This,p)
#define IHTMLCurrentStyle_get_behavior(This,p) (This)->lpVtbl->get_behavior(This,p)
#define IHTMLCurrentStyle_getAttribute(This,strAttributeName,lFlags,AttributeValue) (This)->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue)
#define IHTMLCurrentStyle_get_unicodeBidi(This,p) (This)->lpVtbl->get_unicodeBidi(This,p)
#define IHTMLCurrentStyle_get_right(This,p) (This)->lpVtbl->get_right(This,p)
#define IHTMLCurrentStyle_get_bottom(This,p) (This)->lpVtbl->get_bottom(This,p)
#define IHTMLCurrentStyle_get_imeMode(This,p) (This)->lpVtbl->get_imeMode(This,p)
#define IHTMLCurrentStyle_get_rubyAlign(This,p) (This)->lpVtbl->get_rubyAlign(This,p)
#define IHTMLCurrentStyle_get_rubyPosition(This,p) (This)->lpVtbl->get_rubyPosition(This,p)
#define IHTMLCurrentStyle_get_rubyOverhang(This,p) (This)->lpVtbl->get_rubyOverhang(This,p)
#define IHTMLCurrentStyle_get_textAutospace(This,p) (This)->lpVtbl->get_textAutospace(This,p)
#define IHTMLCurrentStyle_get_lineBreak(This,p) (This)->lpVtbl->get_lineBreak(This,p)
#define IHTMLCurrentStyle_get_wordBreak(This,p) (This)->lpVtbl->get_wordBreak(This,p)
#define IHTMLCurrentStyle_get_textJustify(This,p) (This)->lpVtbl->get_textJustify(This,p)
#define IHTMLCurrentStyle_get_textJustifyTrim(This,p) (This)->lpVtbl->get_textJustifyTrim(This,p)
#define IHTMLCurrentStyle_get_textKashida(This,p) (This)->lpVtbl->get_textKashida(This,p)
#define IHTMLCurrentStyle_get_blockDirection(This,p) (This)->lpVtbl->get_blockDirection(This,p)
#define IHTMLCurrentStyle_get_layoutGridChar(This,p) (This)->lpVtbl->get_layoutGridChar(This,p)
#define IHTMLCurrentStyle_get_layoutGridLine(This,p) (This)->lpVtbl->get_layoutGridLine(This,p)
#define IHTMLCurrentStyle_get_layoutGridMode(This,p) (This)->lpVtbl->get_layoutGridMode(This,p)
#define IHTMLCurrentStyle_get_layoutGridType(This,p) (This)->lpVtbl->get_layoutGridType(This,p)
#define IHTMLCurrentStyle_get_borderStyle(This,p) (This)->lpVtbl->get_borderStyle(This,p)
#define IHTMLCurrentStyle_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLCurrentStyle_get_borderWidth(This,p) (This)->lpVtbl->get_borderWidth(This,p)
#define IHTMLCurrentStyle_get_padding(This,p) (This)->lpVtbl->get_padding(This,p)
#define IHTMLCurrentStyle_get_margin(This,p) (This)->lpVtbl->get_margin(This,p)
#define IHTMLCurrentStyle_get_accelerator(This,p) (This)->lpVtbl->get_accelerator(This,p)
#define IHTMLCurrentStyle_get_overflowX(This,p) (This)->lpVtbl->get_overflowX(This,p)
#define IHTMLCurrentStyle_get_overflowY(This,p) (This)->lpVtbl->get_overflowY(This,p)
#define IHTMLCurrentStyle_get_textTransform(This,p) (This)->lpVtbl->get_textTransform(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCurrentStyle_QueryInterface(IHTMLCurrentStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCurrentStyle_AddRef(IHTMLCurrentStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCurrentStyle_Release(IHTMLCurrentStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCurrentStyle_GetTypeInfoCount(IHTMLCurrentStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCurrentStyle_GetTypeInfo(IHTMLCurrentStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCurrentStyle_GetIDsOfNames(IHTMLCurrentStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCurrentStyle_Invoke(IHTMLCurrentStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCurrentStyle methods ***/
static inline HRESULT IHTMLCurrentStyle_get_position(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_styleFloat(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_styleFloat(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_color(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_backgroundColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_fontFamily(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontFamily(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_fontStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontStyle(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_fontVariant(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontVariant(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_fontWeight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_fontSize(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_backgroundImage(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundImage(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_backgroundPositionX(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionX(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_backgroundPositionY(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionY(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_backgroundRepeat(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundRepeat(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderLeftColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderTopColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderRightColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderBottomColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderTopStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTopStyle(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderRightStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRightStyle(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderBottomStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomStyle(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderLeftStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeftStyle(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderTopWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopWidth(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderRightWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightWidth(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderBottomWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomWidth(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderLeftWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftWidth(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_left(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_left(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_top(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_top(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_width(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_height(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_paddingLeft(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingLeft(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_paddingTop(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingTop(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_paddingRight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingRight(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_paddingBottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingBottom(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textAlign(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textDecoration(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_display(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_display(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_visibility(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_zIndex(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_zIndex(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_letterSpacing(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_letterSpacing(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_lineHeight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_lineHeight(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textIndent(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textIndent(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_verticalAlign(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_verticalAlign(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_backgroundAttachment(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundAttachment(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_marginTop(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_marginRight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_marginBottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_marginLeft(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_clear(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_listStyleType(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleType(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_listStylePosition(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStylePosition(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_listStyleImage(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleImage(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_clipTop(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipTop(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_clipRight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipRight(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_clipBottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipBottom(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_clipLeft(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipLeft(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_overflow(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflow(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_pageBreakBefore(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakBefore(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_pageBreakAfter(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakAfter(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_cursor(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_cursor(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_tableLayout(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_tableLayout(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderCollapse(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderCollapse(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_direction(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_direction(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_behavior(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_behavior(This,p);
}
static inline HRESULT IHTMLCurrentStyle_getAttribute(IHTMLCurrentStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static inline HRESULT IHTMLCurrentStyle_get_unicodeBidi(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_unicodeBidi(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_right(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_right(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_bottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_bottom(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_imeMode(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_imeMode(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_rubyAlign(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_rubyAlign(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_rubyPosition(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_rubyPosition(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_rubyOverhang(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_rubyOverhang(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textAutospace(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAutospace(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_lineBreak(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_lineBreak(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_wordBreak(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_wordBreak(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textJustify(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textJustify(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textJustifyTrim(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textJustifyTrim(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textKashida(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textKashida(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_blockDirection(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_blockDirection(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_layoutGridChar(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridChar(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_layoutGridLine(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridLine(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_layoutGridMode(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridMode(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_layoutGridType(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridType(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderColor(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_borderWidth(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderWidth(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_padding(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_padding(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_margin(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_margin(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_accelerator(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_accelerator(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_overflowX(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflowX(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_overflowY(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflowY(This,p);
}
static inline HRESULT IHTMLCurrentStyle_get_textTransform(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textTransform(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCurrentStyle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCurrentStyle2 interface
 */
#ifndef __IHTMLCurrentStyle2_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCurrentStyle2, 0x3050f658, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f658-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCurrentStyle2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_layoutFlow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordWrap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textUnderlinePosition(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hasLayout(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_writingMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_zoom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_filter(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlignLast(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textKashidaSpace(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isBlock(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCurrentStyle2, 0x3050f658, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCurrentStyle2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCurrentStyle2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCurrentStyle2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCurrentStyle2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCurrentStyle2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCurrentStyle2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_layoutFlow)(
        IHTMLCurrentStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_wordWrap)(
        IHTMLCurrentStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textUnderlinePosition)(
        IHTMLCurrentStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_hasLayout)(
        IHTMLCurrentStyle2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarBaseColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarFaceColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbar3dLightColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarShadowColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarHighlightColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarDarkShadowColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarArrowColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollbarTrackColor)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_writingMode)(
        IHTMLCurrentStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_zoom)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_filter)(
        IHTMLCurrentStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textAlignLast)(
        IHTMLCurrentStyle2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_textKashidaSpace)(
        IHTMLCurrentStyle2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_isBlock)(
        IHTMLCurrentStyle2 *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLCurrentStyle2Vtbl;

interface IHTMLCurrentStyle2 {
    CONST_VTBL IHTMLCurrentStyle2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCurrentStyle2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCurrentStyle2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCurrentStyle2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCurrentStyle2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCurrentStyle2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCurrentStyle2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCurrentStyle2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCurrentStyle2 methods ***/
#define IHTMLCurrentStyle2_get_layoutFlow(This,p) (This)->lpVtbl->get_layoutFlow(This,p)
#define IHTMLCurrentStyle2_get_wordWrap(This,p) (This)->lpVtbl->get_wordWrap(This,p)
#define IHTMLCurrentStyle2_get_textUnderlinePosition(This,p) (This)->lpVtbl->get_textUnderlinePosition(This,p)
#define IHTMLCurrentStyle2_get_hasLayout(This,p) (This)->lpVtbl->get_hasLayout(This,p)
#define IHTMLCurrentStyle2_get_scrollbarBaseColor(This,p) (This)->lpVtbl->get_scrollbarBaseColor(This,p)
#define IHTMLCurrentStyle2_get_scrollbarFaceColor(This,p) (This)->lpVtbl->get_scrollbarFaceColor(This,p)
#define IHTMLCurrentStyle2_get_scrollbar3dLightColor(This,p) (This)->lpVtbl->get_scrollbar3dLightColor(This,p)
#define IHTMLCurrentStyle2_get_scrollbarShadowColor(This,p) (This)->lpVtbl->get_scrollbarShadowColor(This,p)
#define IHTMLCurrentStyle2_get_scrollbarHighlightColor(This,p) (This)->lpVtbl->get_scrollbarHighlightColor(This,p)
#define IHTMLCurrentStyle2_get_scrollbarDarkShadowColor(This,p) (This)->lpVtbl->get_scrollbarDarkShadowColor(This,p)
#define IHTMLCurrentStyle2_get_scrollbarArrowColor(This,p) (This)->lpVtbl->get_scrollbarArrowColor(This,p)
#define IHTMLCurrentStyle2_get_scrollbarTrackColor(This,p) (This)->lpVtbl->get_scrollbarTrackColor(This,p)
#define IHTMLCurrentStyle2_get_writingMode(This,p) (This)->lpVtbl->get_writingMode(This,p)
#define IHTMLCurrentStyle2_get_zoom(This,p) (This)->lpVtbl->get_zoom(This,p)
#define IHTMLCurrentStyle2_get_filter(This,p) (This)->lpVtbl->get_filter(This,p)
#define IHTMLCurrentStyle2_get_textAlignLast(This,p) (This)->lpVtbl->get_textAlignLast(This,p)
#define IHTMLCurrentStyle2_get_textKashidaSpace(This,p) (This)->lpVtbl->get_textKashidaSpace(This,p)
#define IHTMLCurrentStyle2_get_isBlock(This,p) (This)->lpVtbl->get_isBlock(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCurrentStyle2_QueryInterface(IHTMLCurrentStyle2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCurrentStyle2_AddRef(IHTMLCurrentStyle2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCurrentStyle2_Release(IHTMLCurrentStyle2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCurrentStyle2_GetTypeInfoCount(IHTMLCurrentStyle2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCurrentStyle2_GetTypeInfo(IHTMLCurrentStyle2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCurrentStyle2_GetIDsOfNames(IHTMLCurrentStyle2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCurrentStyle2_Invoke(IHTMLCurrentStyle2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCurrentStyle2 methods ***/
static inline HRESULT IHTMLCurrentStyle2_get_layoutFlow(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutFlow(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_wordWrap(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_wordWrap(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_textUnderlinePosition(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlinePosition(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_hasLayout(IHTMLCurrentStyle2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_hasLayout(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbarBaseColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarBaseColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbarFaceColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarFaceColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbar3dLightColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbar3dLightColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbarShadowColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarShadowColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbarHighlightColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarHighlightColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbarDarkShadowColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarDarkShadowColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbarArrowColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarArrowColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_scrollbarTrackColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarTrackColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_writingMode(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_writingMode(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_zoom(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_zoom(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_filter(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_filter(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_textAlignLast(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textAlignLast(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_textKashidaSpace(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_textKashidaSpace(This,p);
}
static inline HRESULT IHTMLCurrentStyle2_get_isBlock(IHTMLCurrentStyle2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isBlock(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCurrentStyle2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCurrentStyle3 interface
 */
#ifndef __IHTMLCurrentStyle3_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCurrentStyle3, 0x3050f818, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f818-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCurrentStyle3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_textOverflow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wordSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_whiteSpace(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCurrentStyle3, 0x3050f818, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCurrentStyle3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCurrentStyle3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCurrentStyle3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCurrentStyle3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCurrentStyle3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCurrentStyle3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_textOverflow)(
        IHTMLCurrentStyle3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_minHeight)(
        IHTMLCurrentStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_wordSpacing)(
        IHTMLCurrentStyle3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_whiteSpace)(
        IHTMLCurrentStyle3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLCurrentStyle3Vtbl;

interface IHTMLCurrentStyle3 {
    CONST_VTBL IHTMLCurrentStyle3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCurrentStyle3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCurrentStyle3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCurrentStyle3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCurrentStyle3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCurrentStyle3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCurrentStyle3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCurrentStyle3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCurrentStyle3 methods ***/
#define IHTMLCurrentStyle3_get_textOverflow(This,p) (This)->lpVtbl->get_textOverflow(This,p)
#define IHTMLCurrentStyle3_get_minHeight(This,p) (This)->lpVtbl->get_minHeight(This,p)
#define IHTMLCurrentStyle3_get_wordSpacing(This,p) (This)->lpVtbl->get_wordSpacing(This,p)
#define IHTMLCurrentStyle3_get_whiteSpace(This,p) (This)->lpVtbl->get_whiteSpace(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCurrentStyle3_QueryInterface(IHTMLCurrentStyle3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCurrentStyle3_AddRef(IHTMLCurrentStyle3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCurrentStyle3_Release(IHTMLCurrentStyle3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCurrentStyle3_GetTypeInfoCount(IHTMLCurrentStyle3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCurrentStyle3_GetTypeInfo(IHTMLCurrentStyle3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCurrentStyle3_GetIDsOfNames(IHTMLCurrentStyle3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCurrentStyle3_Invoke(IHTMLCurrentStyle3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCurrentStyle3 methods ***/
static inline HRESULT IHTMLCurrentStyle3_get_textOverflow(IHTMLCurrentStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textOverflow(This,p);
}
static inline HRESULT IHTMLCurrentStyle3_get_minHeight(IHTMLCurrentStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_minHeight(This,p);
}
static inline HRESULT IHTMLCurrentStyle3_get_wordSpacing(IHTMLCurrentStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_wordSpacing(This,p);
}
static inline HRESULT IHTMLCurrentStyle3_get_whiteSpace(IHTMLCurrentStyle3* This,BSTR *p) {
    return This->lpVtbl->get_whiteSpace(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCurrentStyle3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCurrentStyle4 interface
 */
#ifndef __IHTMLCurrentStyle4_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCurrentStyle4, 0x3050f33b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f33b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCurrentStyle4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_msInterpolationMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxWidth(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCurrentStyle4, 0x3050f33b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCurrentStyle4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCurrentStyle4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCurrentStyle4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCurrentStyle4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCurrentStyle4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCurrentStyle4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_msInterpolationMode)(
        IHTMLCurrentStyle4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_maxHeight)(
        IHTMLCurrentStyle4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_minWidth)(
        IHTMLCurrentStyle4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_maxWidth)(
        IHTMLCurrentStyle4 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLCurrentStyle4Vtbl;

interface IHTMLCurrentStyle4 {
    CONST_VTBL IHTMLCurrentStyle4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCurrentStyle4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCurrentStyle4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCurrentStyle4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCurrentStyle4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCurrentStyle4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCurrentStyle4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCurrentStyle4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCurrentStyle4 methods ***/
#define IHTMLCurrentStyle4_get_msInterpolationMode(This,p) (This)->lpVtbl->get_msInterpolationMode(This,p)
#define IHTMLCurrentStyle4_get_maxHeight(This,p) (This)->lpVtbl->get_maxHeight(This,p)
#define IHTMLCurrentStyle4_get_minWidth(This,p) (This)->lpVtbl->get_minWidth(This,p)
#define IHTMLCurrentStyle4_get_maxWidth(This,p) (This)->lpVtbl->get_maxWidth(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCurrentStyle4_QueryInterface(IHTMLCurrentStyle4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCurrentStyle4_AddRef(IHTMLCurrentStyle4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCurrentStyle4_Release(IHTMLCurrentStyle4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCurrentStyle4_GetTypeInfoCount(IHTMLCurrentStyle4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCurrentStyle4_GetTypeInfo(IHTMLCurrentStyle4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCurrentStyle4_GetIDsOfNames(IHTMLCurrentStyle4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCurrentStyle4_Invoke(IHTMLCurrentStyle4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCurrentStyle4 methods ***/
static inline HRESULT IHTMLCurrentStyle4_get_msInterpolationMode(IHTMLCurrentStyle4* This,BSTR *p) {
    return This->lpVtbl->get_msInterpolationMode(This,p);
}
static inline HRESULT IHTMLCurrentStyle4_get_maxHeight(IHTMLCurrentStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_maxHeight(This,p);
}
static inline HRESULT IHTMLCurrentStyle4_get_minWidth(IHTMLCurrentStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_minWidth(This,p);
}
static inline HRESULT IHTMLCurrentStyle4_get_maxWidth(IHTMLCurrentStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_maxWidth(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCurrentStyle4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCurrentStyle5 interface
 */
#ifndef __IHTMLCurrentStyle5_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCurrentStyle5, 0x30510481, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510481-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCurrentStyle5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_captionSide(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outline(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outlineColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boxSizing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderSpacing(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_orphans(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_widows(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageBreakInside(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_emptyCells(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msBlockProgression(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_quotes(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCurrentStyle5, 0x30510481, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCurrentStyle5Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCurrentStyle5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCurrentStyle5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCurrentStyle5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCurrentStyle5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCurrentStyle5 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_captionSide)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_outline)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_outlineWidth)(
        IHTMLCurrentStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_outlineStyle)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_outlineColor)(
        IHTMLCurrentStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_boxSizing)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_borderSpacing)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_orphans)(
        IHTMLCurrentStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_widows)(
        IHTMLCurrentStyle5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_pageBreakInside)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_emptyCells)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_msBlockProgression)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_quotes)(
        IHTMLCurrentStyle5 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLCurrentStyle5Vtbl;

interface IHTMLCurrentStyle5 {
    CONST_VTBL IHTMLCurrentStyle5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCurrentStyle5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCurrentStyle5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCurrentStyle5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCurrentStyle5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCurrentStyle5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCurrentStyle5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCurrentStyle5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCurrentStyle5 methods ***/
#define IHTMLCurrentStyle5_get_captionSide(This,p) (This)->lpVtbl->get_captionSide(This,p)
#define IHTMLCurrentStyle5_get_outline(This,p) (This)->lpVtbl->get_outline(This,p)
#define IHTMLCurrentStyle5_get_outlineWidth(This,p) (This)->lpVtbl->get_outlineWidth(This,p)
#define IHTMLCurrentStyle5_get_outlineStyle(This,p) (This)->lpVtbl->get_outlineStyle(This,p)
#define IHTMLCurrentStyle5_get_outlineColor(This,p) (This)->lpVtbl->get_outlineColor(This,p)
#define IHTMLCurrentStyle5_get_boxSizing(This,p) (This)->lpVtbl->get_boxSizing(This,p)
#define IHTMLCurrentStyle5_get_borderSpacing(This,p) (This)->lpVtbl->get_borderSpacing(This,p)
#define IHTMLCurrentStyle5_get_orphans(This,p) (This)->lpVtbl->get_orphans(This,p)
#define IHTMLCurrentStyle5_get_widows(This,p) (This)->lpVtbl->get_widows(This,p)
#define IHTMLCurrentStyle5_get_pageBreakInside(This,p) (This)->lpVtbl->get_pageBreakInside(This,p)
#define IHTMLCurrentStyle5_get_emptyCells(This,p) (This)->lpVtbl->get_emptyCells(This,p)
#define IHTMLCurrentStyle5_get_msBlockProgression(This,p) (This)->lpVtbl->get_msBlockProgression(This,p)
#define IHTMLCurrentStyle5_get_quotes(This,p) (This)->lpVtbl->get_quotes(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCurrentStyle5_QueryInterface(IHTMLCurrentStyle5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCurrentStyle5_AddRef(IHTMLCurrentStyle5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCurrentStyle5_Release(IHTMLCurrentStyle5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCurrentStyle5_GetTypeInfoCount(IHTMLCurrentStyle5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCurrentStyle5_GetTypeInfo(IHTMLCurrentStyle5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCurrentStyle5_GetIDsOfNames(IHTMLCurrentStyle5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCurrentStyle5_Invoke(IHTMLCurrentStyle5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCurrentStyle5 methods ***/
static inline HRESULT IHTMLCurrentStyle5_get_captionSide(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_captionSide(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_outline(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_outline(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_outlineWidth(IHTMLCurrentStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_outlineWidth(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_outlineStyle(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_outlineStyle(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_outlineColor(IHTMLCurrentStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_outlineColor(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_boxSizing(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_boxSizing(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_borderSpacing(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_borderSpacing(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_orphans(IHTMLCurrentStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_orphans(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_widows(IHTMLCurrentStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_widows(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_pageBreakInside(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakInside(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_emptyCells(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_emptyCells(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_msBlockProgression(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_msBlockProgression(This,p);
}
static inline HRESULT IHTMLCurrentStyle5_get_quotes(IHTMLCurrentStyle5* This,BSTR *p) {
    return This->lpVtbl->get_quotes(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCurrentStyle5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLCurrentStyle dispinterface
 */
#ifndef __DispHTMLCurrentStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLCurrentStyle_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCurrentStyle, 0x3050f557, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f557-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCurrentStyle : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCurrentStyle, 0x3050f557, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCurrentStyleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCurrentStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCurrentStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCurrentStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCurrentStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCurrentStyleVtbl;

interface DispHTMLCurrentStyle {
    CONST_VTBL DispHTMLCurrentStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCurrentStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCurrentStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCurrentStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCurrentStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCurrentStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCurrentStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCurrentStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCurrentStyle_QueryInterface(DispHTMLCurrentStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCurrentStyle_AddRef(DispHTMLCurrentStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCurrentStyle_Release(DispHTMLCurrentStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCurrentStyle_GetTypeInfoCount(DispHTMLCurrentStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCurrentStyle_GetTypeInfo(DispHTMLCurrentStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCurrentStyle_GetIDsOfNames(DispHTMLCurrentStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCurrentStyle_Invoke(DispHTMLCurrentStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCurrentStyle_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCurrentStyle coclass
 */

DEFINE_GUID(CLSID_HTMLCurrentStyle, 0x3050f3dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3dc-98b5-11cf-bb82-00aa00bdce0b") HTMLCurrentStyle;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCurrentStyle, 0x3050f3dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCurrentStyle;
#ifndef __IHTMLElement_FWD_DEFINED__
#define __IHTMLElement_FWD_DEFINED__
typedef interface IHTMLElement IHTMLElement;
#ifdef __cplusplus
interface IHTMLElement;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLRect interface
 */
#ifndef __IHTMLRect_INTERFACE_DEFINED__
#define __IHTMLRect_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRect, 0x3050f4a3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4a3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRect : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_left(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_left(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_top(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_top(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_right(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_right(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bottom(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bottom(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRect, 0x3050f4a3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRectVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRect *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRect *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRect *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRect *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRect methods ***/
    HRESULT (STDMETHODCALLTYPE *put_left)(
        IHTMLRect *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_left)(
        IHTMLRect *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_top)(
        IHTMLRect *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_top)(
        IHTMLRect *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_right)(
        IHTMLRect *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_right)(
        IHTMLRect *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_bottom)(
        IHTMLRect *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_bottom)(
        IHTMLRect *This,
        LONG *p);

    END_INTERFACE
} IHTMLRectVtbl;

interface IHTMLRect {
    CONST_VTBL IHTMLRectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRect_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRect_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRect_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRect methods ***/
#define IHTMLRect_put_left(This,v) (This)->lpVtbl->put_left(This,v)
#define IHTMLRect_get_left(This,p) (This)->lpVtbl->get_left(This,p)
#define IHTMLRect_put_top(This,v) (This)->lpVtbl->put_top(This,v)
#define IHTMLRect_get_top(This,p) (This)->lpVtbl->get_top(This,p)
#define IHTMLRect_put_right(This,v) (This)->lpVtbl->put_right(This,v)
#define IHTMLRect_get_right(This,p) (This)->lpVtbl->get_right(This,p)
#define IHTMLRect_put_bottom(This,v) (This)->lpVtbl->put_bottom(This,v)
#define IHTMLRect_get_bottom(This,p) (This)->lpVtbl->get_bottom(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRect_QueryInterface(IHTMLRect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRect_AddRef(IHTMLRect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRect_Release(IHTMLRect* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRect_GetTypeInfoCount(IHTMLRect* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRect_GetTypeInfo(IHTMLRect* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRect_GetIDsOfNames(IHTMLRect* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRect_Invoke(IHTMLRect* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRect methods ***/
static inline HRESULT IHTMLRect_put_left(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_left(This,v);
}
static inline HRESULT IHTMLRect_get_left(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_left(This,p);
}
static inline HRESULT IHTMLRect_put_top(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_top(This,v);
}
static inline HRESULT IHTMLRect_get_top(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_top(This,p);
}
static inline HRESULT IHTMLRect_put_right(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_right(This,v);
}
static inline HRESULT IHTMLRect_get_right(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_right(This,p);
}
static inline HRESULT IHTMLRect_put_bottom(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_bottom(This,v);
}
static inline HRESULT IHTMLRect_get_bottom(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_bottom(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRect_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRect2 interface
 */
#ifndef __IHTMLRect2_INTERFACE_DEFINED__
#define __IHTMLRect2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRect2, 0x3051076c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051076c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRect2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_width(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRect2, 0x3051076c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRect2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRect2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRect2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRect2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRect2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRect2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLRect2 *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLRect2 *This,
        float *p);

    END_INTERFACE
} IHTMLRect2Vtbl;

interface IHTMLRect2 {
    CONST_VTBL IHTMLRect2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRect2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRect2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRect2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRect2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRect2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRect2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRect2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRect2 methods ***/
#define IHTMLRect2_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLRect2_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRect2_QueryInterface(IHTMLRect2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRect2_AddRef(IHTMLRect2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRect2_Release(IHTMLRect2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRect2_GetTypeInfoCount(IHTMLRect2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRect2_GetTypeInfo(IHTMLRect2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRect2_GetIDsOfNames(IHTMLRect2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRect2_Invoke(IHTMLRect2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRect2 methods ***/
static inline HRESULT IHTMLRect2_get_width(IHTMLRect2* This,float *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLRect2_get_height(IHTMLRect2* This,float *p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRect2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLRectCollection interface
 */
#ifndef __IHTMLRectCollection_INTERFACE_DEFINED__
#define __IHTMLRectCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLRectCollection, 0x3050f4a4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4a4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLRectCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT *pvarIndex,
        VARIANT *pvarResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLRectCollection, 0x3050f4a4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLRectCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLRectCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLRectCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLRectCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLRectCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLRectCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLRectCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLRectCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLRectCollection *This,
        VARIANT *pvarIndex,
        VARIANT *pvarResult);

    END_INTERFACE
} IHTMLRectCollectionVtbl;

interface IHTMLRectCollection {
    CONST_VTBL IHTMLRectCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLRectCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLRectCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLRectCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLRectCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLRectCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLRectCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLRectCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLRectCollection methods ***/
#define IHTMLRectCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLRectCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLRectCollection_item(This,pvarIndex,pvarResult) (This)->lpVtbl->item(This,pvarIndex,pvarResult)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLRectCollection_QueryInterface(IHTMLRectCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLRectCollection_AddRef(IHTMLRectCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLRectCollection_Release(IHTMLRectCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLRectCollection_GetTypeInfoCount(IHTMLRectCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLRectCollection_GetTypeInfo(IHTMLRectCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLRectCollection_GetIDsOfNames(IHTMLRectCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLRectCollection_Invoke(IHTMLRectCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLRectCollection methods ***/
static inline HRESULT IHTMLRectCollection_get_length(IHTMLRectCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLRectCollection_get__newEnum(IHTMLRectCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLRectCollection_item(IHTMLRectCollection* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLRectCollection_INTERFACE_DEFINED__ */

#ifndef __IHTMLElementCollection_FWD_DEFINED__
#define __IHTMLElementCollection_FWD_DEFINED__
typedef interface IHTMLElementCollection IHTMLElementCollection;
#ifdef __cplusplus
interface IHTMLElementCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElement2_FWD_DEFINED__
#define __IHTMLElement2_FWD_DEFINED__
typedef interface IHTMLElement2 IHTMLElement2;
#ifdef __cplusplus
interface IHTMLElement2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLAttributeCollection3_FWD_DEFINED__
#define __IHTMLAttributeCollection3_FWD_DEFINED__
typedef interface IHTMLAttributeCollection3 IHTMLAttributeCollection3;
#ifdef __cplusplus
interface IHTMLAttributeCollection3;
#endif /* __cplusplus */
#endif

#ifndef __IDOMDocumentType_FWD_DEFINED__
#define __IDOMDocumentType_FWD_DEFINED__
typedef interface IDOMDocumentType IDOMDocumentType;
#ifdef __cplusplus
interface IDOMDocumentType;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument7_FWD_DEFINED__
#define __IHTMLDocument7_FWD_DEFINED__
typedef interface IHTMLDocument7 IHTMLDocument7;
#ifdef __cplusplus
interface IHTMLDocument7;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLDOMNode interface
 */
#ifndef __IHTMLDOMNode_INTERFACE_DEFINED__
#define __IHTMLDOMNode_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMNode, 0x3050f5da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5da-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMNode : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_nodeType(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentNode(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
        VARIANT_BOOL *fChildren) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_childNodes(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_attributes(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertBefore(
        IHTMLDOMNode *newChild,
        VARIANT refChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeChild(
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceChild(
        IHTMLDOMNode *newChild,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE cloneNode(
        VARIANT_BOOL fDeep,
        IHTMLDOMNode **clonedNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeNode(
        VARIANT_BOOL fDeep = 0,
        IHTMLDOMNode **removed = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE swapNode(
        IHTMLDOMNode *otherNode,
        IHTMLDOMNode **swappedNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceNode(
        IHTMLDOMNode *replacement,
        IHTMLDOMNode **replaced) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendChild(
        IHTMLDOMNode *newChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_nodeValue(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeValue(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_firstChild(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lastChild(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_previousSibling(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nextSibling(
        IHTMLDOMNode **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMNode, 0x3050f5da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMNodeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMNode *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMNode *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMNode *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMNode *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMNode methods ***/
    HRESULT (STDMETHODCALLTYPE *get_nodeType)(
        IHTMLDOMNode *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_parentNode)(
        IHTMLDOMNode *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
        IHTMLDOMNode *This,
        VARIANT_BOOL *fChildren);

    HRESULT (STDMETHODCALLTYPE *get_childNodes)(
        IHTMLDOMNode *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_attributes)(
        IHTMLDOMNode *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *insertBefore)(
        IHTMLDOMNode *This,
        IHTMLDOMNode *newChild,
        VARIANT refChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *removeChild)(
        IHTMLDOMNode *This,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *replaceChild)(
        IHTMLDOMNode *This,
        IHTMLDOMNode *newChild,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *cloneNode)(
        IHTMLDOMNode *This,
        VARIANT_BOOL fDeep,
        IHTMLDOMNode **clonedNode);

    HRESULT (STDMETHODCALLTYPE *removeNode)(
        IHTMLDOMNode *This,
        VARIANT_BOOL fDeep,
        IHTMLDOMNode **removed);

    HRESULT (STDMETHODCALLTYPE *swapNode)(
        IHTMLDOMNode *This,
        IHTMLDOMNode *otherNode,
        IHTMLDOMNode **swappedNode);

    HRESULT (STDMETHODCALLTYPE *replaceNode)(
        IHTMLDOMNode *This,
        IHTMLDOMNode *replacement,
        IHTMLDOMNode **replaced);

    HRESULT (STDMETHODCALLTYPE *appendChild)(
        IHTMLDOMNode *This,
        IHTMLDOMNode *newChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *get_nodeName)(
        IHTMLDOMNode *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
        IHTMLDOMNode *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
        IHTMLDOMNode *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_firstChild)(
        IHTMLDOMNode *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_lastChild)(
        IHTMLDOMNode *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
        IHTMLDOMNode *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
        IHTMLDOMNode *This,
        IHTMLDOMNode **p);

    END_INTERFACE
} IHTMLDOMNodeVtbl;

interface IHTMLDOMNode {
    CONST_VTBL IHTMLDOMNodeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMNode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMNode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMNode_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMNode_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMNode methods ***/
#define IHTMLDOMNode_get_nodeType(This,p) (This)->lpVtbl->get_nodeType(This,p)
#define IHTMLDOMNode_get_parentNode(This,p) (This)->lpVtbl->get_parentNode(This,p)
#define IHTMLDOMNode_hasChildNodes(This,fChildren) (This)->lpVtbl->hasChildNodes(This,fChildren)
#define IHTMLDOMNode_get_childNodes(This,p) (This)->lpVtbl->get_childNodes(This,p)
#define IHTMLDOMNode_get_attributes(This,p) (This)->lpVtbl->get_attributes(This,p)
#define IHTMLDOMNode_insertBefore(This,newChild,refChild,node) (This)->lpVtbl->insertBefore(This,newChild,refChild,node)
#define IHTMLDOMNode_removeChild(This,oldChild,node) (This)->lpVtbl->removeChild(This,oldChild,node)
#define IHTMLDOMNode_replaceChild(This,newChild,oldChild,node) (This)->lpVtbl->replaceChild(This,newChild,oldChild,node)
#define IHTMLDOMNode_cloneNode(This,fDeep,clonedNode) (This)->lpVtbl->cloneNode(This,fDeep,clonedNode)
#define IHTMLDOMNode_removeNode(This,fDeep,removed) (This)->lpVtbl->removeNode(This,fDeep,removed)
#define IHTMLDOMNode_swapNode(This,otherNode,swappedNode) (This)->lpVtbl->swapNode(This,otherNode,swappedNode)
#define IHTMLDOMNode_replaceNode(This,replacement,replaced) (This)->lpVtbl->replaceNode(This,replacement,replaced)
#define IHTMLDOMNode_appendChild(This,newChild,node) (This)->lpVtbl->appendChild(This,newChild,node)
#define IHTMLDOMNode_get_nodeName(This,p) (This)->lpVtbl->get_nodeName(This,p)
#define IHTMLDOMNode_put_nodeValue(This,v) (This)->lpVtbl->put_nodeValue(This,v)
#define IHTMLDOMNode_get_nodeValue(This,p) (This)->lpVtbl->get_nodeValue(This,p)
#define IHTMLDOMNode_get_firstChild(This,p) (This)->lpVtbl->get_firstChild(This,p)
#define IHTMLDOMNode_get_lastChild(This,p) (This)->lpVtbl->get_lastChild(This,p)
#define IHTMLDOMNode_get_previousSibling(This,p) (This)->lpVtbl->get_previousSibling(This,p)
#define IHTMLDOMNode_get_nextSibling(This,p) (This)->lpVtbl->get_nextSibling(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMNode_QueryInterface(IHTMLDOMNode* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMNode_AddRef(IHTMLDOMNode* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMNode_Release(IHTMLDOMNode* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMNode_GetTypeInfoCount(IHTMLDOMNode* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMNode_GetTypeInfo(IHTMLDOMNode* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMNode_GetIDsOfNames(IHTMLDOMNode* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMNode_Invoke(IHTMLDOMNode* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMNode methods ***/
static inline HRESULT IHTMLDOMNode_get_nodeType(IHTMLDOMNode* This,LONG *p) {
    return This->lpVtbl->get_nodeType(This,p);
}
static inline HRESULT IHTMLDOMNode_get_parentNode(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_parentNode(This,p);
}
static inline HRESULT IHTMLDOMNode_hasChildNodes(IHTMLDOMNode* This,VARIANT_BOOL *fChildren) {
    return This->lpVtbl->hasChildNodes(This,fChildren);
}
static inline HRESULT IHTMLDOMNode_get_childNodes(IHTMLDOMNode* This,IDispatch **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static inline HRESULT IHTMLDOMNode_get_attributes(IHTMLDOMNode* This,IDispatch **p) {
    return This->lpVtbl->get_attributes(This,p);
}
static inline HRESULT IHTMLDOMNode_insertBefore(IHTMLDOMNode* This,IHTMLDOMNode *newChild,VARIANT refChild,IHTMLDOMNode **node) {
    return This->lpVtbl->insertBefore(This,newChild,refChild,node);
}
static inline HRESULT IHTMLDOMNode_removeChild(IHTMLDOMNode* This,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->removeChild(This,oldChild,node);
}
static inline HRESULT IHTMLDOMNode_replaceChild(IHTMLDOMNode* This,IHTMLDOMNode *newChild,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->replaceChild(This,newChild,oldChild,node);
}
static inline HRESULT IHTMLDOMNode_cloneNode(IHTMLDOMNode* This,VARIANT_BOOL fDeep,IHTMLDOMNode **clonedNode) {
    return This->lpVtbl->cloneNode(This,fDeep,clonedNode);
}
static inline HRESULT IHTMLDOMNode_removeNode(IHTMLDOMNode* This,VARIANT_BOOL fDeep,IHTMLDOMNode **removed) {
    return This->lpVtbl->removeNode(This,fDeep,removed);
}
static inline HRESULT IHTMLDOMNode_swapNode(IHTMLDOMNode* This,IHTMLDOMNode *otherNode,IHTMLDOMNode **swappedNode) {
    return This->lpVtbl->swapNode(This,otherNode,swappedNode);
}
static inline HRESULT IHTMLDOMNode_replaceNode(IHTMLDOMNode* This,IHTMLDOMNode *replacement,IHTMLDOMNode **replaced) {
    return This->lpVtbl->replaceNode(This,replacement,replaced);
}
static inline HRESULT IHTMLDOMNode_appendChild(IHTMLDOMNode* This,IHTMLDOMNode *newChild,IHTMLDOMNode **node) {
    return This->lpVtbl->appendChild(This,newChild,node);
}
static inline HRESULT IHTMLDOMNode_get_nodeName(IHTMLDOMNode* This,BSTR *p) {
    return This->lpVtbl->get_nodeName(This,p);
}
static inline HRESULT IHTMLDOMNode_put_nodeValue(IHTMLDOMNode* This,VARIANT v) {
    return This->lpVtbl->put_nodeValue(This,v);
}
static inline HRESULT IHTMLDOMNode_get_nodeValue(IHTMLDOMNode* This,VARIANT *p) {
    return This->lpVtbl->get_nodeValue(This,p);
}
static inline HRESULT IHTMLDOMNode_get_firstChild(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_firstChild(This,p);
}
static inline HRESULT IHTMLDOMNode_get_lastChild(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_lastChild(This,p);
}
static inline HRESULT IHTMLDOMNode_get_previousSibling(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_previousSibling(This,p);
}
static inline HRESULT IHTMLDOMNode_get_nextSibling(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_nextSibling(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMNode_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMNode2 interface
 */
#ifndef __IHTMLDOMNode2_INTERFACE_DEFINED__
#define __IHTMLDOMNode2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMNode2, 0x3050f80b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f80b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMNode2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_ownerDocument(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMNode2, 0x3050f80b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMNode2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMNode2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMNode2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMNode2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMNode2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMNode2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
        IHTMLDOMNode2 *This,
        IDispatch **p);

    END_INTERFACE
} IHTMLDOMNode2Vtbl;

interface IHTMLDOMNode2 {
    CONST_VTBL IHTMLDOMNode2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMNode2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMNode2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMNode2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMNode2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMNode2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMNode2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMNode2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMNode2 methods ***/
#define IHTMLDOMNode2_get_ownerDocument(This,p) (This)->lpVtbl->get_ownerDocument(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMNode2_QueryInterface(IHTMLDOMNode2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMNode2_AddRef(IHTMLDOMNode2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMNode2_Release(IHTMLDOMNode2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMNode2_GetTypeInfoCount(IHTMLDOMNode2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMNode2_GetTypeInfo(IHTMLDOMNode2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMNode2_GetIDsOfNames(IHTMLDOMNode2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMNode2_Invoke(IHTMLDOMNode2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMNode2 methods ***/
static inline HRESULT IHTMLDOMNode2_get_ownerDocument(IHTMLDOMNode2* This,IDispatch **p) {
    return This->lpVtbl->get_ownerDocument(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMNode2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMNode3 interface
 */
#ifndef __IHTMLDOMNode3_INTERFACE_DEFINED__
#define __IHTMLDOMNode3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMNode3, 0x305106e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMNode3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_prefix(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_prefix(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_localName(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_namespaceURI(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textContent(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textContent(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE isEqualNode(
        IHTMLDOMNode3 *otherNode,
        VARIANT_BOOL *isEqual) = 0;

    virtual HRESULT STDMETHODCALLTYPE lookupNamespaceURI(
        VARIANT *pvarPrefix,
        VARIANT *pvarNamespaceURI) = 0;

    virtual HRESULT STDMETHODCALLTYPE lookupPrefix(
        VARIANT *pvarNamespaceURI,
        VARIANT *pvarPrefix) = 0;

    virtual HRESULT STDMETHODCALLTYPE isDefaultNamespace(
        VARIANT *pvarNamespace,
        VARIANT_BOOL *pfDefaultNamespace) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendChild(
        IHTMLDOMNode *newChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertBefore(
        IHTMLDOMNode *newChild,
        VARIANT refChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeChild(
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceChild(
        IHTMLDOMNode *newChild,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE isSameNode(
        IHTMLDOMNode3 *otherNode,
        VARIANT_BOOL *isSame) = 0;

    virtual HRESULT STDMETHODCALLTYPE compareDocumentPosition(
        IHTMLDOMNode *otherNode,
        USHORT *flags) = 0;

    virtual HRESULT STDMETHODCALLTYPE isSupported(
        BSTR feature,
        VARIANT version,
        VARIANT_BOOL *pfisSupported) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMNode3, 0x305106e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMNode3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMNode3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMNode3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMNode3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMNode3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMNode3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_prefix)(
        IHTMLDOMNode3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_prefix)(
        IHTMLDOMNode3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_localName)(
        IHTMLDOMNode3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
        IHTMLDOMNode3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_textContent)(
        IHTMLDOMNode3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_textContent)(
        IHTMLDOMNode3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *isEqualNode)(
        IHTMLDOMNode3 *This,
        IHTMLDOMNode3 *otherNode,
        VARIANT_BOOL *isEqual);

    HRESULT (STDMETHODCALLTYPE *lookupNamespaceURI)(
        IHTMLDOMNode3 *This,
        VARIANT *pvarPrefix,
        VARIANT *pvarNamespaceURI);

    HRESULT (STDMETHODCALLTYPE *lookupPrefix)(
        IHTMLDOMNode3 *This,
        VARIANT *pvarNamespaceURI,
        VARIANT *pvarPrefix);

    HRESULT (STDMETHODCALLTYPE *isDefaultNamespace)(
        IHTMLDOMNode3 *This,
        VARIANT *pvarNamespace,
        VARIANT_BOOL *pfDefaultNamespace);

    HRESULT (STDMETHODCALLTYPE *appendChild)(
        IHTMLDOMNode3 *This,
        IHTMLDOMNode *newChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *insertBefore)(
        IHTMLDOMNode3 *This,
        IHTMLDOMNode *newChild,
        VARIANT refChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *removeChild)(
        IHTMLDOMNode3 *This,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *replaceChild)(
        IHTMLDOMNode3 *This,
        IHTMLDOMNode *newChild,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *isSameNode)(
        IHTMLDOMNode3 *This,
        IHTMLDOMNode3 *otherNode,
        VARIANT_BOOL *isSame);

    HRESULT (STDMETHODCALLTYPE *compareDocumentPosition)(
        IHTMLDOMNode3 *This,
        IHTMLDOMNode *otherNode,
        USHORT *flags);

    HRESULT (STDMETHODCALLTYPE *isSupported)(
        IHTMLDOMNode3 *This,
        BSTR feature,
        VARIANT version,
        VARIANT_BOOL *pfisSupported);

    END_INTERFACE
} IHTMLDOMNode3Vtbl;

interface IHTMLDOMNode3 {
    CONST_VTBL IHTMLDOMNode3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMNode3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMNode3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMNode3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMNode3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMNode3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMNode3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMNode3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMNode3 methods ***/
#define IHTMLDOMNode3_put_prefix(This,v) (This)->lpVtbl->put_prefix(This,v)
#define IHTMLDOMNode3_get_prefix(This,p) (This)->lpVtbl->get_prefix(This,p)
#define IHTMLDOMNode3_get_localName(This,p) (This)->lpVtbl->get_localName(This,p)
#define IHTMLDOMNode3_get_namespaceURI(This,p) (This)->lpVtbl->get_namespaceURI(This,p)
#define IHTMLDOMNode3_put_textContent(This,v) (This)->lpVtbl->put_textContent(This,v)
#define IHTMLDOMNode3_get_textContent(This,p) (This)->lpVtbl->get_textContent(This,p)
#define IHTMLDOMNode3_isEqualNode(This,otherNode,isEqual) (This)->lpVtbl->isEqualNode(This,otherNode,isEqual)
#define IHTMLDOMNode3_lookupNamespaceURI(This,pvarPrefix,pvarNamespaceURI) (This)->lpVtbl->lookupNamespaceURI(This,pvarPrefix,pvarNamespaceURI)
#define IHTMLDOMNode3_lookupPrefix(This,pvarNamespaceURI,pvarPrefix) (This)->lpVtbl->lookupPrefix(This,pvarNamespaceURI,pvarPrefix)
#define IHTMLDOMNode3_isDefaultNamespace(This,pvarNamespace,pfDefaultNamespace) (This)->lpVtbl->isDefaultNamespace(This,pvarNamespace,pfDefaultNamespace)
#define IHTMLDOMNode3_appendChild(This,newChild,node) (This)->lpVtbl->appendChild(This,newChild,node)
#define IHTMLDOMNode3_insertBefore(This,newChild,refChild,node) (This)->lpVtbl->insertBefore(This,newChild,refChild,node)
#define IHTMLDOMNode3_removeChild(This,oldChild,node) (This)->lpVtbl->removeChild(This,oldChild,node)
#define IHTMLDOMNode3_replaceChild(This,newChild,oldChild,node) (This)->lpVtbl->replaceChild(This,newChild,oldChild,node)
#define IHTMLDOMNode3_isSameNode(This,otherNode,isSame) (This)->lpVtbl->isSameNode(This,otherNode,isSame)
#define IHTMLDOMNode3_compareDocumentPosition(This,otherNode,flags) (This)->lpVtbl->compareDocumentPosition(This,otherNode,flags)
#define IHTMLDOMNode3_isSupported(This,feature,version,pfisSupported) (This)->lpVtbl->isSupported(This,feature,version,pfisSupported)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMNode3_QueryInterface(IHTMLDOMNode3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMNode3_AddRef(IHTMLDOMNode3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMNode3_Release(IHTMLDOMNode3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMNode3_GetTypeInfoCount(IHTMLDOMNode3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMNode3_GetTypeInfo(IHTMLDOMNode3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMNode3_GetIDsOfNames(IHTMLDOMNode3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMNode3_Invoke(IHTMLDOMNode3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMNode3 methods ***/
static inline HRESULT IHTMLDOMNode3_put_prefix(IHTMLDOMNode3* This,VARIANT v) {
    return This->lpVtbl->put_prefix(This,v);
}
static inline HRESULT IHTMLDOMNode3_get_prefix(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_prefix(This,p);
}
static inline HRESULT IHTMLDOMNode3_get_localName(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_localName(This,p);
}
static inline HRESULT IHTMLDOMNode3_get_namespaceURI(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_namespaceURI(This,p);
}
static inline HRESULT IHTMLDOMNode3_put_textContent(IHTMLDOMNode3* This,VARIANT v) {
    return This->lpVtbl->put_textContent(This,v);
}
static inline HRESULT IHTMLDOMNode3_get_textContent(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_textContent(This,p);
}
static inline HRESULT IHTMLDOMNode3_isEqualNode(IHTMLDOMNode3* This,IHTMLDOMNode3 *otherNode,VARIANT_BOOL *isEqual) {
    return This->lpVtbl->isEqualNode(This,otherNode,isEqual);
}
static inline HRESULT IHTMLDOMNode3_lookupNamespaceURI(IHTMLDOMNode3* This,VARIANT *pvarPrefix,VARIANT *pvarNamespaceURI) {
    return This->lpVtbl->lookupNamespaceURI(This,pvarPrefix,pvarNamespaceURI);
}
static inline HRESULT IHTMLDOMNode3_lookupPrefix(IHTMLDOMNode3* This,VARIANT *pvarNamespaceURI,VARIANT *pvarPrefix) {
    return This->lpVtbl->lookupPrefix(This,pvarNamespaceURI,pvarPrefix);
}
static inline HRESULT IHTMLDOMNode3_isDefaultNamespace(IHTMLDOMNode3* This,VARIANT *pvarNamespace,VARIANT_BOOL *pfDefaultNamespace) {
    return This->lpVtbl->isDefaultNamespace(This,pvarNamespace,pfDefaultNamespace);
}
static inline HRESULT IHTMLDOMNode3_appendChild(IHTMLDOMNode3* This,IHTMLDOMNode *newChild,IHTMLDOMNode **node) {
    return This->lpVtbl->appendChild(This,newChild,node);
}
static inline HRESULT IHTMLDOMNode3_insertBefore(IHTMLDOMNode3* This,IHTMLDOMNode *newChild,VARIANT refChild,IHTMLDOMNode **node) {
    return This->lpVtbl->insertBefore(This,newChild,refChild,node);
}
static inline HRESULT IHTMLDOMNode3_removeChild(IHTMLDOMNode3* This,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->removeChild(This,oldChild,node);
}
static inline HRESULT IHTMLDOMNode3_replaceChild(IHTMLDOMNode3* This,IHTMLDOMNode *newChild,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->replaceChild(This,newChild,oldChild,node);
}
static inline HRESULT IHTMLDOMNode3_isSameNode(IHTMLDOMNode3* This,IHTMLDOMNode3 *otherNode,VARIANT_BOOL *isSame) {
    return This->lpVtbl->isSameNode(This,otherNode,isSame);
}
static inline HRESULT IHTMLDOMNode3_compareDocumentPosition(IHTMLDOMNode3* This,IHTMLDOMNode *otherNode,USHORT *flags) {
    return This->lpVtbl->compareDocumentPosition(This,otherNode,flags);
}
static inline HRESULT IHTMLDOMNode3_isSupported(IHTMLDOMNode3* This,BSTR feature,VARIANT version,VARIANT_BOOL *pfisSupported) {
    return This->lpVtbl->isSupported(This,feature,version,pfisSupported);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMNode3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMAttribute interface
 */
#ifndef __IHTMLDOMAttribute_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMAttribute, 0x3050f4b0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4b0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMAttribute : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_nodeName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_nodeValue(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeValue(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_specified(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMAttribute, 0x3050f4b0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMAttributeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMAttribute *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMAttribute *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMAttribute *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMAttribute *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMAttribute methods ***/
    HRESULT (STDMETHODCALLTYPE *get_nodeName)(
        IHTMLDOMAttribute *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
        IHTMLDOMAttribute *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
        IHTMLDOMAttribute *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_specified)(
        IHTMLDOMAttribute *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLDOMAttributeVtbl;

interface IHTMLDOMAttribute {
    CONST_VTBL IHTMLDOMAttributeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMAttribute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMAttribute_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMAttribute_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMAttribute_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMAttribute methods ***/
#define IHTMLDOMAttribute_get_nodeName(This,p) (This)->lpVtbl->get_nodeName(This,p)
#define IHTMLDOMAttribute_put_nodeValue(This,v) (This)->lpVtbl->put_nodeValue(This,v)
#define IHTMLDOMAttribute_get_nodeValue(This,p) (This)->lpVtbl->get_nodeValue(This,p)
#define IHTMLDOMAttribute_get_specified(This,p) (This)->lpVtbl->get_specified(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMAttribute_QueryInterface(IHTMLDOMAttribute* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMAttribute_AddRef(IHTMLDOMAttribute* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMAttribute_Release(IHTMLDOMAttribute* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMAttribute_GetTypeInfoCount(IHTMLDOMAttribute* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMAttribute_GetTypeInfo(IHTMLDOMAttribute* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMAttribute_GetIDsOfNames(IHTMLDOMAttribute* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMAttribute_Invoke(IHTMLDOMAttribute* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMAttribute methods ***/
static inline HRESULT IHTMLDOMAttribute_get_nodeName(IHTMLDOMAttribute* This,BSTR *p) {
    return This->lpVtbl->get_nodeName(This,p);
}
static inline HRESULT IHTMLDOMAttribute_put_nodeValue(IHTMLDOMAttribute* This,VARIANT v) {
    return This->lpVtbl->put_nodeValue(This,v);
}
static inline HRESULT IHTMLDOMAttribute_get_nodeValue(IHTMLDOMAttribute* This,VARIANT *p) {
    return This->lpVtbl->get_nodeValue(This,p);
}
static inline HRESULT IHTMLDOMAttribute_get_specified(IHTMLDOMAttribute* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_specified(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMAttribute_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMAttribute2 interface
 */
#ifndef __IHTMLDOMAttribute2_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMAttribute2, 0x3050f810, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f810-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMAttribute2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_expando(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeType(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentNode(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_childNodes(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_firstChild(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lastChild(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_previousSibling(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nextSibling(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_attributes(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ownerDocument(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertBefore(
        IHTMLDOMNode *newChild,
        VARIANT refChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceChild(
        IHTMLDOMNode *newChild,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeChild(
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendChild(
        IHTMLDOMNode *newChild,
        IHTMLDOMNode **node) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
        VARIANT_BOOL *fChildren) = 0;

    virtual HRESULT STDMETHODCALLTYPE cloneNode(
        VARIANT_BOOL fDeep,
        IHTMLDOMAttribute **clonedNode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMAttribute2, 0x3050f810, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMAttribute2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMAttribute2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMAttribute2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMAttribute2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMAttribute2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMAttribute2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLDOMAttribute2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLDOMAttribute2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLDOMAttribute2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_expando)(
        IHTMLDOMAttribute2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_nodeType)(
        IHTMLDOMAttribute2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_parentNode)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_childNodes)(
        IHTMLDOMAttribute2 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_firstChild)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_lastChild)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_attributes)(
        IHTMLDOMAttribute2 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
        IHTMLDOMAttribute2 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *insertBefore)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode *newChild,
        VARIANT refChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *replaceChild)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode *newChild,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *removeChild)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode *oldChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *appendChild)(
        IHTMLDOMAttribute2 *This,
        IHTMLDOMNode *newChild,
        IHTMLDOMNode **node);

    HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
        IHTMLDOMAttribute2 *This,
        VARIANT_BOOL *fChildren);

    HRESULT (STDMETHODCALLTYPE *cloneNode)(
        IHTMLDOMAttribute2 *This,
        VARIANT_BOOL fDeep,
        IHTMLDOMAttribute **clonedNode);

    END_INTERFACE
} IHTMLDOMAttribute2Vtbl;

interface IHTMLDOMAttribute2 {
    CONST_VTBL IHTMLDOMAttribute2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMAttribute2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMAttribute2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMAttribute2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMAttribute2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMAttribute2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMAttribute2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMAttribute2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMAttribute2 methods ***/
#define IHTMLDOMAttribute2_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLDOMAttribute2_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLDOMAttribute2_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLDOMAttribute2_get_expando(This,p) (This)->lpVtbl->get_expando(This,p)
#define IHTMLDOMAttribute2_get_nodeType(This,p) (This)->lpVtbl->get_nodeType(This,p)
#define IHTMLDOMAttribute2_get_parentNode(This,p) (This)->lpVtbl->get_parentNode(This,p)
#define IHTMLDOMAttribute2_get_childNodes(This,p) (This)->lpVtbl->get_childNodes(This,p)
#define IHTMLDOMAttribute2_get_firstChild(This,p) (This)->lpVtbl->get_firstChild(This,p)
#define IHTMLDOMAttribute2_get_lastChild(This,p) (This)->lpVtbl->get_lastChild(This,p)
#define IHTMLDOMAttribute2_get_previousSibling(This,p) (This)->lpVtbl->get_previousSibling(This,p)
#define IHTMLDOMAttribute2_get_nextSibling(This,p) (This)->lpVtbl->get_nextSibling(This,p)
#define IHTMLDOMAttribute2_get_attributes(This,p) (This)->lpVtbl->get_attributes(This,p)
#define IHTMLDOMAttribute2_get_ownerDocument(This,p) (This)->lpVtbl->get_ownerDocument(This,p)
#define IHTMLDOMAttribute2_insertBefore(This,newChild,refChild,node) (This)->lpVtbl->insertBefore(This,newChild,refChild,node)
#define IHTMLDOMAttribute2_replaceChild(This,newChild,oldChild,node) (This)->lpVtbl->replaceChild(This,newChild,oldChild,node)
#define IHTMLDOMAttribute2_removeChild(This,oldChild,node) (This)->lpVtbl->removeChild(This,oldChild,node)
#define IHTMLDOMAttribute2_appendChild(This,newChild,node) (This)->lpVtbl->appendChild(This,newChild,node)
#define IHTMLDOMAttribute2_hasChildNodes(This,fChildren) (This)->lpVtbl->hasChildNodes(This,fChildren)
#define IHTMLDOMAttribute2_cloneNode(This,fDeep,clonedNode) (This)->lpVtbl->cloneNode(This,fDeep,clonedNode)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMAttribute2_QueryInterface(IHTMLDOMAttribute2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMAttribute2_AddRef(IHTMLDOMAttribute2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMAttribute2_Release(IHTMLDOMAttribute2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMAttribute2_GetTypeInfoCount(IHTMLDOMAttribute2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMAttribute2_GetTypeInfo(IHTMLDOMAttribute2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMAttribute2_GetIDsOfNames(IHTMLDOMAttribute2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMAttribute2_Invoke(IHTMLDOMAttribute2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMAttribute2 methods ***/
static inline HRESULT IHTMLDOMAttribute2_get_name(IHTMLDOMAttribute2* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_put_value(IHTMLDOMAttribute2* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLDOMAttribute2_get_value(IHTMLDOMAttribute2* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_expando(IHTMLDOMAttribute2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_expando(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_nodeType(IHTMLDOMAttribute2* This,LONG *p) {
    return This->lpVtbl->get_nodeType(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_parentNode(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_parentNode(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_childNodes(IHTMLDOMAttribute2* This,IDispatch **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_firstChild(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_firstChild(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_lastChild(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_lastChild(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_previousSibling(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_previousSibling(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_nextSibling(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_nextSibling(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_attributes(IHTMLDOMAttribute2* This,IDispatch **p) {
    return This->lpVtbl->get_attributes(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_get_ownerDocument(IHTMLDOMAttribute2* This,IDispatch **p) {
    return This->lpVtbl->get_ownerDocument(This,p);
}
static inline HRESULT IHTMLDOMAttribute2_insertBefore(IHTMLDOMAttribute2* This,IHTMLDOMNode *newChild,VARIANT refChild,IHTMLDOMNode **node) {
    return This->lpVtbl->insertBefore(This,newChild,refChild,node);
}
static inline HRESULT IHTMLDOMAttribute2_replaceChild(IHTMLDOMAttribute2* This,IHTMLDOMNode *newChild,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->replaceChild(This,newChild,oldChild,node);
}
static inline HRESULT IHTMLDOMAttribute2_removeChild(IHTMLDOMAttribute2* This,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->removeChild(This,oldChild,node);
}
static inline HRESULT IHTMLDOMAttribute2_appendChild(IHTMLDOMAttribute2* This,IHTMLDOMNode *newChild,IHTMLDOMNode **node) {
    return This->lpVtbl->appendChild(This,newChild,node);
}
static inline HRESULT IHTMLDOMAttribute2_hasChildNodes(IHTMLDOMAttribute2* This,VARIANT_BOOL *fChildren) {
    return This->lpVtbl->hasChildNodes(This,fChildren);
}
static inline HRESULT IHTMLDOMAttribute2_cloneNode(IHTMLDOMAttribute2* This,VARIANT_BOOL fDeep,IHTMLDOMAttribute **clonedNode) {
    return This->lpVtbl->cloneNode(This,fDeep,clonedNode);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMAttribute2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMAttribute3 interface
 */
#ifndef __IHTMLDOMAttribute3_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMAttribute3, 0x30510468, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510468-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMAttribute3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_nodeValue(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeValue(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_specified(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ownerElement(
        IHTMLElement2 **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMAttribute3, 0x30510468, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMAttribute3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMAttribute3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMAttribute3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMAttribute3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMAttribute3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMAttribute3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
        IHTMLDOMAttribute3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
        IHTMLDOMAttribute3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLDOMAttribute3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLDOMAttribute3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_specified)(
        IHTMLDOMAttribute3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_ownerElement)(
        IHTMLDOMAttribute3 *This,
        IHTMLElement2 **p);

    END_INTERFACE
} IHTMLDOMAttribute3Vtbl;

interface IHTMLDOMAttribute3 {
    CONST_VTBL IHTMLDOMAttribute3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMAttribute3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMAttribute3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMAttribute3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMAttribute3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMAttribute3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMAttribute3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMAttribute3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMAttribute3 methods ***/
#define IHTMLDOMAttribute3_put_nodeValue(This,v) (This)->lpVtbl->put_nodeValue(This,v)
#define IHTMLDOMAttribute3_get_nodeValue(This,p) (This)->lpVtbl->get_nodeValue(This,p)
#define IHTMLDOMAttribute3_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLDOMAttribute3_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLDOMAttribute3_get_specified(This,p) (This)->lpVtbl->get_specified(This,p)
#define IHTMLDOMAttribute3_get_ownerElement(This,p) (This)->lpVtbl->get_ownerElement(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMAttribute3_QueryInterface(IHTMLDOMAttribute3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMAttribute3_AddRef(IHTMLDOMAttribute3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMAttribute3_Release(IHTMLDOMAttribute3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMAttribute3_GetTypeInfoCount(IHTMLDOMAttribute3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMAttribute3_GetTypeInfo(IHTMLDOMAttribute3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMAttribute3_GetIDsOfNames(IHTMLDOMAttribute3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMAttribute3_Invoke(IHTMLDOMAttribute3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMAttribute3 methods ***/
static inline HRESULT IHTMLDOMAttribute3_put_nodeValue(IHTMLDOMAttribute3* This,VARIANT v) {
    return This->lpVtbl->put_nodeValue(This,v);
}
static inline HRESULT IHTMLDOMAttribute3_get_nodeValue(IHTMLDOMAttribute3* This,VARIANT *p) {
    return This->lpVtbl->get_nodeValue(This,p);
}
static inline HRESULT IHTMLDOMAttribute3_put_value(IHTMLDOMAttribute3* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLDOMAttribute3_get_value(IHTMLDOMAttribute3* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLDOMAttribute3_get_specified(IHTMLDOMAttribute3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_specified(This,p);
}
static inline HRESULT IHTMLDOMAttribute3_get_ownerElement(IHTMLDOMAttribute3* This,IHTMLElement2 **p) {
    return This->lpVtbl->get_ownerElement(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMAttribute3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMAttribute4 interface
 */
#ifndef __IHTMLDOMAttribute4_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMAttribute4, 0x305106f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106f9-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMAttribute4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_nodeValue(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeValue(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_firstChild(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lastChild(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_childNodes(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
        VARIANT_BOOL *pfHasAttributes) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
        VARIANT_BOOL *fChildren) = 0;

    virtual HRESULT STDMETHODCALLTYPE normalize(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_specified(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMAttribute4, 0x305106f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMAttribute4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMAttribute4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMAttribute4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMAttribute4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMAttribute4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMAttribute4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
        IHTMLDOMAttribute4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
        IHTMLDOMAttribute4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_nodeName)(
        IHTMLDOMAttribute4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLDOMAttribute4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLDOMAttribute4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLDOMAttribute4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_firstChild)(
        IHTMLDOMAttribute4 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_lastChild)(
        IHTMLDOMAttribute4 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_childNodes)(
        IHTMLDOMAttribute4 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *hasAttributes)(
        IHTMLDOMAttribute4 *This,
        VARIANT_BOOL *pfHasAttributes);

    HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
        IHTMLDOMAttribute4 *This,
        VARIANT_BOOL *fChildren);

    HRESULT (STDMETHODCALLTYPE *normalize)(
        IHTMLDOMAttribute4 *This);

    HRESULT (STDMETHODCALLTYPE *get_specified)(
        IHTMLDOMAttribute4 *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLDOMAttribute4Vtbl;

interface IHTMLDOMAttribute4 {
    CONST_VTBL IHTMLDOMAttribute4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMAttribute4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMAttribute4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMAttribute4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMAttribute4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMAttribute4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMAttribute4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMAttribute4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMAttribute4 methods ***/
#define IHTMLDOMAttribute4_put_nodeValue(This,v) (This)->lpVtbl->put_nodeValue(This,v)
#define IHTMLDOMAttribute4_get_nodeValue(This,p) (This)->lpVtbl->get_nodeValue(This,p)
#define IHTMLDOMAttribute4_get_nodeName(This,p) (This)->lpVtbl->get_nodeName(This,p)
#define IHTMLDOMAttribute4_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLDOMAttribute4_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLDOMAttribute4_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLDOMAttribute4_get_firstChild(This,p) (This)->lpVtbl->get_firstChild(This,p)
#define IHTMLDOMAttribute4_get_lastChild(This,p) (This)->lpVtbl->get_lastChild(This,p)
#define IHTMLDOMAttribute4_get_childNodes(This,p) (This)->lpVtbl->get_childNodes(This,p)
#define IHTMLDOMAttribute4_hasAttributes(This,pfHasAttributes) (This)->lpVtbl->hasAttributes(This,pfHasAttributes)
#define IHTMLDOMAttribute4_hasChildNodes(This,fChildren) (This)->lpVtbl->hasChildNodes(This,fChildren)
#define IHTMLDOMAttribute4_normalize(This) (This)->lpVtbl->normalize(This)
#define IHTMLDOMAttribute4_get_specified(This,p) (This)->lpVtbl->get_specified(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMAttribute4_QueryInterface(IHTMLDOMAttribute4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMAttribute4_AddRef(IHTMLDOMAttribute4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMAttribute4_Release(IHTMLDOMAttribute4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMAttribute4_GetTypeInfoCount(IHTMLDOMAttribute4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMAttribute4_GetTypeInfo(IHTMLDOMAttribute4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMAttribute4_GetIDsOfNames(IHTMLDOMAttribute4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMAttribute4_Invoke(IHTMLDOMAttribute4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMAttribute4 methods ***/
static inline HRESULT IHTMLDOMAttribute4_put_nodeValue(IHTMLDOMAttribute4* This,VARIANT v) {
    return This->lpVtbl->put_nodeValue(This,v);
}
static inline HRESULT IHTMLDOMAttribute4_get_nodeValue(IHTMLDOMAttribute4* This,VARIANT *p) {
    return This->lpVtbl->get_nodeValue(This,p);
}
static inline HRESULT IHTMLDOMAttribute4_get_nodeName(IHTMLDOMAttribute4* This,BSTR *p) {
    return This->lpVtbl->get_nodeName(This,p);
}
static inline HRESULT IHTMLDOMAttribute4_get_name(IHTMLDOMAttribute4* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLDOMAttribute4_put_value(IHTMLDOMAttribute4* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLDOMAttribute4_get_value(IHTMLDOMAttribute4* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLDOMAttribute4_get_firstChild(IHTMLDOMAttribute4* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_firstChild(This,p);
}
static inline HRESULT IHTMLDOMAttribute4_get_lastChild(IHTMLDOMAttribute4* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_lastChild(This,p);
}
static inline HRESULT IHTMLDOMAttribute4_get_childNodes(IHTMLDOMAttribute4* This,IDispatch **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static inline HRESULT IHTMLDOMAttribute4_hasAttributes(IHTMLDOMAttribute4* This,VARIANT_BOOL *pfHasAttributes) {
    return This->lpVtbl->hasAttributes(This,pfHasAttributes);
}
static inline HRESULT IHTMLDOMAttribute4_hasChildNodes(IHTMLDOMAttribute4* This,VARIANT_BOOL *fChildren) {
    return This->lpVtbl->hasChildNodes(This,fChildren);
}
static inline HRESULT IHTMLDOMAttribute4_normalize(IHTMLDOMAttribute4* This) {
    return This->lpVtbl->normalize(This);
}
static inline HRESULT IHTMLDOMAttribute4_get_specified(IHTMLDOMAttribute4* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_specified(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMAttribute4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMTextNode interface
 */
#ifndef __IHTMLDOMTextNode_INTERFACE_DEFINED__
#define __IHTMLDOMTextNode_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMTextNode, 0x3050f4b1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4b1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMTextNode : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_data(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *String) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE splitText(
        LONG offset,
        IHTMLDOMNode **pRetNode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMTextNode, 0x3050f4b1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMTextNodeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMTextNode *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMTextNode *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMTextNode *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMTextNode *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMTextNode methods ***/
    HRESULT (STDMETHODCALLTYPE *put_data)(
        IHTMLDOMTextNode *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        IHTMLDOMTextNode *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLDOMTextNode *This,
        BSTR *String);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLDOMTextNode *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *splitText)(
        IHTMLDOMTextNode *This,
        LONG offset,
        IHTMLDOMNode **pRetNode);

    END_INTERFACE
} IHTMLDOMTextNodeVtbl;

interface IHTMLDOMTextNode {
    CONST_VTBL IHTMLDOMTextNodeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMTextNode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMTextNode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMTextNode_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMTextNode_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMTextNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMTextNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMTextNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMTextNode methods ***/
#define IHTMLDOMTextNode_put_data(This,v) (This)->lpVtbl->put_data(This,v)
#define IHTMLDOMTextNode_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#define IHTMLDOMTextNode_toString(This,String) (This)->lpVtbl->toString(This,String)
#define IHTMLDOMTextNode_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLDOMTextNode_splitText(This,offset,pRetNode) (This)->lpVtbl->splitText(This,offset,pRetNode)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMTextNode_QueryInterface(IHTMLDOMTextNode* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMTextNode_AddRef(IHTMLDOMTextNode* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMTextNode_Release(IHTMLDOMTextNode* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMTextNode_GetTypeInfoCount(IHTMLDOMTextNode* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMTextNode_GetTypeInfo(IHTMLDOMTextNode* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMTextNode_GetIDsOfNames(IHTMLDOMTextNode* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMTextNode_Invoke(IHTMLDOMTextNode* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMTextNode methods ***/
static inline HRESULT IHTMLDOMTextNode_put_data(IHTMLDOMTextNode* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static inline HRESULT IHTMLDOMTextNode_get_data(IHTMLDOMTextNode* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static inline HRESULT IHTMLDOMTextNode_toString(IHTMLDOMTextNode* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static inline HRESULT IHTMLDOMTextNode_get_length(IHTMLDOMTextNode* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLDOMTextNode_splitText(IHTMLDOMTextNode* This,LONG offset,IHTMLDOMNode **pRetNode) {
    return This->lpVtbl->splitText(This,offset,pRetNode);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMTextNode_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMTextNode2 interface
 */
#ifndef __IHTMLDOMTextNode2_INTERFACE_DEFINED__
#define __IHTMLDOMTextNode2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMTextNode2, 0x3050f809, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f809-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMTextNode2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE substringData(
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendData(
        BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertData(
        LONG offset,
        BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteData(
        LONG offset,
        LONG Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceData(
        LONG offset,
        LONG Count,
        BSTR bstrstring) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMTextNode2, 0x3050f809, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMTextNode2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMTextNode2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMTextNode2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMTextNode2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMTextNode2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMTextNode2 methods ***/
    HRESULT (STDMETHODCALLTYPE *substringData)(
        IHTMLDOMTextNode2 *This,
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString);

    HRESULT (STDMETHODCALLTYPE *appendData)(
        IHTMLDOMTextNode2 *This,
        BSTR bstrstring);

    HRESULT (STDMETHODCALLTYPE *insertData)(
        IHTMLDOMTextNode2 *This,
        LONG offset,
        BSTR bstrstring);

    HRESULT (STDMETHODCALLTYPE *deleteData)(
        IHTMLDOMTextNode2 *This,
        LONG offset,
        LONG Count);

    HRESULT (STDMETHODCALLTYPE *replaceData)(
        IHTMLDOMTextNode2 *This,
        LONG offset,
        LONG Count,
        BSTR bstrstring);

    END_INTERFACE
} IHTMLDOMTextNode2Vtbl;

interface IHTMLDOMTextNode2 {
    CONST_VTBL IHTMLDOMTextNode2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMTextNode2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMTextNode2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMTextNode2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMTextNode2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMTextNode2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMTextNode2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMTextNode2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMTextNode2 methods ***/
#define IHTMLDOMTextNode2_substringData(This,offset,Count,pbstrsubString) (This)->lpVtbl->substringData(This,offset,Count,pbstrsubString)
#define IHTMLDOMTextNode2_appendData(This,bstrstring) (This)->lpVtbl->appendData(This,bstrstring)
#define IHTMLDOMTextNode2_insertData(This,offset,bstrstring) (This)->lpVtbl->insertData(This,offset,bstrstring)
#define IHTMLDOMTextNode2_deleteData(This,offset,Count) (This)->lpVtbl->deleteData(This,offset,Count)
#define IHTMLDOMTextNode2_replaceData(This,offset,Count,bstrstring) (This)->lpVtbl->replaceData(This,offset,Count,bstrstring)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMTextNode2_QueryInterface(IHTMLDOMTextNode2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMTextNode2_AddRef(IHTMLDOMTextNode2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMTextNode2_Release(IHTMLDOMTextNode2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMTextNode2_GetTypeInfoCount(IHTMLDOMTextNode2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMTextNode2_GetTypeInfo(IHTMLDOMTextNode2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMTextNode2_GetIDsOfNames(IHTMLDOMTextNode2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMTextNode2_Invoke(IHTMLDOMTextNode2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMTextNode2 methods ***/
static inline HRESULT IHTMLDOMTextNode2_substringData(IHTMLDOMTextNode2* This,LONG offset,LONG Count,BSTR *pbstrsubString) {
    return This->lpVtbl->substringData(This,offset,Count,pbstrsubString);
}
static inline HRESULT IHTMLDOMTextNode2_appendData(IHTMLDOMTextNode2* This,BSTR bstrstring) {
    return This->lpVtbl->appendData(This,bstrstring);
}
static inline HRESULT IHTMLDOMTextNode2_insertData(IHTMLDOMTextNode2* This,LONG offset,BSTR bstrstring) {
    return This->lpVtbl->insertData(This,offset,bstrstring);
}
static inline HRESULT IHTMLDOMTextNode2_deleteData(IHTMLDOMTextNode2* This,LONG offset,LONG Count) {
    return This->lpVtbl->deleteData(This,offset,Count);
}
static inline HRESULT IHTMLDOMTextNode2_replaceData(IHTMLDOMTextNode2* This,LONG offset,LONG Count,BSTR bstrstring) {
    return This->lpVtbl->replaceData(This,offset,Count,bstrstring);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMTextNode2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMTextNode3 interface
 */
#ifndef __IHTMLDOMTextNode3_INTERFACE_DEFINED__
#define __IHTMLDOMTextNode3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMTextNode3, 0x3051073e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051073e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMTextNode3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE substringData(
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertData(
        LONG offset,
        BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteData(
        LONG offset,
        LONG Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceData(
        LONG offset,
        LONG Count,
        BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE splitText(
        LONG offset,
        IHTMLDOMNode **pRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wholeText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceWholeText(
        BSTR bstrText,
        IHTMLDOMNode **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
        VARIANT_BOOL *pfHasAttributes) = 0;

    virtual HRESULT STDMETHODCALLTYPE normalize(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMTextNode3, 0x3051073e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMTextNode3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMTextNode3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMTextNode3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMTextNode3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMTextNode3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMTextNode3 methods ***/
    HRESULT (STDMETHODCALLTYPE *substringData)(
        IHTMLDOMTextNode3 *This,
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString);

    HRESULT (STDMETHODCALLTYPE *insertData)(
        IHTMLDOMTextNode3 *This,
        LONG offset,
        BSTR bstrstring);

    HRESULT (STDMETHODCALLTYPE *deleteData)(
        IHTMLDOMTextNode3 *This,
        LONG offset,
        LONG Count);

    HRESULT (STDMETHODCALLTYPE *replaceData)(
        IHTMLDOMTextNode3 *This,
        LONG offset,
        LONG Count,
        BSTR bstrstring);

    HRESULT (STDMETHODCALLTYPE *splitText)(
        IHTMLDOMTextNode3 *This,
        LONG offset,
        IHTMLDOMNode **pRetNode);

    HRESULT (STDMETHODCALLTYPE *get_wholeText)(
        IHTMLDOMTextNode3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *replaceWholeText)(
        IHTMLDOMTextNode3 *This,
        BSTR bstrText,
        IHTMLDOMNode **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *hasAttributes)(
        IHTMLDOMTextNode3 *This,
        VARIANT_BOOL *pfHasAttributes);

    HRESULT (STDMETHODCALLTYPE *normalize)(
        IHTMLDOMTextNode3 *This);

    END_INTERFACE
} IHTMLDOMTextNode3Vtbl;

interface IHTMLDOMTextNode3 {
    CONST_VTBL IHTMLDOMTextNode3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMTextNode3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMTextNode3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMTextNode3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMTextNode3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMTextNode3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMTextNode3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMTextNode3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMTextNode3 methods ***/
#define IHTMLDOMTextNode3_substringData(This,offset,Count,pbstrsubString) (This)->lpVtbl->substringData(This,offset,Count,pbstrsubString)
#define IHTMLDOMTextNode3_insertData(This,offset,bstrstring) (This)->lpVtbl->insertData(This,offset,bstrstring)
#define IHTMLDOMTextNode3_deleteData(This,offset,Count) (This)->lpVtbl->deleteData(This,offset,Count)
#define IHTMLDOMTextNode3_replaceData(This,offset,Count,bstrstring) (This)->lpVtbl->replaceData(This,offset,Count,bstrstring)
#define IHTMLDOMTextNode3_splitText(This,offset,pRetNode) (This)->lpVtbl->splitText(This,offset,pRetNode)
#define IHTMLDOMTextNode3_get_wholeText(This,p) (This)->lpVtbl->get_wholeText(This,p)
#define IHTMLDOMTextNode3_replaceWholeText(This,bstrText,ppRetNode) (This)->lpVtbl->replaceWholeText(This,bstrText,ppRetNode)
#define IHTMLDOMTextNode3_hasAttributes(This,pfHasAttributes) (This)->lpVtbl->hasAttributes(This,pfHasAttributes)
#define IHTMLDOMTextNode3_normalize(This) (This)->lpVtbl->normalize(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMTextNode3_QueryInterface(IHTMLDOMTextNode3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMTextNode3_AddRef(IHTMLDOMTextNode3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMTextNode3_Release(IHTMLDOMTextNode3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMTextNode3_GetTypeInfoCount(IHTMLDOMTextNode3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMTextNode3_GetTypeInfo(IHTMLDOMTextNode3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMTextNode3_GetIDsOfNames(IHTMLDOMTextNode3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMTextNode3_Invoke(IHTMLDOMTextNode3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMTextNode3 methods ***/
static inline HRESULT IHTMLDOMTextNode3_substringData(IHTMLDOMTextNode3* This,LONG offset,LONG Count,BSTR *pbstrsubString) {
    return This->lpVtbl->substringData(This,offset,Count,pbstrsubString);
}
static inline HRESULT IHTMLDOMTextNode3_insertData(IHTMLDOMTextNode3* This,LONG offset,BSTR bstrstring) {
    return This->lpVtbl->insertData(This,offset,bstrstring);
}
static inline HRESULT IHTMLDOMTextNode3_deleteData(IHTMLDOMTextNode3* This,LONG offset,LONG Count) {
    return This->lpVtbl->deleteData(This,offset,Count);
}
static inline HRESULT IHTMLDOMTextNode3_replaceData(IHTMLDOMTextNode3* This,LONG offset,LONG Count,BSTR bstrstring) {
    return This->lpVtbl->replaceData(This,offset,Count,bstrstring);
}
static inline HRESULT IHTMLDOMTextNode3_splitText(IHTMLDOMTextNode3* This,LONG offset,IHTMLDOMNode **pRetNode) {
    return This->lpVtbl->splitText(This,offset,pRetNode);
}
static inline HRESULT IHTMLDOMTextNode3_get_wholeText(IHTMLDOMTextNode3* This,BSTR *p) {
    return This->lpVtbl->get_wholeText(This,p);
}
static inline HRESULT IHTMLDOMTextNode3_replaceWholeText(IHTMLDOMTextNode3* This,BSTR bstrText,IHTMLDOMNode **ppRetNode) {
    return This->lpVtbl->replaceWholeText(This,bstrText,ppRetNode);
}
static inline HRESULT IHTMLDOMTextNode3_hasAttributes(IHTMLDOMTextNode3* This,VARIANT_BOOL *pfHasAttributes) {
    return This->lpVtbl->hasAttributes(This,pfHasAttributes);
}
static inline HRESULT IHTMLDOMTextNode3_normalize(IHTMLDOMTextNode3* This) {
    return This->lpVtbl->normalize(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMTextNode3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMImplementation interface
 */
#ifndef __IHTMLDOMImplementation_INTERFACE_DEFINED__
#define __IHTMLDOMImplementation_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMImplementation, 0x3050f80d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f80d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMImplementation : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE hasFeature(
        BSTR bstrfeature,
        VARIANT version,
        VARIANT_BOOL *pfHasFeature) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMImplementation, 0x3050f80d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMImplementationVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMImplementation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMImplementation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMImplementation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMImplementation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMImplementation methods ***/
    HRESULT (STDMETHODCALLTYPE *hasFeature)(
        IHTMLDOMImplementation *This,
        BSTR bstrfeature,
        VARIANT version,
        VARIANT_BOOL *pfHasFeature);

    END_INTERFACE
} IHTMLDOMImplementationVtbl;

interface IHTMLDOMImplementation {
    CONST_VTBL IHTMLDOMImplementationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMImplementation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMImplementation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMImplementation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMImplementation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMImplementation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMImplementation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMImplementation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMImplementation methods ***/
#define IHTMLDOMImplementation_hasFeature(This,bstrfeature,version,pfHasFeature) (This)->lpVtbl->hasFeature(This,bstrfeature,version,pfHasFeature)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMImplementation_QueryInterface(IHTMLDOMImplementation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMImplementation_AddRef(IHTMLDOMImplementation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMImplementation_Release(IHTMLDOMImplementation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMImplementation_GetTypeInfoCount(IHTMLDOMImplementation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMImplementation_GetTypeInfo(IHTMLDOMImplementation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMImplementation_GetIDsOfNames(IHTMLDOMImplementation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMImplementation_Invoke(IHTMLDOMImplementation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMImplementation methods ***/
static inline HRESULT IHTMLDOMImplementation_hasFeature(IHTMLDOMImplementation* This,BSTR bstrfeature,VARIANT version,VARIANT_BOOL *pfHasFeature) {
    return This->lpVtbl->hasFeature(This,bstrfeature,version,pfHasFeature);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMImplementation_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMImplementation2 interface
 */
#ifndef __IHTMLDOMImplementation2_INTERFACE_DEFINED__
#define __IHTMLDOMImplementation2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMImplementation2, 0x3051073c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051073c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMImplementation2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createDocumentType(
        BSTR bstrQualifiedName,
        VARIANT *pvarPublicId,
        VARIANT *pvarSystemId,
        IDOMDocumentType **newDocumentType) = 0;

    virtual HRESULT STDMETHODCALLTYPE createDocument(
        VARIANT *pvarNS,
        VARIANT *pvarTagName,
        IDOMDocumentType *pDocumentType,
        IHTMLDocument7 **ppnewDocument) = 0;

    virtual HRESULT STDMETHODCALLTYPE createHTMLDocument(
        BSTR bstrTitle,
        IHTMLDocument7 **ppnewDocument) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasFeature(
        BSTR bstrfeature,
        VARIANT version,
        VARIANT_BOOL *pfHasFeature) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMImplementation2, 0x3051073c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMImplementation2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMImplementation2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMImplementation2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMImplementation2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMImplementation2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMImplementation2 methods ***/
    HRESULT (STDMETHODCALLTYPE *createDocumentType)(
        IHTMLDOMImplementation2 *This,
        BSTR bstrQualifiedName,
        VARIANT *pvarPublicId,
        VARIANT *pvarSystemId,
        IDOMDocumentType **newDocumentType);

    HRESULT (STDMETHODCALLTYPE *createDocument)(
        IHTMLDOMImplementation2 *This,
        VARIANT *pvarNS,
        VARIANT *pvarTagName,
        IDOMDocumentType *pDocumentType,
        IHTMLDocument7 **ppnewDocument);

    HRESULT (STDMETHODCALLTYPE *createHTMLDocument)(
        IHTMLDOMImplementation2 *This,
        BSTR bstrTitle,
        IHTMLDocument7 **ppnewDocument);

    HRESULT (STDMETHODCALLTYPE *hasFeature)(
        IHTMLDOMImplementation2 *This,
        BSTR bstrfeature,
        VARIANT version,
        VARIANT_BOOL *pfHasFeature);

    END_INTERFACE
} IHTMLDOMImplementation2Vtbl;

interface IHTMLDOMImplementation2 {
    CONST_VTBL IHTMLDOMImplementation2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMImplementation2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMImplementation2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMImplementation2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMImplementation2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMImplementation2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMImplementation2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMImplementation2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMImplementation2 methods ***/
#define IHTMLDOMImplementation2_createDocumentType(This,bstrQualifiedName,pvarPublicId,pvarSystemId,newDocumentType) (This)->lpVtbl->createDocumentType(This,bstrQualifiedName,pvarPublicId,pvarSystemId,newDocumentType)
#define IHTMLDOMImplementation2_createDocument(This,pvarNS,pvarTagName,pDocumentType,ppnewDocument) (This)->lpVtbl->createDocument(This,pvarNS,pvarTagName,pDocumentType,ppnewDocument)
#define IHTMLDOMImplementation2_createHTMLDocument(This,bstrTitle,ppnewDocument) (This)->lpVtbl->createHTMLDocument(This,bstrTitle,ppnewDocument)
#define IHTMLDOMImplementation2_hasFeature(This,bstrfeature,version,pfHasFeature) (This)->lpVtbl->hasFeature(This,bstrfeature,version,pfHasFeature)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMImplementation2_QueryInterface(IHTMLDOMImplementation2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMImplementation2_AddRef(IHTMLDOMImplementation2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMImplementation2_Release(IHTMLDOMImplementation2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMImplementation2_GetTypeInfoCount(IHTMLDOMImplementation2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMImplementation2_GetTypeInfo(IHTMLDOMImplementation2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMImplementation2_GetIDsOfNames(IHTMLDOMImplementation2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMImplementation2_Invoke(IHTMLDOMImplementation2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMImplementation2 methods ***/
static inline HRESULT IHTMLDOMImplementation2_createDocumentType(IHTMLDOMImplementation2* This,BSTR bstrQualifiedName,VARIANT *pvarPublicId,VARIANT *pvarSystemId,IDOMDocumentType **newDocumentType) {
    return This->lpVtbl->createDocumentType(This,bstrQualifiedName,pvarPublicId,pvarSystemId,newDocumentType);
}
static inline HRESULT IHTMLDOMImplementation2_createDocument(IHTMLDOMImplementation2* This,VARIANT *pvarNS,VARIANT *pvarTagName,IDOMDocumentType *pDocumentType,IHTMLDocument7 **ppnewDocument) {
    return This->lpVtbl->createDocument(This,pvarNS,pvarTagName,pDocumentType,ppnewDocument);
}
static inline HRESULT IHTMLDOMImplementation2_createHTMLDocument(IHTMLDOMImplementation2* This,BSTR bstrTitle,IHTMLDocument7 **ppnewDocument) {
    return This->lpVtbl->createHTMLDocument(This,bstrTitle,ppnewDocument);
}
static inline HRESULT IHTMLDOMImplementation2_hasFeature(IHTMLDOMImplementation2* This,BSTR bstrfeature,VARIANT version,VARIANT_BOOL *pfHasFeature) {
    return This->lpVtbl->hasFeature(This,bstrfeature,version,pfHasFeature);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMImplementation2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDOMAttribute dispinterface
 */
#ifndef __DispHTMLDOMAttribute_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMAttribute_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDOMAttribute, 0x3050f564, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f564-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDOMAttribute : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDOMAttribute, 0x3050f564, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDOMAttributeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDOMAttribute *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDOMAttribute *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDOMAttribute *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDOMAttribute *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDOMAttributeVtbl;

interface DispHTMLDOMAttribute {
    CONST_VTBL DispHTMLDOMAttributeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDOMAttribute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDOMAttribute_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDOMAttribute_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDOMAttribute_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDOMAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDOMAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDOMAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDOMAttribute_QueryInterface(DispHTMLDOMAttribute* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDOMAttribute_AddRef(DispHTMLDOMAttribute* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDOMAttribute_Release(DispHTMLDOMAttribute* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDOMAttribute_GetTypeInfoCount(DispHTMLDOMAttribute* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDOMAttribute_GetTypeInfo(DispHTMLDOMAttribute* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDOMAttribute_GetIDsOfNames(DispHTMLDOMAttribute* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDOMAttribute_Invoke(DispHTMLDOMAttribute* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDOMAttribute_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDOMAttribute coclass
 */

DEFINE_GUID(CLSID_HTMLDOMAttribute, 0x3050f4b2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4b2-98b5-11cf-bb82-00aa00bdce0b") HTMLDOMAttribute;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDOMAttribute, 0x3050f4b2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CAttribute;
/*****************************************************************************
 * DispHTMLDOMTextNode dispinterface
 */
#ifndef __DispHTMLDOMTextNode_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMTextNode_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDOMTextNode, 0x3050f565, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f565-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDOMTextNode : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDOMTextNode, 0x3050f565, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDOMTextNodeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDOMTextNode *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDOMTextNode *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDOMTextNode *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDOMTextNode *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDOMTextNodeVtbl;

interface DispHTMLDOMTextNode {
    CONST_VTBL DispHTMLDOMTextNodeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDOMTextNode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDOMTextNode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDOMTextNode_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDOMTextNode_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDOMTextNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDOMTextNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDOMTextNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDOMTextNode_QueryInterface(DispHTMLDOMTextNode* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDOMTextNode_AddRef(DispHTMLDOMTextNode* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDOMTextNode_Release(DispHTMLDOMTextNode* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDOMTextNode_GetTypeInfoCount(DispHTMLDOMTextNode* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDOMTextNode_GetTypeInfo(DispHTMLDOMTextNode* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDOMTextNode_GetIDsOfNames(DispHTMLDOMTextNode* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDOMTextNode_Invoke(DispHTMLDOMTextNode* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDOMTextNode_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDOMTextNode coclass
 */

DEFINE_GUID(CLSID_HTMLDOMTextNode, 0x3050f4ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4ba-98b5-11cf-bb82-00aa00bdce0b") HTMLDOMTextNode;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDOMTextNode, 0x3050f4ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMTextNode;
/*****************************************************************************
 * DispHTMLDOMImplementation dispinterface
 */
#ifndef __DispHTMLDOMImplementation_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMImplementation_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDOMImplementation, 0x3050f58f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f58f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDOMImplementation : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDOMImplementation, 0x3050f58f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDOMImplementationVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDOMImplementation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDOMImplementation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDOMImplementation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDOMImplementation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDOMImplementationVtbl;

interface DispHTMLDOMImplementation {
    CONST_VTBL DispHTMLDOMImplementationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDOMImplementation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDOMImplementation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDOMImplementation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDOMImplementation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDOMImplementation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDOMImplementation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDOMImplementation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDOMImplementation_QueryInterface(DispHTMLDOMImplementation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDOMImplementation_AddRef(DispHTMLDOMImplementation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDOMImplementation_Release(DispHTMLDOMImplementation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDOMImplementation_GetTypeInfoCount(DispHTMLDOMImplementation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDOMImplementation_GetTypeInfo(DispHTMLDOMImplementation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDOMImplementation_GetIDsOfNames(DispHTMLDOMImplementation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDOMImplementation_Invoke(DispHTMLDOMImplementation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDOMImplementation_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDOMImplementation coclass
 */

DEFINE_GUID(CLSID_HTMLDOMImplementation, 0x3050f80e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f80e-98b5-11cf-bb82-00aa00bdce0b") HTMLDOMImplementation;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDOMImplementation, 0x3050f80e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMImplementation;
/*****************************************************************************
 * IHTMLAttributeCollection interface
 */
#ifndef __IHTMLAttributeCollection_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAttributeCollection, 0x3050f4c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4c3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAttributeCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT *name,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAttributeCollection, 0x3050f4c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAttributeCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAttributeCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAttributeCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAttributeCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAttributeCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAttributeCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLAttributeCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLAttributeCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLAttributeCollection *This,
        VARIANT *name,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLAttributeCollectionVtbl;

interface IHTMLAttributeCollection {
    CONST_VTBL IHTMLAttributeCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAttributeCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAttributeCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAttributeCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAttributeCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAttributeCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAttributeCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAttributeCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAttributeCollection methods ***/
#define IHTMLAttributeCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLAttributeCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLAttributeCollection_item(This,name,pdisp) (This)->lpVtbl->item(This,name,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAttributeCollection_QueryInterface(IHTMLAttributeCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAttributeCollection_AddRef(IHTMLAttributeCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAttributeCollection_Release(IHTMLAttributeCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAttributeCollection_GetTypeInfoCount(IHTMLAttributeCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAttributeCollection_GetTypeInfo(IHTMLAttributeCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAttributeCollection_GetIDsOfNames(IHTMLAttributeCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAttributeCollection_Invoke(IHTMLAttributeCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAttributeCollection methods ***/
static inline HRESULT IHTMLAttributeCollection_get_length(IHTMLAttributeCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLAttributeCollection_get__newEnum(IHTMLAttributeCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLAttributeCollection_item(IHTMLAttributeCollection* This,VARIANT *name,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLAttributeCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAttributeCollection2 interface
 */
#ifndef __IHTMLAttributeCollection2_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAttributeCollection2, 0x3050f80a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f80a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAttributeCollection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getNamedItem(
        BSTR bstrName,
        IHTMLDOMAttribute **newretNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE setNamedItem(
        IHTMLDOMAttribute *ppNode,
        IHTMLDOMAttribute **newretNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeNamedItem(
        BSTR bstrName,
        IHTMLDOMAttribute **newretNode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAttributeCollection2, 0x3050f80a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAttributeCollection2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAttributeCollection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAttributeCollection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAttributeCollection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAttributeCollection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAttributeCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *getNamedItem)(
        IHTMLAttributeCollection2 *This,
        BSTR bstrName,
        IHTMLDOMAttribute **newretNode);

    HRESULT (STDMETHODCALLTYPE *setNamedItem)(
        IHTMLAttributeCollection2 *This,
        IHTMLDOMAttribute *ppNode,
        IHTMLDOMAttribute **newretNode);

    HRESULT (STDMETHODCALLTYPE *removeNamedItem)(
        IHTMLAttributeCollection2 *This,
        BSTR bstrName,
        IHTMLDOMAttribute **newretNode);

    END_INTERFACE
} IHTMLAttributeCollection2Vtbl;

interface IHTMLAttributeCollection2 {
    CONST_VTBL IHTMLAttributeCollection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAttributeCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAttributeCollection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAttributeCollection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAttributeCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAttributeCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAttributeCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAttributeCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAttributeCollection2 methods ***/
#define IHTMLAttributeCollection2_getNamedItem(This,bstrName,newretNode) (This)->lpVtbl->getNamedItem(This,bstrName,newretNode)
#define IHTMLAttributeCollection2_setNamedItem(This,ppNode,newretNode) (This)->lpVtbl->setNamedItem(This,ppNode,newretNode)
#define IHTMLAttributeCollection2_removeNamedItem(This,bstrName,newretNode) (This)->lpVtbl->removeNamedItem(This,bstrName,newretNode)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAttributeCollection2_QueryInterface(IHTMLAttributeCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAttributeCollection2_AddRef(IHTMLAttributeCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAttributeCollection2_Release(IHTMLAttributeCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAttributeCollection2_GetTypeInfoCount(IHTMLAttributeCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAttributeCollection2_GetTypeInfo(IHTMLAttributeCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAttributeCollection2_GetIDsOfNames(IHTMLAttributeCollection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAttributeCollection2_Invoke(IHTMLAttributeCollection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAttributeCollection2 methods ***/
static inline HRESULT IHTMLAttributeCollection2_getNamedItem(IHTMLAttributeCollection2* This,BSTR bstrName,IHTMLDOMAttribute **newretNode) {
    return This->lpVtbl->getNamedItem(This,bstrName,newretNode);
}
static inline HRESULT IHTMLAttributeCollection2_setNamedItem(IHTMLAttributeCollection2* This,IHTMLDOMAttribute *ppNode,IHTMLDOMAttribute **newretNode) {
    return This->lpVtbl->setNamedItem(This,ppNode,newretNode);
}
static inline HRESULT IHTMLAttributeCollection2_removeNamedItem(IHTMLAttributeCollection2* This,BSTR bstrName,IHTMLDOMAttribute **newretNode) {
    return This->lpVtbl->removeNamedItem(This,bstrName,newretNode);
}
#endif
#endif

#endif


#endif  /* __IHTMLAttributeCollection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAttributeCollection3 interface
 */
#ifndef __IHTMLAttributeCollection3_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAttributeCollection3, 0x30510469, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510469-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAttributeCollection3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getNamedItem(
        BSTR bstrName,
        IHTMLDOMAttribute **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE setNamedItem(
        IHTMLDOMAttribute *pNodeIn,
        IHTMLDOMAttribute **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeNamedItem(
        BSTR bstrName,
        IHTMLDOMAttribute **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLDOMAttribute **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAttributeCollection3, 0x30510469, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAttributeCollection3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAttributeCollection3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAttributeCollection3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAttributeCollection3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAttributeCollection3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAttributeCollection3 methods ***/
    HRESULT (STDMETHODCALLTYPE *getNamedItem)(
        IHTMLAttributeCollection3 *This,
        BSTR bstrName,
        IHTMLDOMAttribute **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *setNamedItem)(
        IHTMLAttributeCollection3 *This,
        IHTMLDOMAttribute *pNodeIn,
        IHTMLDOMAttribute **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *removeNamedItem)(
        IHTMLAttributeCollection3 *This,
        BSTR bstrName,
        IHTMLDOMAttribute **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLAttributeCollection3 *This,
        LONG index,
        IHTMLDOMAttribute **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLAttributeCollection3 *This,
        LONG *p);

    END_INTERFACE
} IHTMLAttributeCollection3Vtbl;

interface IHTMLAttributeCollection3 {
    CONST_VTBL IHTMLAttributeCollection3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAttributeCollection3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAttributeCollection3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAttributeCollection3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAttributeCollection3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAttributeCollection3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAttributeCollection3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAttributeCollection3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAttributeCollection3 methods ***/
#define IHTMLAttributeCollection3_getNamedItem(This,bstrName,ppNodeOut) (This)->lpVtbl->getNamedItem(This,bstrName,ppNodeOut)
#define IHTMLAttributeCollection3_setNamedItem(This,pNodeIn,ppNodeOut) (This)->lpVtbl->setNamedItem(This,pNodeIn,ppNodeOut)
#define IHTMLAttributeCollection3_removeNamedItem(This,bstrName,ppNodeOut) (This)->lpVtbl->removeNamedItem(This,bstrName,ppNodeOut)
#define IHTMLAttributeCollection3_item(This,index,ppNodeOut) (This)->lpVtbl->item(This,index,ppNodeOut)
#define IHTMLAttributeCollection3_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAttributeCollection3_QueryInterface(IHTMLAttributeCollection3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAttributeCollection3_AddRef(IHTMLAttributeCollection3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAttributeCollection3_Release(IHTMLAttributeCollection3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAttributeCollection3_GetTypeInfoCount(IHTMLAttributeCollection3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAttributeCollection3_GetTypeInfo(IHTMLAttributeCollection3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAttributeCollection3_GetIDsOfNames(IHTMLAttributeCollection3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAttributeCollection3_Invoke(IHTMLAttributeCollection3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAttributeCollection3 methods ***/
static inline HRESULT IHTMLAttributeCollection3_getNamedItem(IHTMLAttributeCollection3* This,BSTR bstrName,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->getNamedItem(This,bstrName,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection3_setNamedItem(IHTMLAttributeCollection3* This,IHTMLDOMAttribute *pNodeIn,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->setNamedItem(This,pNodeIn,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection3_removeNamedItem(IHTMLAttributeCollection3* This,BSTR bstrName,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->removeNamedItem(This,bstrName,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection3_item(IHTMLAttributeCollection3* This,LONG index,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->item(This,index,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection3_get_length(IHTMLAttributeCollection3* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAttributeCollection3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAttributeCollection4 interface
 */
#ifndef __IHTMLAttributeCollection4_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAttributeCollection4, 0x305106fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106fa-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAttributeCollection4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getNamedItemNS(
        VARIANT *pvarNS,
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE setNamedItemNS(
        IHTMLDOMAttribute2 *pNodeIn,
        IHTMLDOMAttribute2 **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeNamedItemNS(
        VARIANT *pvarNS,
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE getNamedItem(
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE setNamedItem(
        IHTMLDOMAttribute2 *pNodeIn,
        IHTMLDOMAttribute2 **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeNamedItem(
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLDOMAttribute2 **ppNodeOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAttributeCollection4, 0x305106fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAttributeCollection4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAttributeCollection4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAttributeCollection4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAttributeCollection4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAttributeCollection4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAttributeCollection4 methods ***/
    HRESULT (STDMETHODCALLTYPE *getNamedItemNS)(
        IHTMLAttributeCollection4 *This,
        VARIANT *pvarNS,
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *setNamedItemNS)(
        IHTMLAttributeCollection4 *This,
        IHTMLDOMAttribute2 *pNodeIn,
        IHTMLDOMAttribute2 **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *removeNamedItemNS)(
        IHTMLAttributeCollection4 *This,
        VARIANT *pvarNS,
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *getNamedItem)(
        IHTMLAttributeCollection4 *This,
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *setNamedItem)(
        IHTMLAttributeCollection4 *This,
        IHTMLDOMAttribute2 *pNodeIn,
        IHTMLDOMAttribute2 **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *removeNamedItem)(
        IHTMLAttributeCollection4 *This,
        BSTR bstrName,
        IHTMLDOMAttribute2 **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLAttributeCollection4 *This,
        LONG index,
        IHTMLDOMAttribute2 **ppNodeOut);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLAttributeCollection4 *This,
        LONG *p);

    END_INTERFACE
} IHTMLAttributeCollection4Vtbl;

interface IHTMLAttributeCollection4 {
    CONST_VTBL IHTMLAttributeCollection4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAttributeCollection4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAttributeCollection4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAttributeCollection4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAttributeCollection4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAttributeCollection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAttributeCollection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAttributeCollection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAttributeCollection4 methods ***/
#define IHTMLAttributeCollection4_getNamedItemNS(This,pvarNS,bstrName,ppNodeOut) (This)->lpVtbl->getNamedItemNS(This,pvarNS,bstrName,ppNodeOut)
#define IHTMLAttributeCollection4_setNamedItemNS(This,pNodeIn,ppNodeOut) (This)->lpVtbl->setNamedItemNS(This,pNodeIn,ppNodeOut)
#define IHTMLAttributeCollection4_removeNamedItemNS(This,pvarNS,bstrName,ppNodeOut) (This)->lpVtbl->removeNamedItemNS(This,pvarNS,bstrName,ppNodeOut)
#define IHTMLAttributeCollection4_getNamedItem(This,bstrName,ppNodeOut) (This)->lpVtbl->getNamedItem(This,bstrName,ppNodeOut)
#define IHTMLAttributeCollection4_setNamedItem(This,pNodeIn,ppNodeOut) (This)->lpVtbl->setNamedItem(This,pNodeIn,ppNodeOut)
#define IHTMLAttributeCollection4_removeNamedItem(This,bstrName,ppNodeOut) (This)->lpVtbl->removeNamedItem(This,bstrName,ppNodeOut)
#define IHTMLAttributeCollection4_item(This,index,ppNodeOut) (This)->lpVtbl->item(This,index,ppNodeOut)
#define IHTMLAttributeCollection4_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAttributeCollection4_QueryInterface(IHTMLAttributeCollection4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAttributeCollection4_AddRef(IHTMLAttributeCollection4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAttributeCollection4_Release(IHTMLAttributeCollection4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAttributeCollection4_GetTypeInfoCount(IHTMLAttributeCollection4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAttributeCollection4_GetTypeInfo(IHTMLAttributeCollection4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAttributeCollection4_GetIDsOfNames(IHTMLAttributeCollection4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAttributeCollection4_Invoke(IHTMLAttributeCollection4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAttributeCollection4 methods ***/
static inline HRESULT IHTMLAttributeCollection4_getNamedItemNS(IHTMLAttributeCollection4* This,VARIANT *pvarNS,BSTR bstrName,IHTMLDOMAttribute2 **ppNodeOut) {
    return This->lpVtbl->getNamedItemNS(This,pvarNS,bstrName,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection4_setNamedItemNS(IHTMLAttributeCollection4* This,IHTMLDOMAttribute2 *pNodeIn,IHTMLDOMAttribute2 **ppNodeOut) {
    return This->lpVtbl->setNamedItemNS(This,pNodeIn,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection4_removeNamedItemNS(IHTMLAttributeCollection4* This,VARIANT *pvarNS,BSTR bstrName,IHTMLDOMAttribute2 **ppNodeOut) {
    return This->lpVtbl->removeNamedItemNS(This,pvarNS,bstrName,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection4_getNamedItem(IHTMLAttributeCollection4* This,BSTR bstrName,IHTMLDOMAttribute2 **ppNodeOut) {
    return This->lpVtbl->getNamedItem(This,bstrName,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection4_setNamedItem(IHTMLAttributeCollection4* This,IHTMLDOMAttribute2 *pNodeIn,IHTMLDOMAttribute2 **ppNodeOut) {
    return This->lpVtbl->setNamedItem(This,pNodeIn,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection4_removeNamedItem(IHTMLAttributeCollection4* This,BSTR bstrName,IHTMLDOMAttribute2 **ppNodeOut) {
    return This->lpVtbl->removeNamedItem(This,bstrName,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection4_item(IHTMLAttributeCollection4* This,LONG index,IHTMLDOMAttribute2 **ppNodeOut) {
    return This->lpVtbl->item(This,index,ppNodeOut);
}
static inline HRESULT IHTMLAttributeCollection4_get_length(IHTMLAttributeCollection4* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAttributeCollection4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMChildrenCollection interface
 */
#ifndef __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__
#define __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMChildrenCollection, 0x3050f5ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5ab-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMChildrenCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IDispatch **ppItem) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMChildrenCollection, 0x3050f5ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMChildrenCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMChildrenCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMChildrenCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMChildrenCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMChildrenCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMChildrenCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLDOMChildrenCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLDOMChildrenCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLDOMChildrenCollection *This,
        LONG index,
        IDispatch **ppItem);

    END_INTERFACE
} IHTMLDOMChildrenCollectionVtbl;

interface IHTMLDOMChildrenCollection {
    CONST_VTBL IHTMLDOMChildrenCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMChildrenCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMChildrenCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMChildrenCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMChildrenCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMChildrenCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMChildrenCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMChildrenCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMChildrenCollection methods ***/
#define IHTMLDOMChildrenCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLDOMChildrenCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLDOMChildrenCollection_item(This,index,ppItem) (This)->lpVtbl->item(This,index,ppItem)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMChildrenCollection_QueryInterface(IHTMLDOMChildrenCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMChildrenCollection_AddRef(IHTMLDOMChildrenCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMChildrenCollection_Release(IHTMLDOMChildrenCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMChildrenCollection_GetTypeInfoCount(IHTMLDOMChildrenCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMChildrenCollection_GetTypeInfo(IHTMLDOMChildrenCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMChildrenCollection_GetIDsOfNames(IHTMLDOMChildrenCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMChildrenCollection_Invoke(IHTMLDOMChildrenCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMChildrenCollection methods ***/
static inline HRESULT IHTMLDOMChildrenCollection_get_length(IHTMLDOMChildrenCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLDOMChildrenCollection_get__newEnum(IHTMLDOMChildrenCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLDOMChildrenCollection_item(IHTMLDOMChildrenCollection* This,LONG index,IDispatch **ppItem) {
    return This->lpVtbl->item(This,index,ppItem);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMChildrenCollection2 interface
 */
#ifndef __IHTMLDOMChildrenCollection2_INTERFACE_DEFINED__
#define __IHTMLDOMChildrenCollection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMChildrenCollection2, 0x30510791, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510791-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMChildrenCollection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IDispatch **ppItem) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMChildrenCollection2, 0x30510791, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMChildrenCollection2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMChildrenCollection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMChildrenCollection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMChildrenCollection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMChildrenCollection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMChildrenCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLDOMChildrenCollection2 *This,
        LONG index,
        IDispatch **ppItem);

    END_INTERFACE
} IHTMLDOMChildrenCollection2Vtbl;

interface IHTMLDOMChildrenCollection2 {
    CONST_VTBL IHTMLDOMChildrenCollection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMChildrenCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMChildrenCollection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMChildrenCollection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMChildrenCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMChildrenCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMChildrenCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMChildrenCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMChildrenCollection2 methods ***/
#define IHTMLDOMChildrenCollection2_item(This,index,ppItem) (This)->lpVtbl->item(This,index,ppItem)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMChildrenCollection2_QueryInterface(IHTMLDOMChildrenCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMChildrenCollection2_AddRef(IHTMLDOMChildrenCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMChildrenCollection2_Release(IHTMLDOMChildrenCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMChildrenCollection2_GetTypeInfoCount(IHTMLDOMChildrenCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMChildrenCollection2_GetTypeInfo(IHTMLDOMChildrenCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMChildrenCollection2_GetIDsOfNames(IHTMLDOMChildrenCollection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMChildrenCollection2_Invoke(IHTMLDOMChildrenCollection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMChildrenCollection2 methods ***/
static inline HRESULT IHTMLDOMChildrenCollection2_item(IHTMLDOMChildrenCollection2* This,LONG index,IDispatch **ppItem) {
    return This->lpVtbl->item(This,index,ppItem);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMChildrenCollection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLAttributeCollection dispinterface
 */
#ifndef __DispHTMLAttributeCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLAttributeCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLAttributeCollection, 0x3050f56c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f56c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLAttributeCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLAttributeCollection, 0x3050f56c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLAttributeCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLAttributeCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLAttributeCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLAttributeCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLAttributeCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLAttributeCollectionVtbl;

interface DispHTMLAttributeCollection {
    CONST_VTBL DispHTMLAttributeCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLAttributeCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLAttributeCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLAttributeCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLAttributeCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLAttributeCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLAttributeCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLAttributeCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLAttributeCollection_QueryInterface(DispHTMLAttributeCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLAttributeCollection_AddRef(DispHTMLAttributeCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLAttributeCollection_Release(DispHTMLAttributeCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLAttributeCollection_GetTypeInfoCount(DispHTMLAttributeCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLAttributeCollection_GetTypeInfo(DispHTMLAttributeCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLAttributeCollection_GetIDsOfNames(DispHTMLAttributeCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLAttributeCollection_Invoke(DispHTMLAttributeCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLAttributeCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAttributeCollection coclass
 */

DEFINE_GUID(CLSID_HTMLAttributeCollection, 0x3050f4cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4cc-98b5-11cf-bb82-00aa00bdce0b") HTMLAttributeCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAttributeCollection, 0x3050f4cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CAttrCollectionator;
/*****************************************************************************
 * DispStaticNodeList dispinterface
 */
#ifndef __DispStaticNodeList_DISPINTERFACE_DEFINED__
#define __DispStaticNodeList_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispStaticNodeList, 0x3050f59b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f59b-98b5-11cf-bb82-00aa00bdce0b")
DispStaticNodeList : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispStaticNodeList, 0x3050f59b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispStaticNodeListVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispStaticNodeList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispStaticNodeList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispStaticNodeList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispStaticNodeList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispStaticNodeListVtbl;

interface DispStaticNodeList {
    CONST_VTBL DispStaticNodeListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispStaticNodeList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispStaticNodeList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispStaticNodeList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispStaticNodeList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispStaticNodeList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispStaticNodeList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispStaticNodeList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispStaticNodeList_QueryInterface(DispStaticNodeList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispStaticNodeList_AddRef(DispStaticNodeList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispStaticNodeList_Release(DispStaticNodeList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispStaticNodeList_GetTypeInfoCount(DispStaticNodeList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispStaticNodeList_GetTypeInfo(DispStaticNodeList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispStaticNodeList_GetIDsOfNames(DispStaticNodeList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispStaticNodeList_Invoke(DispStaticNodeList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispStaticNodeList_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * StaticNodeList coclass
 */

DEFINE_GUID(CLSID_StaticNodeList, 0x30510467, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510467-98b5-11cf-bb82-00aa00bdce0b") StaticNodeList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(StaticNodeList, 0x30510467, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStaticNodeList;
/*****************************************************************************
 * DispDOMChildrenCollection dispinterface
 */
#ifndef __DispDOMChildrenCollection_DISPINTERFACE_DEFINED__
#define __DispDOMChildrenCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMChildrenCollection, 0x3050f577, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f577-98b5-11cf-bb82-00aa00bdce0b")
DispDOMChildrenCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMChildrenCollection, 0x3050f577, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMChildrenCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMChildrenCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMChildrenCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMChildrenCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMChildrenCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMChildrenCollectionVtbl;

interface DispDOMChildrenCollection {
    CONST_VTBL DispDOMChildrenCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMChildrenCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMChildrenCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMChildrenCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMChildrenCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMChildrenCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMChildrenCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMChildrenCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMChildrenCollection_QueryInterface(DispDOMChildrenCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMChildrenCollection_AddRef(DispDOMChildrenCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMChildrenCollection_Release(DispDOMChildrenCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMChildrenCollection_GetTypeInfoCount(DispDOMChildrenCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMChildrenCollection_GetTypeInfo(DispDOMChildrenCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMChildrenCollection_GetIDsOfNames(DispDOMChildrenCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMChildrenCollection_Invoke(DispDOMChildrenCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMChildrenCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMChildrenCollection coclass
 */

DEFINE_GUID(CLSID_DOMChildrenCollection, 0x3050f5aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f5aa-98b5-11cf-bb82-00aa00bdce0b") DOMChildrenCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMChildrenCollection, 0x3050f5aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMChildrenCollection;
/*****************************************************************************
 * HTMLElementEvents4 dispinterface
 */
#ifndef __HTMLElementEvents4_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents4_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLElementEvents4, 0x3051075e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051075e-98b5-11cf-bb82-00aa00bdce0b")
HTMLElementEvents4 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLElementEvents4, 0x3051075e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLElementEvents4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLElementEvents4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLElementEvents4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLElementEvents4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLElementEvents4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLElementEvents4Vtbl;

interface HTMLElementEvents4 {
    CONST_VTBL HTMLElementEvents4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLElementEvents4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLElementEvents4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLElementEvents4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLElementEvents4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLElementEvents4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLElementEvents4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLElementEvents4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLElementEvents4_QueryInterface(HTMLElementEvents4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLElementEvents4_AddRef(HTMLElementEvents4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLElementEvents4_Release(HTMLElementEvents4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLElementEvents4_GetTypeInfoCount(HTMLElementEvents4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLElementEvents4_GetTypeInfo(HTMLElementEvents4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLElementEvents4_GetIDsOfNames(HTMLElementEvents4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLElementEvents4_Invoke(HTMLElementEvents4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLElementEvents4_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLElementEvents3 dispinterface
 */
#ifndef __HTMLElementEvents3_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents3_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLElementEvents3, 0x3050f59f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f59f-98b5-11cf-bb82-00aa00bdce0b")
HTMLElementEvents3 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLElementEvents3, 0x3050f59f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLElementEvents3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLElementEvents3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLElementEvents3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLElementEvents3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLElementEvents3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLElementEvents3Vtbl;

interface HTMLElementEvents3 {
    CONST_VTBL HTMLElementEvents3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLElementEvents3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLElementEvents3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLElementEvents3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLElementEvents3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLElementEvents3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLElementEvents3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLElementEvents3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLElementEvents3_QueryInterface(HTMLElementEvents3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLElementEvents3_AddRef(HTMLElementEvents3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLElementEvents3_Release(HTMLElementEvents3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLElementEvents3_GetTypeInfoCount(HTMLElementEvents3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLElementEvents3_GetTypeInfo(HTMLElementEvents3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLElementEvents3_GetIDsOfNames(HTMLElementEvents3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLElementEvents3_Invoke(HTMLElementEvents3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLElementEvents3_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLElementEvents2 dispinterface
 */
#ifndef __HTMLElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLElementEvents2, 0x3050f60f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f60f-98b5-11cf-bb82-00aa00bdce0b")
HTMLElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLElementEvents2, 0x3050f60f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLElementEvents2Vtbl;

interface HTMLElementEvents2 {
    CONST_VTBL HTMLElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLElementEvents2_QueryInterface(HTMLElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLElementEvents2_AddRef(HTMLElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLElementEvents2_Release(HTMLElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLElementEvents2_GetTypeInfoCount(HTMLElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLElementEvents2_GetTypeInfo(HTMLElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLElementEvents2_GetIDsOfNames(HTMLElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLElementEvents2_Invoke(HTMLElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLElementEvents dispinterface
 */
#ifndef __HTMLElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLElementEvents, 0x3050f33c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f33c-98b5-11cf-bb82-00aa00bdce0b")
HTMLElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLElementEvents, 0x3050f33c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLElementEventsVtbl;

interface HTMLElementEvents {
    CONST_VTBL HTMLElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLElementEvents_QueryInterface(HTMLElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLElementEvents_AddRef(HTMLElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLElementEvents_Release(HTMLElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLElementEvents_GetTypeInfoCount(HTMLElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLElementEvents_GetTypeInfo(HTMLElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLElementEvents_GetIDsOfNames(HTMLElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLElementEvents_Invoke(HTMLElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLElementEvents_DISPINTERFACE_DEFINED__ */

typedef enum _htmlListType {
    htmlListTypeNotSet = 0,
    htmlListTypeLargeAlpha = 1,
    htmlListTypeSmallAlpha = 2,
    htmlListTypeLargeRoman = 3,
    htmlListTypeSmallRoman = 4,
    htmlListTypeNumbers = 5,
    htmlListTypeDisc = 6,
    htmlListTypeCircle = 7,
    htmlListTypeSquare = 8,
    htmlListType_Max = 0x7fffffff
} htmlListType;
typedef enum _htmlMethod {
    htmlMethodNotSet = 0,
    htmlMethodGet = 1,
    htmlMethodPost = 2,
    htmlMethod_Max = 0x7fffffff
} htmlMethod;
typedef enum _htmlWrap {
    htmlWrapOff = 1,
    htmlWrapSoft = 2,
    htmlWrapHard = 3,
    htmlWrap_Max = 0x7fffffff
} htmlWrap;
typedef enum _htmlDir {
    htmlDirNotSet = 0,
    htmlDirLeftToRight = 1,
    htmlDirRightToLeft = 2,
    htmlDir_Max = 0x7fffffff
} htmlDir;
typedef enum _htmlEditable {
    htmlEditableInherit = 0,
    htmlEditableTrue = 1,
    htmlEditableFalse = 2,
    htmlEditable_Max = 0x7fffffff
} htmlEditable;
typedef enum _htmlInput {
    htmlInputNotSet = 0,
    htmlInputButton = 1,
    htmlInputCheckbox = 2,
    htmlInputFile = 3,
    htmlInputHidden = 4,
    htmlInputImage = 5,
    htmlInputPassword = 6,
    htmlInputRadio = 7,
    htmlInputReset = 8,
    htmlInputSelectOne = 9,
    htmlInputSelectMultiple = 10,
    htmlInputSubmit = 11,
    htmlInputText = 12,
    htmlInputTextarea = 13,
    htmlInputRichtext = 14,
    htmlInputRange = 15,
    htmlInputUrl = 16,
    htmlInputEmail = 17,
    htmlInputNumber = 18,
    htmlInputTel = 19,
    htmlInputSearch = 20,
    htmlInput_Max = 0x7fffffff
} htmlInput;
typedef enum _htmlSpellCheck {
    htmlSpellCheckNotSet = 0,
    htmlSpellCheckTrue = 1,
    htmlSpellCheckFalse = 2,
    htmlSpellCheckDefault = 3,
    htmlSpellCheck_Max = 0x7fffffff
} htmlSpellCheck;
typedef enum _htmlEncoding {
    htmlEncodingURL = 0,
    htmlEncodingMultipart = 1,
    htmlEncodingText = 2,
    htmlEncoding_Max = 0x7fffffff
} htmlEncoding;
typedef enum _htmlAdjacency {
    htmlAdjacencyBeforeBegin = 1,
    htmlAdjacencyAfterBegin = 2,
    htmlAdjacencyBeforeEnd = 3,
    htmlAdjacencyAfterEnd = 4,
    htmlAdjacency_Max = 0x7fffffff
} htmlAdjacency;
typedef enum _htmlTabIndex {
    htmlTabIndexNotSet = -32768,
    htmlTabIndex_Max = 0x7fffffff
} htmlTabIndex;
typedef enum _htmlComponent {
    htmlComponentClient = 0,
    htmlComponentSbLeft = 1,
    htmlComponentSbPageLeft = 2,
    htmlComponentSbHThumb = 3,
    htmlComponentSbPageRight = 4,
    htmlComponentSbRight = 5,
    htmlComponentSbUp = 6,
    htmlComponentSbPageUp = 7,
    htmlComponentSbVThumb = 8,
    htmlComponentSbPageDown = 9,
    htmlComponentSbDown = 10,
    htmlComponentSbLeft2 = 11,
    htmlComponentSbPageLeft2 = 12,
    htmlComponentSbRight2 = 13,
    htmlComponentSbPageRight2 = 14,
    htmlComponentSbUp2 = 15,
    htmlComponentSbPageUp2 = 16,
    htmlComponentSbDown2 = 17,
    htmlComponentSbPageDown2 = 18,
    htmlComponentSbTop = 19,
    htmlComponentSbBottom = 20,
    htmlComponentOutside = 21,
    htmlComponentGHTopLeft = 22,
    htmlComponentGHLeft = 23,
    htmlComponentGHTop = 24,
    htmlComponentGHBottomLeft = 25,
    htmlComponentGHTopRight = 26,
    htmlComponentGHBottom = 27,
    htmlComponentGHRight = 28,
    htmlComponentGHBottomRight = 29,
    htmlComponent_Max = 0x7fffffff
} htmlComponent;
typedef enum _htmlApplyLocation {
    htmlApplyLocationInside = 0,
    htmlApplyLocationOutside = 1,
    htmlApplyLocation_Max = 0x7fffffff
} htmlApplyLocation;
typedef enum _htmlGlyphMode {
    htmlGlyphModeNone = 0,
    htmlGlyphModeBegin = 1,
    htmlGlyphModeEnd = 2,
    htmlGlyphModeBoth = 3,
    htmlGlyphMode_Max = 0x7fffffff
} htmlGlyphMode;
typedef enum _htmlDraggable {
    htmlDraggableAuto = 0,
    htmlDraggableTrue = 1,
    htmlDraggableFalse = 2,
    htmlDraggable_Max = 0x7fffffff
} htmlDraggable;
#ifndef __IHTMLEventObj_FWD_DEFINED__
#define __IHTMLEventObj_FWD_DEFINED__
typedef interface IHTMLEventObj IHTMLEventObj;
#ifdef __cplusplus
interface IHTMLEventObj;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementCollection_FWD_DEFINED__
#define __IHTMLElementCollection_FWD_DEFINED__
typedef interface IHTMLElementCollection IHTMLElementCollection;
#ifdef __cplusplus
interface IHTMLElementCollection;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFiltersCollection_FWD_DEFINED__
#define __IHTMLFiltersCollection_FWD_DEFINED__
typedef interface IHTMLFiltersCollection IHTMLFiltersCollection;
#ifdef __cplusplus
interface IHTMLFiltersCollection;
#endif /* __cplusplus */
#endif

#ifndef __IRulesAppliedCollection_FWD_DEFINED__
#define __IRulesAppliedCollection_FWD_DEFINED__
typedef interface IRulesAppliedCollection IRulesAppliedCollection;
#ifdef __cplusplus
interface IRulesAppliedCollection;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLElement interface
 */
#ifndef __IHTMLElement_INTERFACE_DEFINED__
#define __IHTMLElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElement, 0x3050f1ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1ff-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE setAttribute(
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags = 1) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR strAttributeName,
        LONG lFlags = 0,
        VARIANT *AttributeValue = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        LONG lFlags = 1,
        VARIANT_BOOL *pfSuccess = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_className(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_className(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_id(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_id(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tagName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_style(
        IHTMLStyle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onhelp(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onhelp(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onclick(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onclick(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondblclick(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondblclick(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeydown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeydown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeyup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeyup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeypress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeypress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmousemove(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousemove(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmousedown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousedown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_document(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_title(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_title(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_language(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_language(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselectstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselectstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE scrollIntoView(
        VARIANT varargStart) = 0;

    virtual HRESULT STDMETHODCALLTYPE contains(
        IHTMLElement *pChild,
        VARIANT_BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_sourceIndex(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_recordNumber(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lang(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lang(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetParent(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_innerHTML(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_innerHTML(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_innerText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_innerText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outerHTML(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outerHTML(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_outerText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outerText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertAdjacentHTML(
        BSTR where,
        BSTR html) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertAdjacentText(
        BSTR where,
        BSTR text) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentTextEdit(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isTextEdit(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE click(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_filters(
        IHTMLFiltersCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *String) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onafterupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onafterupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerrorupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerrorupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowexit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowexit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowenter(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowenter(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondatasetchanged(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondatasetchanged(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondataavailable(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondataavailable(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondatasetcomplete(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondatasetcomplete(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfilterchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfilterchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_children(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_all(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElement, 0x3050f1ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElement methods ***/
    HRESULT (STDMETHODCALLTYPE *setAttribute)(
        IHTMLElement *This,
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLElement *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *removeAttribute)(
        IHTMLElement *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT_BOOL *pfSuccess);

    HRESULT (STDMETHODCALLTYPE *put_className)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_className)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_id)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_id)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_tagName)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_parentElement)(
        IHTMLElement *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_style)(
        IHTMLElement *This,
        IHTMLStyle **p);

    HRESULT (STDMETHODCALLTYPE *put_onhelp)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onhelp)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onclick)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onclick)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondblclick)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondblclick)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeydown)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeydown)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeyup)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeyup)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeypress)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeypress)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseout)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseout)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseover)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseover)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmousemove)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousemove)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmousedown)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousedown)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseup)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseup)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_document)(
        IHTMLElement *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_title)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_title)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_language)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_language)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onselectstart)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselectstart)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *scrollIntoView)(
        IHTMLElement *This,
        VARIANT varargStart);

    HRESULT (STDMETHODCALLTYPE *contains)(
        IHTMLElement *This,
        IHTMLElement *pChild,
        VARIANT_BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *get_sourceIndex)(
        IHTMLElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_recordNumber)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_lang)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lang)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetLeft)(
        IHTMLElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetTop)(
        IHTMLElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetWidth)(
        IHTMLElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetHeight)(
        IHTMLElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetParent)(
        IHTMLElement *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *put_innerHTML)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_innerHTML)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_innerText)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_innerText)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outerHTML)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outerHTML)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_outerText)(
        IHTMLElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_outerText)(
        IHTMLElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *insertAdjacentHTML)(
        IHTMLElement *This,
        BSTR where,
        BSTR html);

    HRESULT (STDMETHODCALLTYPE *insertAdjacentText)(
        IHTMLElement *This,
        BSTR where,
        BSTR text);

    HRESULT (STDMETHODCALLTYPE *get_parentTextEdit)(
        IHTMLElement *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_isTextEdit)(
        IHTMLElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *click)(
        IHTMLElement *This);

    HRESULT (STDMETHODCALLTYPE *get_filters)(
        IHTMLElement *This,
        IHTMLFiltersCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_ondragstart)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragstart)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLElement *This,
        BSTR *String);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeupdate)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeupdate)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onafterupdate)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onafterupdate)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerrorupdate)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerrorupdate)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onrowexit)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowexit)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onrowenter)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowenter)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondatasetchanged)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondatasetchanged)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondataavailable)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondataavailable)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondatasetcomplete)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondatasetcomplete)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfilterchange)(
        IHTMLElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfilterchange)(
        IHTMLElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_children)(
        IHTMLElement *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_all)(
        IHTMLElement *This,
        IDispatch **p);

    END_INTERFACE
} IHTMLElementVtbl;

interface IHTMLElement {
    CONST_VTBL IHTMLElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElement methods ***/
#define IHTMLElement_setAttribute(This,strAttributeName,AttributeValue,lFlags) (This)->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags)
#define IHTMLElement_getAttribute(This,strAttributeName,lFlags,AttributeValue) (This)->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue)
#define IHTMLElement_removeAttribute(This,strAttributeName,lFlags,pfSuccess) (This)->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess)
#define IHTMLElement_put_className(This,v) (This)->lpVtbl->put_className(This,v)
#define IHTMLElement_get_className(This,p) (This)->lpVtbl->get_className(This,p)
#define IHTMLElement_put_id(This,v) (This)->lpVtbl->put_id(This,v)
#define IHTMLElement_get_id(This,p) (This)->lpVtbl->get_id(This,p)
#define IHTMLElement_get_tagName(This,p) (This)->lpVtbl->get_tagName(This,p)
#define IHTMLElement_get_parentElement(This,p) (This)->lpVtbl->get_parentElement(This,p)
#define IHTMLElement_get_style(This,p) (This)->lpVtbl->get_style(This,p)
#define IHTMLElement_put_onhelp(This,v) (This)->lpVtbl->put_onhelp(This,v)
#define IHTMLElement_get_onhelp(This,p) (This)->lpVtbl->get_onhelp(This,p)
#define IHTMLElement_put_onclick(This,v) (This)->lpVtbl->put_onclick(This,v)
#define IHTMLElement_get_onclick(This,p) (This)->lpVtbl->get_onclick(This,p)
#define IHTMLElement_put_ondblclick(This,v) (This)->lpVtbl->put_ondblclick(This,v)
#define IHTMLElement_get_ondblclick(This,p) (This)->lpVtbl->get_ondblclick(This,p)
#define IHTMLElement_put_onkeydown(This,v) (This)->lpVtbl->put_onkeydown(This,v)
#define IHTMLElement_get_onkeydown(This,p) (This)->lpVtbl->get_onkeydown(This,p)
#define IHTMLElement_put_onkeyup(This,v) (This)->lpVtbl->put_onkeyup(This,v)
#define IHTMLElement_get_onkeyup(This,p) (This)->lpVtbl->get_onkeyup(This,p)
#define IHTMLElement_put_onkeypress(This,v) (This)->lpVtbl->put_onkeypress(This,v)
#define IHTMLElement_get_onkeypress(This,p) (This)->lpVtbl->get_onkeypress(This,p)
#define IHTMLElement_put_onmouseout(This,v) (This)->lpVtbl->put_onmouseout(This,v)
#define IHTMLElement_get_onmouseout(This,p) (This)->lpVtbl->get_onmouseout(This,p)
#define IHTMLElement_put_onmouseover(This,v) (This)->lpVtbl->put_onmouseover(This,v)
#define IHTMLElement_get_onmouseover(This,p) (This)->lpVtbl->get_onmouseover(This,p)
#define IHTMLElement_put_onmousemove(This,v) (This)->lpVtbl->put_onmousemove(This,v)
#define IHTMLElement_get_onmousemove(This,p) (This)->lpVtbl->get_onmousemove(This,p)
#define IHTMLElement_put_onmousedown(This,v) (This)->lpVtbl->put_onmousedown(This,v)
#define IHTMLElement_get_onmousedown(This,p) (This)->lpVtbl->get_onmousedown(This,p)
#define IHTMLElement_put_onmouseup(This,v) (This)->lpVtbl->put_onmouseup(This,v)
#define IHTMLElement_get_onmouseup(This,p) (This)->lpVtbl->get_onmouseup(This,p)
#define IHTMLElement_get_document(This,p) (This)->lpVtbl->get_document(This,p)
#define IHTMLElement_put_title(This,v) (This)->lpVtbl->put_title(This,v)
#define IHTMLElement_get_title(This,p) (This)->lpVtbl->get_title(This,p)
#define IHTMLElement_put_language(This,v) (This)->lpVtbl->put_language(This,v)
#define IHTMLElement_get_language(This,p) (This)->lpVtbl->get_language(This,p)
#define IHTMLElement_put_onselectstart(This,v) (This)->lpVtbl->put_onselectstart(This,v)
#define IHTMLElement_get_onselectstart(This,p) (This)->lpVtbl->get_onselectstart(This,p)
#define IHTMLElement_scrollIntoView(This,varargStart) (This)->lpVtbl->scrollIntoView(This,varargStart)
#define IHTMLElement_contains(This,pChild,pfResult) (This)->lpVtbl->contains(This,pChild,pfResult)
#define IHTMLElement_get_sourceIndex(This,p) (This)->lpVtbl->get_sourceIndex(This,p)
#define IHTMLElement_get_recordNumber(This,p) (This)->lpVtbl->get_recordNumber(This,p)
#define IHTMLElement_put_lang(This,v) (This)->lpVtbl->put_lang(This,v)
#define IHTMLElement_get_lang(This,p) (This)->lpVtbl->get_lang(This,p)
#define IHTMLElement_get_offsetLeft(This,p) (This)->lpVtbl->get_offsetLeft(This,p)
#define IHTMLElement_get_offsetTop(This,p) (This)->lpVtbl->get_offsetTop(This,p)
#define IHTMLElement_get_offsetWidth(This,p) (This)->lpVtbl->get_offsetWidth(This,p)
#define IHTMLElement_get_offsetHeight(This,p) (This)->lpVtbl->get_offsetHeight(This,p)
#define IHTMLElement_get_offsetParent(This,p) (This)->lpVtbl->get_offsetParent(This,p)
#define IHTMLElement_put_innerHTML(This,v) (This)->lpVtbl->put_innerHTML(This,v)
#define IHTMLElement_get_innerHTML(This,p) (This)->lpVtbl->get_innerHTML(This,p)
#define IHTMLElement_put_innerText(This,v) (This)->lpVtbl->put_innerText(This,v)
#define IHTMLElement_get_innerText(This,p) (This)->lpVtbl->get_innerText(This,p)
#define IHTMLElement_put_outerHTML(This,v) (This)->lpVtbl->put_outerHTML(This,v)
#define IHTMLElement_get_outerHTML(This,p) (This)->lpVtbl->get_outerHTML(This,p)
#define IHTMLElement_put_outerText(This,v) (This)->lpVtbl->put_outerText(This,v)
#define IHTMLElement_get_outerText(This,p) (This)->lpVtbl->get_outerText(This,p)
#define IHTMLElement_insertAdjacentHTML(This,where,html) (This)->lpVtbl->insertAdjacentHTML(This,where,html)
#define IHTMLElement_insertAdjacentText(This,where,text) (This)->lpVtbl->insertAdjacentText(This,where,text)
#define IHTMLElement_get_parentTextEdit(This,p) (This)->lpVtbl->get_parentTextEdit(This,p)
#define IHTMLElement_get_isTextEdit(This,p) (This)->lpVtbl->get_isTextEdit(This,p)
#define IHTMLElement_click(This) (This)->lpVtbl->click(This)
#define IHTMLElement_get_filters(This,p) (This)->lpVtbl->get_filters(This,p)
#define IHTMLElement_put_ondragstart(This,v) (This)->lpVtbl->put_ondragstart(This,v)
#define IHTMLElement_get_ondragstart(This,p) (This)->lpVtbl->get_ondragstart(This,p)
#define IHTMLElement_toString(This,String) (This)->lpVtbl->toString(This,String)
#define IHTMLElement_put_onbeforeupdate(This,v) (This)->lpVtbl->put_onbeforeupdate(This,v)
#define IHTMLElement_get_onbeforeupdate(This,p) (This)->lpVtbl->get_onbeforeupdate(This,p)
#define IHTMLElement_put_onafterupdate(This,v) (This)->lpVtbl->put_onafterupdate(This,v)
#define IHTMLElement_get_onafterupdate(This,p) (This)->lpVtbl->get_onafterupdate(This,p)
#define IHTMLElement_put_onerrorupdate(This,v) (This)->lpVtbl->put_onerrorupdate(This,v)
#define IHTMLElement_get_onerrorupdate(This,p) (This)->lpVtbl->get_onerrorupdate(This,p)
#define IHTMLElement_put_onrowexit(This,v) (This)->lpVtbl->put_onrowexit(This,v)
#define IHTMLElement_get_onrowexit(This,p) (This)->lpVtbl->get_onrowexit(This,p)
#define IHTMLElement_put_onrowenter(This,v) (This)->lpVtbl->put_onrowenter(This,v)
#define IHTMLElement_get_onrowenter(This,p) (This)->lpVtbl->get_onrowenter(This,p)
#define IHTMLElement_put_ondatasetchanged(This,v) (This)->lpVtbl->put_ondatasetchanged(This,v)
#define IHTMLElement_get_ondatasetchanged(This,p) (This)->lpVtbl->get_ondatasetchanged(This,p)
#define IHTMLElement_put_ondataavailable(This,v) (This)->lpVtbl->put_ondataavailable(This,v)
#define IHTMLElement_get_ondataavailable(This,p) (This)->lpVtbl->get_ondataavailable(This,p)
#define IHTMLElement_put_ondatasetcomplete(This,v) (This)->lpVtbl->put_ondatasetcomplete(This,v)
#define IHTMLElement_get_ondatasetcomplete(This,p) (This)->lpVtbl->get_ondatasetcomplete(This,p)
#define IHTMLElement_put_onfilterchange(This,v) (This)->lpVtbl->put_onfilterchange(This,v)
#define IHTMLElement_get_onfilterchange(This,p) (This)->lpVtbl->get_onfilterchange(This,p)
#define IHTMLElement_get_children(This,p) (This)->lpVtbl->get_children(This,p)
#define IHTMLElement_get_all(This,p) (This)->lpVtbl->get_all(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElement_QueryInterface(IHTMLElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElement_AddRef(IHTMLElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElement_Release(IHTMLElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElement_GetTypeInfoCount(IHTMLElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElement_GetTypeInfo(IHTMLElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElement_GetIDsOfNames(IHTMLElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElement_Invoke(IHTMLElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElement methods ***/
static inline HRESULT IHTMLElement_setAttribute(IHTMLElement* This,BSTR strAttributeName,VARIANT AttributeValue,LONG lFlags) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags);
}
static inline HRESULT IHTMLElement_getAttribute(IHTMLElement* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static inline HRESULT IHTMLElement_removeAttribute(IHTMLElement* This,BSTR strAttributeName,LONG lFlags,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess);
}
static inline HRESULT IHTMLElement_put_className(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_className(This,v);
}
static inline HRESULT IHTMLElement_get_className(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_className(This,p);
}
static inline HRESULT IHTMLElement_put_id(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_id(This,v);
}
static inline HRESULT IHTMLElement_get_id(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_id(This,p);
}
static inline HRESULT IHTMLElement_get_tagName(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_tagName(This,p);
}
static inline HRESULT IHTMLElement_get_parentElement(IHTMLElement* This,IHTMLElement **p) {
    return This->lpVtbl->get_parentElement(This,p);
}
static inline HRESULT IHTMLElement_get_style(IHTMLElement* This,IHTMLStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
static inline HRESULT IHTMLElement_put_onhelp(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onhelp(This,v);
}
static inline HRESULT IHTMLElement_get_onhelp(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onhelp(This,p);
}
static inline HRESULT IHTMLElement_put_onclick(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onclick(This,v);
}
static inline HRESULT IHTMLElement_get_onclick(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onclick(This,p);
}
static inline HRESULT IHTMLElement_put_ondblclick(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondblclick(This,v);
}
static inline HRESULT IHTMLElement_get_ondblclick(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondblclick(This,p);
}
static inline HRESULT IHTMLElement_put_onkeydown(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onkeydown(This,v);
}
static inline HRESULT IHTMLElement_get_onkeydown(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onkeydown(This,p);
}
static inline HRESULT IHTMLElement_put_onkeyup(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onkeyup(This,v);
}
static inline HRESULT IHTMLElement_get_onkeyup(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onkeyup(This,p);
}
static inline HRESULT IHTMLElement_put_onkeypress(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onkeypress(This,v);
}
static inline HRESULT IHTMLElement_get_onkeypress(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onkeypress(This,p);
}
static inline HRESULT IHTMLElement_put_onmouseout(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmouseout(This,v);
}
static inline HRESULT IHTMLElement_get_onmouseout(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseout(This,p);
}
static inline HRESULT IHTMLElement_put_onmouseover(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmouseover(This,v);
}
static inline HRESULT IHTMLElement_get_onmouseover(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseover(This,p);
}
static inline HRESULT IHTMLElement_put_onmousemove(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmousemove(This,v);
}
static inline HRESULT IHTMLElement_get_onmousemove(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmousemove(This,p);
}
static inline HRESULT IHTMLElement_put_onmousedown(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmousedown(This,v);
}
static inline HRESULT IHTMLElement_get_onmousedown(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmousedown(This,p);
}
static inline HRESULT IHTMLElement_put_onmouseup(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmouseup(This,v);
}
static inline HRESULT IHTMLElement_get_onmouseup(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseup(This,p);
}
static inline HRESULT IHTMLElement_get_document(IHTMLElement* This,IDispatch **p) {
    return This->lpVtbl->get_document(This,p);
}
static inline HRESULT IHTMLElement_put_title(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_title(This,v);
}
static inline HRESULT IHTMLElement_get_title(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_title(This,p);
}
static inline HRESULT IHTMLElement_put_language(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_language(This,v);
}
static inline HRESULT IHTMLElement_get_language(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_language(This,p);
}
static inline HRESULT IHTMLElement_put_onselectstart(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onselectstart(This,v);
}
static inline HRESULT IHTMLElement_get_onselectstart(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselectstart(This,p);
}
static inline HRESULT IHTMLElement_scrollIntoView(IHTMLElement* This,VARIANT varargStart) {
    return This->lpVtbl->scrollIntoView(This,varargStart);
}
static inline HRESULT IHTMLElement_contains(IHTMLElement* This,IHTMLElement *pChild,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->contains(This,pChild,pfResult);
}
static inline HRESULT IHTMLElement_get_sourceIndex(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_sourceIndex(This,p);
}
static inline HRESULT IHTMLElement_get_recordNumber(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_recordNumber(This,p);
}
static inline HRESULT IHTMLElement_put_lang(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_lang(This,v);
}
static inline HRESULT IHTMLElement_get_lang(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_lang(This,p);
}
static inline HRESULT IHTMLElement_get_offsetLeft(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetLeft(This,p);
}
static inline HRESULT IHTMLElement_get_offsetTop(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetTop(This,p);
}
static inline HRESULT IHTMLElement_get_offsetWidth(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetWidth(This,p);
}
static inline HRESULT IHTMLElement_get_offsetHeight(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetHeight(This,p);
}
static inline HRESULT IHTMLElement_get_offsetParent(IHTMLElement* This,IHTMLElement **p) {
    return This->lpVtbl->get_offsetParent(This,p);
}
static inline HRESULT IHTMLElement_put_innerHTML(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_innerHTML(This,v);
}
static inline HRESULT IHTMLElement_get_innerHTML(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_innerHTML(This,p);
}
static inline HRESULT IHTMLElement_put_innerText(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_innerText(This,v);
}
static inline HRESULT IHTMLElement_get_innerText(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_innerText(This,p);
}
static inline HRESULT IHTMLElement_put_outerHTML(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_outerHTML(This,v);
}
static inline HRESULT IHTMLElement_get_outerHTML(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_outerHTML(This,p);
}
static inline HRESULT IHTMLElement_put_outerText(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_outerText(This,v);
}
static inline HRESULT IHTMLElement_get_outerText(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_outerText(This,p);
}
static inline HRESULT IHTMLElement_insertAdjacentHTML(IHTMLElement* This,BSTR where,BSTR html) {
    return This->lpVtbl->insertAdjacentHTML(This,where,html);
}
static inline HRESULT IHTMLElement_insertAdjacentText(IHTMLElement* This,BSTR where,BSTR text) {
    return This->lpVtbl->insertAdjacentText(This,where,text);
}
static inline HRESULT IHTMLElement_get_parentTextEdit(IHTMLElement* This,IHTMLElement **p) {
    return This->lpVtbl->get_parentTextEdit(This,p);
}
static inline HRESULT IHTMLElement_get_isTextEdit(IHTMLElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isTextEdit(This,p);
}
static inline HRESULT IHTMLElement_click(IHTMLElement* This) {
    return This->lpVtbl->click(This);
}
static inline HRESULT IHTMLElement_get_filters(IHTMLElement* This,IHTMLFiltersCollection **p) {
    return This->lpVtbl->get_filters(This,p);
}
static inline HRESULT IHTMLElement_put_ondragstart(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondragstart(This,v);
}
static inline HRESULT IHTMLElement_get_ondragstart(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondragstart(This,p);
}
static inline HRESULT IHTMLElement_toString(IHTMLElement* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static inline HRESULT IHTMLElement_put_onbeforeupdate(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeupdate(This,v);
}
static inline HRESULT IHTMLElement_get_onbeforeupdate(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeupdate(This,p);
}
static inline HRESULT IHTMLElement_put_onafterupdate(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onafterupdate(This,v);
}
static inline HRESULT IHTMLElement_get_onafterupdate(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onafterupdate(This,p);
}
static inline HRESULT IHTMLElement_put_onerrorupdate(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onerrorupdate(This,v);
}
static inline HRESULT IHTMLElement_get_onerrorupdate(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerrorupdate(This,p);
}
static inline HRESULT IHTMLElement_put_onrowexit(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onrowexit(This,v);
}
static inline HRESULT IHTMLElement_get_onrowexit(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onrowexit(This,p);
}
static inline HRESULT IHTMLElement_put_onrowenter(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onrowenter(This,v);
}
static inline HRESULT IHTMLElement_get_onrowenter(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onrowenter(This,p);
}
static inline HRESULT IHTMLElement_put_ondatasetchanged(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetchanged(This,v);
}
static inline HRESULT IHTMLElement_get_ondatasetchanged(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetchanged(This,p);
}
static inline HRESULT IHTMLElement_put_ondataavailable(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondataavailable(This,v);
}
static inline HRESULT IHTMLElement_get_ondataavailable(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondataavailable(This,p);
}
static inline HRESULT IHTMLElement_put_ondatasetcomplete(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetcomplete(This,v);
}
static inline HRESULT IHTMLElement_get_ondatasetcomplete(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetcomplete(This,p);
}
static inline HRESULT IHTMLElement_put_onfilterchange(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onfilterchange(This,v);
}
static inline HRESULT IHTMLElement_get_onfilterchange(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfilterchange(This,p);
}
static inline HRESULT IHTMLElement_get_children(IHTMLElement* This,IDispatch **p) {
    return This->lpVtbl->get_children(This,p);
}
static inline HRESULT IHTMLElement_get_all(IHTMLElement* This,IDispatch **p) {
    return This->lpVtbl->get_all(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElement2 interface
 */
#ifndef __IHTMLElement2_INTERFACE_DEFINED__
#define __IHTMLElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElement2, 0x3050f434, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f434-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_scopeName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setCapture(
        VARIANT_BOOL containerCapture = -1) = 0;

    virtual HRESULT STDMETHODCALLTYPE releaseCapture(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onlosecapture(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onlosecapture(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE componentFromPoint(
        LONG x,
        LONG y,
        BSTR *component) = 0;

    virtual HRESULT STDMETHODCALLTYPE doScroll(
        VARIANT component) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onscroll(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onscroll(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondrag(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondrag(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragenter(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragenter(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragleave(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragleave(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondrop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondrop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforecut(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforecut(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncut(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncut(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforecopy(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforecopy(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncopy(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncopy(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforepaste(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforepaste(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpaste(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpaste(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentStyle(
        IHTMLCurrentStyle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpropertychange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpropertychange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getClientRects(
        IHTMLRectCollection **pRectCol) = 0;

    virtual HRESULT STDMETHODCALLTYPE getBoundingClientRect(
        IHTMLRect **pRect) = 0;

    virtual HRESULT STDMETHODCALLTYPE setExpression(
        BSTR propname,
        BSTR expression,
        BSTR language = L"") = 0;

    virtual HRESULT STDMETHODCALLTYPE getExpression(
        BSTR propname,
        VARIANT *expression) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeExpression(
        BSTR propname,
        VARIANT_BOOL *pfSuccess) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_tabIndex(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tabIndex(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE focus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accessKey(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accessKey(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onblur(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onblur(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onresize(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onresize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE blur(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE addFilter(
        IUnknown *pUnk) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeFilter(
        IUnknown *pUnk) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE attachEvent(
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE detachEvent(
        BSTR event,
        IDispatch *pDisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowsdelete(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowsdelete(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowsinserted(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowsinserted(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncellchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncellchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dir(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dir(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createControlRange(
        IDispatch **range) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollTop(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollLeft(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearAttributes(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE mergeAttributes(
        IHTMLElement *mergeThis) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncontextmenu(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncontextmenu(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertAdjacentElement(
        BSTR where,
        IHTMLElement *insertedElement,
        IHTMLElement **inserted) = 0;

    virtual HRESULT STDMETHODCALLTYPE applyElement(
        IHTMLElement *apply,
        BSTR where,
        IHTMLElement **applied) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAdjacentText(
        BSTR where,
        BSTR *text) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceAdjacentText(
        BSTR where,
        BSTR newText,
        BSTR *oldText) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_canHaveChildren(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE addBehavior(
        BSTR bstrUrl,
        VARIANT *pvarFactory,
        LONG *pCookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeBehavior(
        LONG cookie,
        VARIANT_BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_runtimeStyle(
        IHTMLStyle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behaviorUrns(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_tagUrn(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tagUrn(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeeditfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeeditfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyStateValue(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
        BSTR v,
        IHTMLElementCollection **pelColl) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElement2, 0x3050f434, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_scopeName)(
        IHTMLElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *setCapture)(
        IHTMLElement2 *This,
        VARIANT_BOOL containerCapture);

    HRESULT (STDMETHODCALLTYPE *releaseCapture)(
        IHTMLElement2 *This);

    HRESULT (STDMETHODCALLTYPE *put_onlosecapture)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onlosecapture)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *componentFromPoint)(
        IHTMLElement2 *This,
        LONG x,
        LONG y,
        BSTR *component);

    HRESULT (STDMETHODCALLTYPE *doScroll)(
        IHTMLElement2 *This,
        VARIANT component);

    HRESULT (STDMETHODCALLTYPE *put_onscroll)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onscroll)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondrag)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondrag)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragend)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragend)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragenter)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragenter)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragover)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragover)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragleave)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragleave)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondrop)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondrop)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforecut)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforecut)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncut)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncut)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforecopy)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforecopy)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncopy)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncopy)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforepaste)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforepaste)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onpaste)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpaste)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_currentStyle)(
        IHTMLElement2 *This,
        IHTMLCurrentStyle **p);

    HRESULT (STDMETHODCALLTYPE *put_onpropertychange)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpropertychange)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *getClientRects)(
        IHTMLElement2 *This,
        IHTMLRectCollection **pRectCol);

    HRESULT (STDMETHODCALLTYPE *getBoundingClientRect)(
        IHTMLElement2 *This,
        IHTMLRect **pRect);

    HRESULT (STDMETHODCALLTYPE *setExpression)(
        IHTMLElement2 *This,
        BSTR propname,
        BSTR expression,
        BSTR language);

    HRESULT (STDMETHODCALLTYPE *getExpression)(
        IHTMLElement2 *This,
        BSTR propname,
        VARIANT *expression);

    HRESULT (STDMETHODCALLTYPE *removeExpression)(
        IHTMLElement2 *This,
        BSTR propname,
        VARIANT_BOOL *pfSuccess);

    HRESULT (STDMETHODCALLTYPE *put_tabIndex)(
        IHTMLElement2 *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_tabIndex)(
        IHTMLElement2 *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *focus)(
        IHTMLElement2 *This);

    HRESULT (STDMETHODCALLTYPE *put_accessKey)(
        IHTMLElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accessKey)(
        IHTMLElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onblur)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onblur)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocus)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocus)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onresize)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onresize)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *blur)(
        IHTMLElement2 *This);

    HRESULT (STDMETHODCALLTYPE *addFilter)(
        IHTMLElement2 *This,
        IUnknown *pUnk);

    HRESULT (STDMETHODCALLTYPE *removeFilter)(
        IHTMLElement2 *This,
        IUnknown *pUnk);

    HRESULT (STDMETHODCALLTYPE *get_clientHeight)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientWidth)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientTop)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientLeft)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *attachEvent)(
        IHTMLElement2 *This,
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *detachEvent)(
        IHTMLElement2 *This,
        BSTR event,
        IDispatch *pDisp);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onrowsdelete)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowsdelete)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onrowsinserted)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowsinserted)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncellchange)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncellchange)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_dir)(
        IHTMLElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dir)(
        IHTMLElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *createControlRange)(
        IHTMLElement2 *This,
        IDispatch **range);

    HRESULT (STDMETHODCALLTYPE *get_scrollHeight)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollWidth)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollTop)(
        IHTMLElement2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollTop)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollLeft)(
        IHTMLElement2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollLeft)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *clearAttributes)(
        IHTMLElement2 *This);

    HRESULT (STDMETHODCALLTYPE *mergeAttributes)(
        IHTMLElement2 *This,
        IHTMLElement *mergeThis);

    HRESULT (STDMETHODCALLTYPE *put_oncontextmenu)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncontextmenu)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *insertAdjacentElement)(
        IHTMLElement2 *This,
        BSTR where,
        IHTMLElement *insertedElement,
        IHTMLElement **inserted);

    HRESULT (STDMETHODCALLTYPE *applyElement)(
        IHTMLElement2 *This,
        IHTMLElement *apply,
        BSTR where,
        IHTMLElement **applied);

    HRESULT (STDMETHODCALLTYPE *getAdjacentText)(
        IHTMLElement2 *This,
        BSTR where,
        BSTR *text);

    HRESULT (STDMETHODCALLTYPE *replaceAdjacentText)(
        IHTMLElement2 *This,
        BSTR where,
        BSTR newText,
        BSTR *oldText);

    HRESULT (STDMETHODCALLTYPE *get_canHaveChildren)(
        IHTMLElement2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *addBehavior)(
        IHTMLElement2 *This,
        BSTR bstrUrl,
        VARIANT *pvarFactory,
        LONG *pCookie);

    HRESULT (STDMETHODCALLTYPE *removeBehavior)(
        IHTMLElement2 *This,
        LONG cookie,
        VARIANT_BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *get_runtimeStyle)(
        IHTMLElement2 *This,
        IHTMLStyle **p);

    HRESULT (STDMETHODCALLTYPE *get_behaviorUrns)(
        IHTMLElement2 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_tagUrn)(
        IHTMLElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_tagUrn)(
        IHTMLElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeeditfocus)(
        IHTMLElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeeditfocus)(
        IHTMLElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_readyStateValue)(
        IHTMLElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *getElementsByTagName)(
        IHTMLElement2 *This,
        BSTR v,
        IHTMLElementCollection **pelColl);

    END_INTERFACE
} IHTMLElement2Vtbl;

interface IHTMLElement2 {
    CONST_VTBL IHTMLElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElement2 methods ***/
#define IHTMLElement2_get_scopeName(This,p) (This)->lpVtbl->get_scopeName(This,p)
#define IHTMLElement2_setCapture(This,containerCapture) (This)->lpVtbl->setCapture(This,containerCapture)
#define IHTMLElement2_releaseCapture(This) (This)->lpVtbl->releaseCapture(This)
#define IHTMLElement2_put_onlosecapture(This,v) (This)->lpVtbl->put_onlosecapture(This,v)
#define IHTMLElement2_get_onlosecapture(This,p) (This)->lpVtbl->get_onlosecapture(This,p)
#define IHTMLElement2_componentFromPoint(This,x,y,component) (This)->lpVtbl->componentFromPoint(This,x,y,component)
#define IHTMLElement2_doScroll(This,component) (This)->lpVtbl->doScroll(This,component)
#define IHTMLElement2_put_onscroll(This,v) (This)->lpVtbl->put_onscroll(This,v)
#define IHTMLElement2_get_onscroll(This,p) (This)->lpVtbl->get_onscroll(This,p)
#define IHTMLElement2_put_ondrag(This,v) (This)->lpVtbl->put_ondrag(This,v)
#define IHTMLElement2_get_ondrag(This,p) (This)->lpVtbl->get_ondrag(This,p)
#define IHTMLElement2_put_ondragend(This,v) (This)->lpVtbl->put_ondragend(This,v)
#define IHTMLElement2_get_ondragend(This,p) (This)->lpVtbl->get_ondragend(This,p)
#define IHTMLElement2_put_ondragenter(This,v) (This)->lpVtbl->put_ondragenter(This,v)
#define IHTMLElement2_get_ondragenter(This,p) (This)->lpVtbl->get_ondragenter(This,p)
#define IHTMLElement2_put_ondragover(This,v) (This)->lpVtbl->put_ondragover(This,v)
#define IHTMLElement2_get_ondragover(This,p) (This)->lpVtbl->get_ondragover(This,p)
#define IHTMLElement2_put_ondragleave(This,v) (This)->lpVtbl->put_ondragleave(This,v)
#define IHTMLElement2_get_ondragleave(This,p) (This)->lpVtbl->get_ondragleave(This,p)
#define IHTMLElement2_put_ondrop(This,v) (This)->lpVtbl->put_ondrop(This,v)
#define IHTMLElement2_get_ondrop(This,p) (This)->lpVtbl->get_ondrop(This,p)
#define IHTMLElement2_put_onbeforecut(This,v) (This)->lpVtbl->put_onbeforecut(This,v)
#define IHTMLElement2_get_onbeforecut(This,p) (This)->lpVtbl->get_onbeforecut(This,p)
#define IHTMLElement2_put_oncut(This,v) (This)->lpVtbl->put_oncut(This,v)
#define IHTMLElement2_get_oncut(This,p) (This)->lpVtbl->get_oncut(This,p)
#define IHTMLElement2_put_onbeforecopy(This,v) (This)->lpVtbl->put_onbeforecopy(This,v)
#define IHTMLElement2_get_onbeforecopy(This,p) (This)->lpVtbl->get_onbeforecopy(This,p)
#define IHTMLElement2_put_oncopy(This,v) (This)->lpVtbl->put_oncopy(This,v)
#define IHTMLElement2_get_oncopy(This,p) (This)->lpVtbl->get_oncopy(This,p)
#define IHTMLElement2_put_onbeforepaste(This,v) (This)->lpVtbl->put_onbeforepaste(This,v)
#define IHTMLElement2_get_onbeforepaste(This,p) (This)->lpVtbl->get_onbeforepaste(This,p)
#define IHTMLElement2_put_onpaste(This,v) (This)->lpVtbl->put_onpaste(This,v)
#define IHTMLElement2_get_onpaste(This,p) (This)->lpVtbl->get_onpaste(This,p)
#define IHTMLElement2_get_currentStyle(This,p) (This)->lpVtbl->get_currentStyle(This,p)
#define IHTMLElement2_put_onpropertychange(This,v) (This)->lpVtbl->put_onpropertychange(This,v)
#define IHTMLElement2_get_onpropertychange(This,p) (This)->lpVtbl->get_onpropertychange(This,p)
#define IHTMLElement2_getClientRects(This,pRectCol) (This)->lpVtbl->getClientRects(This,pRectCol)
#define IHTMLElement2_getBoundingClientRect(This,pRect) (This)->lpVtbl->getBoundingClientRect(This,pRect)
#define IHTMLElement2_setExpression(This,propname,expression,language) (This)->lpVtbl->setExpression(This,propname,expression,language)
#define IHTMLElement2_getExpression(This,propname,expression) (This)->lpVtbl->getExpression(This,propname,expression)
#define IHTMLElement2_removeExpression(This,propname,pfSuccess) (This)->lpVtbl->removeExpression(This,propname,pfSuccess)
#define IHTMLElement2_put_tabIndex(This,v) (This)->lpVtbl->put_tabIndex(This,v)
#define IHTMLElement2_get_tabIndex(This,p) (This)->lpVtbl->get_tabIndex(This,p)
#define IHTMLElement2_focus(This) (This)->lpVtbl->focus(This)
#define IHTMLElement2_put_accessKey(This,v) (This)->lpVtbl->put_accessKey(This,v)
#define IHTMLElement2_get_accessKey(This,p) (This)->lpVtbl->get_accessKey(This,p)
#define IHTMLElement2_put_onblur(This,v) (This)->lpVtbl->put_onblur(This,v)
#define IHTMLElement2_get_onblur(This,p) (This)->lpVtbl->get_onblur(This,p)
#define IHTMLElement2_put_onfocus(This,v) (This)->lpVtbl->put_onfocus(This,v)
#define IHTMLElement2_get_onfocus(This,p) (This)->lpVtbl->get_onfocus(This,p)
#define IHTMLElement2_put_onresize(This,v) (This)->lpVtbl->put_onresize(This,v)
#define IHTMLElement2_get_onresize(This,p) (This)->lpVtbl->get_onresize(This,p)
#define IHTMLElement2_blur(This) (This)->lpVtbl->blur(This)
#define IHTMLElement2_addFilter(This,pUnk) (This)->lpVtbl->addFilter(This,pUnk)
#define IHTMLElement2_removeFilter(This,pUnk) (This)->lpVtbl->removeFilter(This,pUnk)
#define IHTMLElement2_get_clientHeight(This,p) (This)->lpVtbl->get_clientHeight(This,p)
#define IHTMLElement2_get_clientWidth(This,p) (This)->lpVtbl->get_clientWidth(This,p)
#define IHTMLElement2_get_clientTop(This,p) (This)->lpVtbl->get_clientTop(This,p)
#define IHTMLElement2_get_clientLeft(This,p) (This)->lpVtbl->get_clientLeft(This,p)
#define IHTMLElement2_attachEvent(This,event,pDisp,pfResult) (This)->lpVtbl->attachEvent(This,event,pDisp,pfResult)
#define IHTMLElement2_detachEvent(This,event,pDisp) (This)->lpVtbl->detachEvent(This,event,pDisp)
#define IHTMLElement2_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLElement2_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLElement2_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLElement2_put_onrowsdelete(This,v) (This)->lpVtbl->put_onrowsdelete(This,v)
#define IHTMLElement2_get_onrowsdelete(This,p) (This)->lpVtbl->get_onrowsdelete(This,p)
#define IHTMLElement2_put_onrowsinserted(This,v) (This)->lpVtbl->put_onrowsinserted(This,v)
#define IHTMLElement2_get_onrowsinserted(This,p) (This)->lpVtbl->get_onrowsinserted(This,p)
#define IHTMLElement2_put_oncellchange(This,v) (This)->lpVtbl->put_oncellchange(This,v)
#define IHTMLElement2_get_oncellchange(This,p) (This)->lpVtbl->get_oncellchange(This,p)
#define IHTMLElement2_put_dir(This,v) (This)->lpVtbl->put_dir(This,v)
#define IHTMLElement2_get_dir(This,p) (This)->lpVtbl->get_dir(This,p)
#define IHTMLElement2_createControlRange(This,range) (This)->lpVtbl->createControlRange(This,range)
#define IHTMLElement2_get_scrollHeight(This,p) (This)->lpVtbl->get_scrollHeight(This,p)
#define IHTMLElement2_get_scrollWidth(This,p) (This)->lpVtbl->get_scrollWidth(This,p)
#define IHTMLElement2_put_scrollTop(This,v) (This)->lpVtbl->put_scrollTop(This,v)
#define IHTMLElement2_get_scrollTop(This,p) (This)->lpVtbl->get_scrollTop(This,p)
#define IHTMLElement2_put_scrollLeft(This,v) (This)->lpVtbl->put_scrollLeft(This,v)
#define IHTMLElement2_get_scrollLeft(This,p) (This)->lpVtbl->get_scrollLeft(This,p)
#define IHTMLElement2_clearAttributes(This) (This)->lpVtbl->clearAttributes(This)
#define IHTMLElement2_mergeAttributes(This,mergeThis) (This)->lpVtbl->mergeAttributes(This,mergeThis)
#define IHTMLElement2_put_oncontextmenu(This,v) (This)->lpVtbl->put_oncontextmenu(This,v)
#define IHTMLElement2_get_oncontextmenu(This,p) (This)->lpVtbl->get_oncontextmenu(This,p)
#define IHTMLElement2_insertAdjacentElement(This,where,insertedElement,inserted) (This)->lpVtbl->insertAdjacentElement(This,where,insertedElement,inserted)
#define IHTMLElement2_applyElement(This,apply,where,applied) (This)->lpVtbl->applyElement(This,apply,where,applied)
#define IHTMLElement2_getAdjacentText(This,where,text) (This)->lpVtbl->getAdjacentText(This,where,text)
#define IHTMLElement2_replaceAdjacentText(This,where,newText,oldText) (This)->lpVtbl->replaceAdjacentText(This,where,newText,oldText)
#define IHTMLElement2_get_canHaveChildren(This,p) (This)->lpVtbl->get_canHaveChildren(This,p)
#define IHTMLElement2_addBehavior(This,bstrUrl,pvarFactory,pCookie) (This)->lpVtbl->addBehavior(This,bstrUrl,pvarFactory,pCookie)
#define IHTMLElement2_removeBehavior(This,cookie,pfResult) (This)->lpVtbl->removeBehavior(This,cookie,pfResult)
#define IHTMLElement2_get_runtimeStyle(This,p) (This)->lpVtbl->get_runtimeStyle(This,p)
#define IHTMLElement2_get_behaviorUrns(This,p) (This)->lpVtbl->get_behaviorUrns(This,p)
#define IHTMLElement2_put_tagUrn(This,v) (This)->lpVtbl->put_tagUrn(This,v)
#define IHTMLElement2_get_tagUrn(This,p) (This)->lpVtbl->get_tagUrn(This,p)
#define IHTMLElement2_put_onbeforeeditfocus(This,v) (This)->lpVtbl->put_onbeforeeditfocus(This,v)
#define IHTMLElement2_get_onbeforeeditfocus(This,p) (This)->lpVtbl->get_onbeforeeditfocus(This,p)
#define IHTMLElement2_get_readyStateValue(This,p) (This)->lpVtbl->get_readyStateValue(This,p)
#define IHTMLElement2_getElementsByTagName(This,v,pelColl) (This)->lpVtbl->getElementsByTagName(This,v,pelColl)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElement2_QueryInterface(IHTMLElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElement2_AddRef(IHTMLElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElement2_Release(IHTMLElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElement2_GetTypeInfoCount(IHTMLElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElement2_GetTypeInfo(IHTMLElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElement2_GetIDsOfNames(IHTMLElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElement2_Invoke(IHTMLElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElement2 methods ***/
static inline HRESULT IHTMLElement2_get_scopeName(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_scopeName(This,p);
}
static inline HRESULT IHTMLElement2_setCapture(IHTMLElement2* This,VARIANT_BOOL containerCapture) {
    return This->lpVtbl->setCapture(This,containerCapture);
}
static inline HRESULT IHTMLElement2_releaseCapture(IHTMLElement2* This) {
    return This->lpVtbl->releaseCapture(This);
}
static inline HRESULT IHTMLElement2_put_onlosecapture(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onlosecapture(This,v);
}
static inline HRESULT IHTMLElement2_get_onlosecapture(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onlosecapture(This,p);
}
static inline HRESULT IHTMLElement2_componentFromPoint(IHTMLElement2* This,LONG x,LONG y,BSTR *component) {
    return This->lpVtbl->componentFromPoint(This,x,y,component);
}
static inline HRESULT IHTMLElement2_doScroll(IHTMLElement2* This,VARIANT component) {
    return This->lpVtbl->doScroll(This,component);
}
static inline HRESULT IHTMLElement2_put_onscroll(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static inline HRESULT IHTMLElement2_get_onscroll(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
static inline HRESULT IHTMLElement2_put_ondrag(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondrag(This,v);
}
static inline HRESULT IHTMLElement2_get_ondrag(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondrag(This,p);
}
static inline HRESULT IHTMLElement2_put_ondragend(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragend(This,v);
}
static inline HRESULT IHTMLElement2_get_ondragend(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragend(This,p);
}
static inline HRESULT IHTMLElement2_put_ondragenter(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragenter(This,v);
}
static inline HRESULT IHTMLElement2_get_ondragenter(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragenter(This,p);
}
static inline HRESULT IHTMLElement2_put_ondragover(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragover(This,v);
}
static inline HRESULT IHTMLElement2_get_ondragover(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragover(This,p);
}
static inline HRESULT IHTMLElement2_put_ondragleave(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragleave(This,v);
}
static inline HRESULT IHTMLElement2_get_ondragleave(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragleave(This,p);
}
static inline HRESULT IHTMLElement2_put_ondrop(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondrop(This,v);
}
static inline HRESULT IHTMLElement2_get_ondrop(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondrop(This,p);
}
static inline HRESULT IHTMLElement2_put_onbeforecut(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforecut(This,v);
}
static inline HRESULT IHTMLElement2_get_onbeforecut(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforecut(This,p);
}
static inline HRESULT IHTMLElement2_put_oncut(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncut(This,v);
}
static inline HRESULT IHTMLElement2_get_oncut(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncut(This,p);
}
static inline HRESULT IHTMLElement2_put_onbeforecopy(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforecopy(This,v);
}
static inline HRESULT IHTMLElement2_get_onbeforecopy(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforecopy(This,p);
}
static inline HRESULT IHTMLElement2_put_oncopy(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncopy(This,v);
}
static inline HRESULT IHTMLElement2_get_oncopy(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncopy(This,p);
}
static inline HRESULT IHTMLElement2_put_onbeforepaste(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforepaste(This,v);
}
static inline HRESULT IHTMLElement2_get_onbeforepaste(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforepaste(This,p);
}
static inline HRESULT IHTMLElement2_put_onpaste(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onpaste(This,v);
}
static inline HRESULT IHTMLElement2_get_onpaste(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onpaste(This,p);
}
static inline HRESULT IHTMLElement2_get_currentStyle(IHTMLElement2* This,IHTMLCurrentStyle **p) {
    return This->lpVtbl->get_currentStyle(This,p);
}
static inline HRESULT IHTMLElement2_put_onpropertychange(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onpropertychange(This,v);
}
static inline HRESULT IHTMLElement2_get_onpropertychange(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onpropertychange(This,p);
}
static inline HRESULT IHTMLElement2_getClientRects(IHTMLElement2* This,IHTMLRectCollection **pRectCol) {
    return This->lpVtbl->getClientRects(This,pRectCol);
}
static inline HRESULT IHTMLElement2_getBoundingClientRect(IHTMLElement2* This,IHTMLRect **pRect) {
    return This->lpVtbl->getBoundingClientRect(This,pRect);
}
static inline HRESULT IHTMLElement2_setExpression(IHTMLElement2* This,BSTR propname,BSTR expression,BSTR language) {
    return This->lpVtbl->setExpression(This,propname,expression,language);
}
static inline HRESULT IHTMLElement2_getExpression(IHTMLElement2* This,BSTR propname,VARIANT *expression) {
    return This->lpVtbl->getExpression(This,propname,expression);
}
static inline HRESULT IHTMLElement2_removeExpression(IHTMLElement2* This,BSTR propname,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeExpression(This,propname,pfSuccess);
}
static inline HRESULT IHTMLElement2_put_tabIndex(IHTMLElement2* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static inline HRESULT IHTMLElement2_get_tabIndex(IHTMLElement2* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static inline HRESULT IHTMLElement2_focus(IHTMLElement2* This) {
    return This->lpVtbl->focus(This);
}
static inline HRESULT IHTMLElement2_put_accessKey(IHTMLElement2* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static inline HRESULT IHTMLElement2_get_accessKey(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_accessKey(This,p);
}
static inline HRESULT IHTMLElement2_put_onblur(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static inline HRESULT IHTMLElement2_get_onblur(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static inline HRESULT IHTMLElement2_put_onfocus(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static inline HRESULT IHTMLElement2_get_onfocus(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static inline HRESULT IHTMLElement2_put_onresize(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onresize(This,v);
}
static inline HRESULT IHTMLElement2_get_onresize(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onresize(This,p);
}
static inline HRESULT IHTMLElement2_blur(IHTMLElement2* This) {
    return This->lpVtbl->blur(This);
}
static inline HRESULT IHTMLElement2_addFilter(IHTMLElement2* This,IUnknown *pUnk) {
    return This->lpVtbl->addFilter(This,pUnk);
}
static inline HRESULT IHTMLElement2_removeFilter(IHTMLElement2* This,IUnknown *pUnk) {
    return This->lpVtbl->removeFilter(This,pUnk);
}
static inline HRESULT IHTMLElement2_get_clientHeight(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientHeight(This,p);
}
static inline HRESULT IHTMLElement2_get_clientWidth(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientWidth(This,p);
}
static inline HRESULT IHTMLElement2_get_clientTop(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientTop(This,p);
}
static inline HRESULT IHTMLElement2_get_clientLeft(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientLeft(This,p);
}
static inline HRESULT IHTMLElement2_attachEvent(IHTMLElement2* This,BSTR event,IDispatch *pDisp,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->attachEvent(This,event,pDisp,pfResult);
}
static inline HRESULT IHTMLElement2_detachEvent(IHTMLElement2* This,BSTR event,IDispatch *pDisp) {
    return This->lpVtbl->detachEvent(This,event,pDisp);
}
static inline HRESULT IHTMLElement2_get_readyState(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLElement2_put_onreadystatechange(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLElement2_get_onreadystatechange(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLElement2_put_onrowsdelete(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onrowsdelete(This,v);
}
static inline HRESULT IHTMLElement2_get_onrowsdelete(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsdelete(This,p);
}
static inline HRESULT IHTMLElement2_put_onrowsinserted(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onrowsinserted(This,v);
}
static inline HRESULT IHTMLElement2_get_onrowsinserted(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsinserted(This,p);
}
static inline HRESULT IHTMLElement2_put_oncellchange(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncellchange(This,v);
}
static inline HRESULT IHTMLElement2_get_oncellchange(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncellchange(This,p);
}
static inline HRESULT IHTMLElement2_put_dir(IHTMLElement2* This,BSTR v) {
    return This->lpVtbl->put_dir(This,v);
}
static inline HRESULT IHTMLElement2_get_dir(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_dir(This,p);
}
static inline HRESULT IHTMLElement2_createControlRange(IHTMLElement2* This,IDispatch **range) {
    return This->lpVtbl->createControlRange(This,range);
}
static inline HRESULT IHTMLElement2_get_scrollHeight(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollHeight(This,p);
}
static inline HRESULT IHTMLElement2_get_scrollWidth(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollWidth(This,p);
}
static inline HRESULT IHTMLElement2_put_scrollTop(IHTMLElement2* This,LONG v) {
    return This->lpVtbl->put_scrollTop(This,v);
}
static inline HRESULT IHTMLElement2_get_scrollTop(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollTop(This,p);
}
static inline HRESULT IHTMLElement2_put_scrollLeft(IHTMLElement2* This,LONG v) {
    return This->lpVtbl->put_scrollLeft(This,v);
}
static inline HRESULT IHTMLElement2_get_scrollLeft(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollLeft(This,p);
}
static inline HRESULT IHTMLElement2_clearAttributes(IHTMLElement2* This) {
    return This->lpVtbl->clearAttributes(This);
}
static inline HRESULT IHTMLElement2_mergeAttributes(IHTMLElement2* This,IHTMLElement *mergeThis) {
    return This->lpVtbl->mergeAttributes(This,mergeThis);
}
static inline HRESULT IHTMLElement2_put_oncontextmenu(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncontextmenu(This,v);
}
static inline HRESULT IHTMLElement2_get_oncontextmenu(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncontextmenu(This,p);
}
static inline HRESULT IHTMLElement2_insertAdjacentElement(IHTMLElement2* This,BSTR where,IHTMLElement *insertedElement,IHTMLElement **inserted) {
    return This->lpVtbl->insertAdjacentElement(This,where,insertedElement,inserted);
}
static inline HRESULT IHTMLElement2_applyElement(IHTMLElement2* This,IHTMLElement *apply,BSTR where,IHTMLElement **applied) {
    return This->lpVtbl->applyElement(This,apply,where,applied);
}
static inline HRESULT IHTMLElement2_getAdjacentText(IHTMLElement2* This,BSTR where,BSTR *text) {
    return This->lpVtbl->getAdjacentText(This,where,text);
}
static inline HRESULT IHTMLElement2_replaceAdjacentText(IHTMLElement2* This,BSTR where,BSTR newText,BSTR *oldText) {
    return This->lpVtbl->replaceAdjacentText(This,where,newText,oldText);
}
static inline HRESULT IHTMLElement2_get_canHaveChildren(IHTMLElement2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_canHaveChildren(This,p);
}
static inline HRESULT IHTMLElement2_addBehavior(IHTMLElement2* This,BSTR bstrUrl,VARIANT *pvarFactory,LONG *pCookie) {
    return This->lpVtbl->addBehavior(This,bstrUrl,pvarFactory,pCookie);
}
static inline HRESULT IHTMLElement2_removeBehavior(IHTMLElement2* This,LONG cookie,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->removeBehavior(This,cookie,pfResult);
}
static inline HRESULT IHTMLElement2_get_runtimeStyle(IHTMLElement2* This,IHTMLStyle **p) {
    return This->lpVtbl->get_runtimeStyle(This,p);
}
static inline HRESULT IHTMLElement2_get_behaviorUrns(IHTMLElement2* This,IDispatch **p) {
    return This->lpVtbl->get_behaviorUrns(This,p);
}
static inline HRESULT IHTMLElement2_put_tagUrn(IHTMLElement2* This,BSTR v) {
    return This->lpVtbl->put_tagUrn(This,v);
}
static inline HRESULT IHTMLElement2_get_tagUrn(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_tagUrn(This,p);
}
static inline HRESULT IHTMLElement2_put_onbeforeeditfocus(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeeditfocus(This,v);
}
static inline HRESULT IHTMLElement2_get_onbeforeeditfocus(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeeditfocus(This,p);
}
static inline HRESULT IHTMLElement2_get_readyStateValue(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_readyStateValue(This,p);
}
static inline HRESULT IHTMLElement2_getElementsByTagName(IHTMLElement2* This,BSTR v,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByTagName(This,v,pelColl);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElement3 interface
 */
#ifndef __IHTMLElement3_INTERFACE_DEFINED__
#define __IHTMLElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElement3, 0x3050f673, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f673-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE mergeAttributes(
        IHTMLElement *mergeThis,
        VARIANT *pvarFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isMultiLine(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_canHaveHTML(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onlayoutcomplete(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onlayoutcomplete(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpage(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_inflateBlock(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_inflateBlock(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforedeactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforedeactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setActive(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_contentEditable(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_contentEditable(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isContentEditable(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hideFocus(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hideFocus(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isDisabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmove(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmove(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncontrolselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncontrolselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE fireEvent(
        BSTR bstrEventName,
        VARIANT *pvarEventObject,
        VARIANT_BOOL *pfCancelled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onresizestart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onresizestart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onresizeend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onresizeend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmovestart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmovestart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmoveend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmoveend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseenter(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseenter(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseleave(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseleave(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondeactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondeactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE dragDrop(
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_glyphMode(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElement3, 0x3050f673, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *mergeAttributes)(
        IHTMLElement3 *This,
        IHTMLElement *mergeThis,
        VARIANT *pvarFlags);

    HRESULT (STDMETHODCALLTYPE *get_isMultiLine)(
        IHTMLElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_canHaveHTML)(
        IHTMLElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_onlayoutcomplete)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onlayoutcomplete)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onpage)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpage)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_inflateBlock)(
        IHTMLElement3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_inflateBlock)(
        IHTMLElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforedeactivate)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforedeactivate)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *setActive)(
        IHTMLElement3 *This);

    HRESULT (STDMETHODCALLTYPE *put_contentEditable)(
        IHTMLElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_contentEditable)(
        IHTMLElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_isContentEditable)(
        IHTMLElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_hideFocus)(
        IHTMLElement3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_hideFocus)(
        IHTMLElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLElement3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_isDisabled)(
        IHTMLElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_onmove)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmove)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncontrolselect)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncontrolselect)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *fireEvent)(
        IHTMLElement3 *This,
        BSTR bstrEventName,
        VARIANT *pvarEventObject,
        VARIANT_BOOL *pfCancelled);

    HRESULT (STDMETHODCALLTYPE *put_onresizestart)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onresizestart)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onresizeend)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onresizeend)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmovestart)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmovestart)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmoveend)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmoveend)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseenter)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseenter)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseleave)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseleave)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onactivate)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onactivate)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondeactivate)(
        IHTMLElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondeactivate)(
        IHTMLElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *dragDrop)(
        IHTMLElement3 *This,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *get_glyphMode)(
        IHTMLElement3 *This,
        LONG *p);

    END_INTERFACE
} IHTMLElement3Vtbl;

interface IHTMLElement3 {
    CONST_VTBL IHTMLElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElement3 methods ***/
#define IHTMLElement3_mergeAttributes(This,mergeThis,pvarFlags) (This)->lpVtbl->mergeAttributes(This,mergeThis,pvarFlags)
#define IHTMLElement3_get_isMultiLine(This,p) (This)->lpVtbl->get_isMultiLine(This,p)
#define IHTMLElement3_get_canHaveHTML(This,p) (This)->lpVtbl->get_canHaveHTML(This,p)
#define IHTMLElement3_put_onlayoutcomplete(This,v) (This)->lpVtbl->put_onlayoutcomplete(This,v)
#define IHTMLElement3_get_onlayoutcomplete(This,p) (This)->lpVtbl->get_onlayoutcomplete(This,p)
#define IHTMLElement3_put_onpage(This,v) (This)->lpVtbl->put_onpage(This,v)
#define IHTMLElement3_get_onpage(This,p) (This)->lpVtbl->get_onpage(This,p)
#define IHTMLElement3_put_inflateBlock(This,v) (This)->lpVtbl->put_inflateBlock(This,v)
#define IHTMLElement3_get_inflateBlock(This,p) (This)->lpVtbl->get_inflateBlock(This,p)
#define IHTMLElement3_put_onbeforedeactivate(This,v) (This)->lpVtbl->put_onbeforedeactivate(This,v)
#define IHTMLElement3_get_onbeforedeactivate(This,p) (This)->lpVtbl->get_onbeforedeactivate(This,p)
#define IHTMLElement3_setActive(This) (This)->lpVtbl->setActive(This)
#define IHTMLElement3_put_contentEditable(This,v) (This)->lpVtbl->put_contentEditable(This,v)
#define IHTMLElement3_get_contentEditable(This,p) (This)->lpVtbl->get_contentEditable(This,p)
#define IHTMLElement3_get_isContentEditable(This,p) (This)->lpVtbl->get_isContentEditable(This,p)
#define IHTMLElement3_put_hideFocus(This,v) (This)->lpVtbl->put_hideFocus(This,v)
#define IHTMLElement3_get_hideFocus(This,p) (This)->lpVtbl->get_hideFocus(This,p)
#define IHTMLElement3_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLElement3_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLElement3_get_isDisabled(This,p) (This)->lpVtbl->get_isDisabled(This,p)
#define IHTMLElement3_put_onmove(This,v) (This)->lpVtbl->put_onmove(This,v)
#define IHTMLElement3_get_onmove(This,p) (This)->lpVtbl->get_onmove(This,p)
#define IHTMLElement3_put_oncontrolselect(This,v) (This)->lpVtbl->put_oncontrolselect(This,v)
#define IHTMLElement3_get_oncontrolselect(This,p) (This)->lpVtbl->get_oncontrolselect(This,p)
#define IHTMLElement3_fireEvent(This,bstrEventName,pvarEventObject,pfCancelled) (This)->lpVtbl->fireEvent(This,bstrEventName,pvarEventObject,pfCancelled)
#define IHTMLElement3_put_onresizestart(This,v) (This)->lpVtbl->put_onresizestart(This,v)
#define IHTMLElement3_get_onresizestart(This,p) (This)->lpVtbl->get_onresizestart(This,p)
#define IHTMLElement3_put_onresizeend(This,v) (This)->lpVtbl->put_onresizeend(This,v)
#define IHTMLElement3_get_onresizeend(This,p) (This)->lpVtbl->get_onresizeend(This,p)
#define IHTMLElement3_put_onmovestart(This,v) (This)->lpVtbl->put_onmovestart(This,v)
#define IHTMLElement3_get_onmovestart(This,p) (This)->lpVtbl->get_onmovestart(This,p)
#define IHTMLElement3_put_onmoveend(This,v) (This)->lpVtbl->put_onmoveend(This,v)
#define IHTMLElement3_get_onmoveend(This,p) (This)->lpVtbl->get_onmoveend(This,p)
#define IHTMLElement3_put_onmouseenter(This,v) (This)->lpVtbl->put_onmouseenter(This,v)
#define IHTMLElement3_get_onmouseenter(This,p) (This)->lpVtbl->get_onmouseenter(This,p)
#define IHTMLElement3_put_onmouseleave(This,v) (This)->lpVtbl->put_onmouseleave(This,v)
#define IHTMLElement3_get_onmouseleave(This,p) (This)->lpVtbl->get_onmouseleave(This,p)
#define IHTMLElement3_put_onactivate(This,v) (This)->lpVtbl->put_onactivate(This,v)
#define IHTMLElement3_get_onactivate(This,p) (This)->lpVtbl->get_onactivate(This,p)
#define IHTMLElement3_put_ondeactivate(This,v) (This)->lpVtbl->put_ondeactivate(This,v)
#define IHTMLElement3_get_ondeactivate(This,p) (This)->lpVtbl->get_ondeactivate(This,p)
#define IHTMLElement3_dragDrop(This,pfRet) (This)->lpVtbl->dragDrop(This,pfRet)
#define IHTMLElement3_get_glyphMode(This,p) (This)->lpVtbl->get_glyphMode(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElement3_QueryInterface(IHTMLElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElement3_AddRef(IHTMLElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElement3_Release(IHTMLElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElement3_GetTypeInfoCount(IHTMLElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElement3_GetTypeInfo(IHTMLElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElement3_GetIDsOfNames(IHTMLElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElement3_Invoke(IHTMLElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElement3 methods ***/
static inline HRESULT IHTMLElement3_mergeAttributes(IHTMLElement3* This,IHTMLElement *mergeThis,VARIANT *pvarFlags) {
    return This->lpVtbl->mergeAttributes(This,mergeThis,pvarFlags);
}
static inline HRESULT IHTMLElement3_get_isMultiLine(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isMultiLine(This,p);
}
static inline HRESULT IHTMLElement3_get_canHaveHTML(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_canHaveHTML(This,p);
}
static inline HRESULT IHTMLElement3_put_onlayoutcomplete(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onlayoutcomplete(This,v);
}
static inline HRESULT IHTMLElement3_get_onlayoutcomplete(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onlayoutcomplete(This,p);
}
static inline HRESULT IHTMLElement3_put_onpage(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onpage(This,v);
}
static inline HRESULT IHTMLElement3_get_onpage(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onpage(This,p);
}
static inline HRESULT IHTMLElement3_put_inflateBlock(IHTMLElement3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_inflateBlock(This,v);
}
static inline HRESULT IHTMLElement3_get_inflateBlock(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_inflateBlock(This,p);
}
static inline HRESULT IHTMLElement3_put_onbeforedeactivate(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onbeforedeactivate(This,v);
}
static inline HRESULT IHTMLElement3_get_onbeforedeactivate(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforedeactivate(This,p);
}
static inline HRESULT IHTMLElement3_setActive(IHTMLElement3* This) {
    return This->lpVtbl->setActive(This);
}
static inline HRESULT IHTMLElement3_put_contentEditable(IHTMLElement3* This,BSTR v) {
    return This->lpVtbl->put_contentEditable(This,v);
}
static inline HRESULT IHTMLElement3_get_contentEditable(IHTMLElement3* This,BSTR *p) {
    return This->lpVtbl->get_contentEditable(This,p);
}
static inline HRESULT IHTMLElement3_get_isContentEditable(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isContentEditable(This,p);
}
static inline HRESULT IHTMLElement3_put_hideFocus(IHTMLElement3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_hideFocus(This,v);
}
static inline HRESULT IHTMLElement3_get_hideFocus(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_hideFocus(This,p);
}
static inline HRESULT IHTMLElement3_put_disabled(IHTMLElement3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLElement3_get_disabled(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLElement3_get_isDisabled(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isDisabled(This,p);
}
static inline HRESULT IHTMLElement3_put_onmove(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmove(This,v);
}
static inline HRESULT IHTMLElement3_get_onmove(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmove(This,p);
}
static inline HRESULT IHTMLElement3_put_oncontrolselect(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_oncontrolselect(This,v);
}
static inline HRESULT IHTMLElement3_get_oncontrolselect(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_oncontrolselect(This,p);
}
static inline HRESULT IHTMLElement3_fireEvent(IHTMLElement3* This,BSTR bstrEventName,VARIANT *pvarEventObject,VARIANT_BOOL *pfCancelled) {
    return This->lpVtbl->fireEvent(This,bstrEventName,pvarEventObject,pfCancelled);
}
static inline HRESULT IHTMLElement3_put_onresizestart(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onresizestart(This,v);
}
static inline HRESULT IHTMLElement3_get_onresizestart(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onresizestart(This,p);
}
static inline HRESULT IHTMLElement3_put_onresizeend(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onresizeend(This,v);
}
static inline HRESULT IHTMLElement3_get_onresizeend(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onresizeend(This,p);
}
static inline HRESULT IHTMLElement3_put_onmovestart(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmovestart(This,v);
}
static inline HRESULT IHTMLElement3_get_onmovestart(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmovestart(This,p);
}
static inline HRESULT IHTMLElement3_put_onmoveend(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmoveend(This,v);
}
static inline HRESULT IHTMLElement3_get_onmoveend(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmoveend(This,p);
}
static inline HRESULT IHTMLElement3_put_onmouseenter(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmouseenter(This,v);
}
static inline HRESULT IHTMLElement3_get_onmouseenter(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseenter(This,p);
}
static inline HRESULT IHTMLElement3_put_onmouseleave(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmouseleave(This,v);
}
static inline HRESULT IHTMLElement3_get_onmouseleave(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseleave(This,p);
}
static inline HRESULT IHTMLElement3_put_onactivate(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onactivate(This,v);
}
static inline HRESULT IHTMLElement3_get_onactivate(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onactivate(This,p);
}
static inline HRESULT IHTMLElement3_put_ondeactivate(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_ondeactivate(This,v);
}
static inline HRESULT IHTMLElement3_get_ondeactivate(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_ondeactivate(This,p);
}
static inline HRESULT IHTMLElement3_dragDrop(IHTMLElement3* This,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->dragDrop(This,pfRet);
}
static inline HRESULT IHTMLElement3_get_glyphMode(IHTMLElement3* This,LONG *p) {
    return This->lpVtbl->get_glyphMode(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElement4 interface
 */
#ifndef __IHTMLElement4_INTERFACE_DEFINED__
#define __IHTMLElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElement4, 0x3050f80f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f80f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onmousewheel(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousewheel(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE normalize(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
        BSTR bstrname,
        IHTMLDOMAttribute **ppAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
        IHTMLDOMAttribute *pattr,
        IHTMLDOMAttribute **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
        IHTMLDOMAttribute *pattr,
        IHTMLDOMAttribute **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocusin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocusin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocusout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocusout(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElement4, 0x3050f80f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElement4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onmousewheel)(
        IHTMLElement4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousewheel)(
        IHTMLElement4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *normalize)(
        IHTMLElement4 *This);

    HRESULT (STDMETHODCALLTYPE *getAttributeNode)(
        IHTMLElement4 *This,
        BSTR bstrname,
        IHTMLDOMAttribute **ppAttribute);

    HRESULT (STDMETHODCALLTYPE *setAttributeNode)(
        IHTMLElement4 *This,
        IHTMLDOMAttribute *pattr,
        IHTMLDOMAttribute **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *removeAttributeNode)(
        IHTMLElement4 *This,
        IHTMLDOMAttribute *pattr,
        IHTMLDOMAttribute **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeactivate)(
        IHTMLElement4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeactivate)(
        IHTMLElement4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocusin)(
        IHTMLElement4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocusin)(
        IHTMLElement4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocusout)(
        IHTMLElement4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocusout)(
        IHTMLElement4 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLElement4Vtbl;

interface IHTMLElement4 {
    CONST_VTBL IHTMLElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElement4 methods ***/
#define IHTMLElement4_put_onmousewheel(This,v) (This)->lpVtbl->put_onmousewheel(This,v)
#define IHTMLElement4_get_onmousewheel(This,p) (This)->lpVtbl->get_onmousewheel(This,p)
#define IHTMLElement4_normalize(This) (This)->lpVtbl->normalize(This)
#define IHTMLElement4_getAttributeNode(This,bstrname,ppAttribute) (This)->lpVtbl->getAttributeNode(This,bstrname,ppAttribute)
#define IHTMLElement4_setAttributeNode(This,pattr,ppretAttribute) (This)->lpVtbl->setAttributeNode(This,pattr,ppretAttribute)
#define IHTMLElement4_removeAttributeNode(This,pattr,ppretAttribute) (This)->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute)
#define IHTMLElement4_put_onbeforeactivate(This,v) (This)->lpVtbl->put_onbeforeactivate(This,v)
#define IHTMLElement4_get_onbeforeactivate(This,p) (This)->lpVtbl->get_onbeforeactivate(This,p)
#define IHTMLElement4_put_onfocusin(This,v) (This)->lpVtbl->put_onfocusin(This,v)
#define IHTMLElement4_get_onfocusin(This,p) (This)->lpVtbl->get_onfocusin(This,p)
#define IHTMLElement4_put_onfocusout(This,v) (This)->lpVtbl->put_onfocusout(This,v)
#define IHTMLElement4_get_onfocusout(This,p) (This)->lpVtbl->get_onfocusout(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElement4_QueryInterface(IHTMLElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElement4_AddRef(IHTMLElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElement4_Release(IHTMLElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElement4_GetTypeInfoCount(IHTMLElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElement4_GetTypeInfo(IHTMLElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElement4_GetIDsOfNames(IHTMLElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElement4_Invoke(IHTMLElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElement4 methods ***/
static inline HRESULT IHTMLElement4_put_onmousewheel(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onmousewheel(This,v);
}
static inline HRESULT IHTMLElement4_get_onmousewheel(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onmousewheel(This,p);
}
static inline HRESULT IHTMLElement4_normalize(IHTMLElement4* This) {
    return This->lpVtbl->normalize(This);
}
static inline HRESULT IHTMLElement4_getAttributeNode(IHTMLElement4* This,BSTR bstrname,IHTMLDOMAttribute **ppAttribute) {
    return This->lpVtbl->getAttributeNode(This,bstrname,ppAttribute);
}
static inline HRESULT IHTMLElement4_setAttributeNode(IHTMLElement4* This,IHTMLDOMAttribute *pattr,IHTMLDOMAttribute **ppretAttribute) {
    return This->lpVtbl->setAttributeNode(This,pattr,ppretAttribute);
}
static inline HRESULT IHTMLElement4_removeAttributeNode(IHTMLElement4* This,IHTMLDOMAttribute *pattr,IHTMLDOMAttribute **ppretAttribute) {
    return This->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute);
}
static inline HRESULT IHTMLElement4_put_onbeforeactivate(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeactivate(This,v);
}
static inline HRESULT IHTMLElement4_get_onbeforeactivate(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeactivate(This,p);
}
static inline HRESULT IHTMLElement4_put_onfocusin(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onfocusin(This,v);
}
static inline HRESULT IHTMLElement4_get_onfocusin(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusin(This,p);
}
static inline HRESULT IHTMLElement4_put_onfocusout(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onfocusout(This,v);
}
static inline HRESULT IHTMLElement4_get_onfocusout(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusout(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementSelector interface
 */
#ifndef __IElementSelector_INTERFACE_DEFINED__
#define __IElementSelector_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementSelector, 0x30510463, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510463-98b5-11cf-bb82-00aa00bdce0b")
IElementSelector : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE querySelector(
        BSTR v,
        IHTMLElement **pel) = 0;

    virtual HRESULT STDMETHODCALLTYPE querySelectorAll(
        BSTR v,
        IHTMLDOMChildrenCollection **pel) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementSelector, 0x30510463, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementSelectorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IElementSelector *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IElementSelector *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IElementSelector *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IElementSelector *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IElementSelector methods ***/
    HRESULT (STDMETHODCALLTYPE *querySelector)(
        IElementSelector *This,
        BSTR v,
        IHTMLElement **pel);

    HRESULT (STDMETHODCALLTYPE *querySelectorAll)(
        IElementSelector *This,
        BSTR v,
        IHTMLDOMChildrenCollection **pel);

    END_INTERFACE
} IElementSelectorVtbl;

interface IElementSelector {
    CONST_VTBL IElementSelectorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementSelector_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IElementSelector_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IElementSelector_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IElementSelector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IElementSelector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IElementSelector methods ***/
#define IElementSelector_querySelector(This,v,pel) (This)->lpVtbl->querySelector(This,v,pel)
#define IElementSelector_querySelectorAll(This,v,pel) (This)->lpVtbl->querySelectorAll(This,v,pel)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementSelector_QueryInterface(IElementSelector* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementSelector_AddRef(IElementSelector* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementSelector_Release(IElementSelector* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IElementSelector_GetTypeInfoCount(IElementSelector* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IElementSelector_GetTypeInfo(IElementSelector* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IElementSelector_GetIDsOfNames(IElementSelector* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IElementSelector_Invoke(IElementSelector* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IElementSelector methods ***/
static inline HRESULT IElementSelector_querySelector(IElementSelector* This,BSTR v,IHTMLElement **pel) {
    return This->lpVtbl->querySelector(This,v,pel);
}
static inline HRESULT IElementSelector_querySelectorAll(IElementSelector* This,BSTR v,IHTMLDOMChildrenCollection **pel) {
    return This->lpVtbl->querySelectorAll(This,v,pel);
}
#endif
#endif

#endif


#endif  /* __IElementSelector_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElementRender interface
 */
#ifndef __IHTMLElementRender_INTERFACE_DEFINED__
#define __IHTMLElementRender_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElementRender, 0x3050f669, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f669-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElementRender : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE DrawToDC(
        HDC hDC) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetDocumentPrinter(
        BSTR bstrPrinterName,
        HDC hDC) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElementRender, 0x3050f669, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementRenderVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IHTMLElementRender methods ***/
    HRESULT (STDMETHODCALLTYPE *DrawToDC)(
        IHTMLElementRender *This,
        HDC hDC);

    HRESULT (STDMETHODCALLTYPE *SetDocumentPrinter)(
        IHTMLElementRender *This,
        BSTR bstrPrinterName,
        HDC hDC);

    END_INTERFACE
} IHTMLElementRenderVtbl;

interface IHTMLElementRender {
    CONST_VTBL IHTMLElementRenderVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElementRender_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElementRender_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElementRender_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLElementRender methods ***/
#define IHTMLElementRender_DrawToDC(This,hDC) (This)->lpVtbl->DrawToDC(This,hDC)
#define IHTMLElementRender_SetDocumentPrinter(This,bstrPrinterName,hDC) (This)->lpVtbl->SetDocumentPrinter(This,bstrPrinterName,hDC)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElementRender_QueryInterface(IHTMLElementRender* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElementRender_AddRef(IHTMLElementRender* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElementRender_Release(IHTMLElementRender* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLElementRender methods ***/
static inline HRESULT IHTMLElementRender_DrawToDC(IHTMLElementRender* This,HDC hDC) {
    return This->lpVtbl->DrawToDC(This,hDC);
}
static inline HRESULT IHTMLElementRender_SetDocumentPrinter(IHTMLElementRender* This,BSTR bstrPrinterName,HDC hDC) {
    return This->lpVtbl->SetDocumentPrinter(This,bstrPrinterName,hDC);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementRender_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLUniqueName interface
 */
#ifndef __IHTMLUniqueName_INTERFACE_DEFINED__
#define __IHTMLUniqueName_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLUniqueName, 0x3050f4d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4d0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLUniqueName : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_uniqueNumber(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_uniqueID(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLUniqueName, 0x3050f4d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLUniqueNameVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLUniqueName *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLUniqueName *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLUniqueName *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLUniqueName *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLUniqueName methods ***/
    HRESULT (STDMETHODCALLTYPE *get_uniqueNumber)(
        IHTMLUniqueName *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_uniqueID)(
        IHTMLUniqueName *This,
        BSTR *p);

    END_INTERFACE
} IHTMLUniqueNameVtbl;

interface IHTMLUniqueName {
    CONST_VTBL IHTMLUniqueNameVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLUniqueName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLUniqueName_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLUniqueName_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLUniqueName_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLUniqueName_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLUniqueName_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLUniqueName_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLUniqueName methods ***/
#define IHTMLUniqueName_get_uniqueNumber(This,p) (This)->lpVtbl->get_uniqueNumber(This,p)
#define IHTMLUniqueName_get_uniqueID(This,p) (This)->lpVtbl->get_uniqueID(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLUniqueName_QueryInterface(IHTMLUniqueName* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLUniqueName_AddRef(IHTMLUniqueName* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLUniqueName_Release(IHTMLUniqueName* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLUniqueName_GetTypeInfoCount(IHTMLUniqueName* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLUniqueName_GetTypeInfo(IHTMLUniqueName* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLUniqueName_GetIDsOfNames(IHTMLUniqueName* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLUniqueName_Invoke(IHTMLUniqueName* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLUniqueName methods ***/
static inline HRESULT IHTMLUniqueName_get_uniqueNumber(IHTMLUniqueName* This,LONG *p) {
    return This->lpVtbl->get_uniqueNumber(This,p);
}
static inline HRESULT IHTMLUniqueName_get_uniqueID(IHTMLUniqueName* This,BSTR *p) {
    return This->lpVtbl->get_uniqueID(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLUniqueName_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElement5 interface
 */
#ifndef __IHTMLElement5_INTERFACE_DEFINED__
#define __IHTMLElement5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElement5, 0x3051045d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051045d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElement5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
        BSTR bstrname,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttribute(
        BSTR name,
        VARIANT_BOOL *pfHasAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_role(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_role(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaBusy(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaBusy(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaChecked(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaChecked(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaDisabled(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaDisabled(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaExpanded(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaExpanded(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaHaspopup(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaHaspopup(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaHidden(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaHidden(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaInvalid(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaInvalid(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaMultiselectable(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaMultiselectable(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaPressed(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaPressed(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaReadonly(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaReadonly(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaRequired(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaRequired(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaSecret(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaSecret(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaSelected(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaSelected(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR strAttributeName,
        VARIANT *AttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttribute(
        BSTR strAttributeName,
        VARIANT AttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        VARIANT_BOOL *pfSuccess) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_attributes(
        IHTMLAttributeCollection3 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaValuenow(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaValuenow(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaPosinset(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaPosinset(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaSetsize(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaSetsize(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaLevel(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaLevel(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaValuemin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaValuemin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaValuemax(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaValuemax(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaControls(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaControls(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaDescribedby(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaDescribedby(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaFlowto(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaFlowto(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaLabelledby(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaLabelledby(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaActivedescendant(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaActivedescendant(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaOwns(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaOwns(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
        VARIANT_BOOL *pfHasAttributes) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaLive(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaLive(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ariaRelevant(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ariaRelevant(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElement5, 0x3051045d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElement5Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElement5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElement5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElement5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElement5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElement5 methods ***/
    HRESULT (STDMETHODCALLTYPE *getAttributeNode)(
        IHTMLElement5 *This,
        BSTR bstrname,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *setAttributeNode)(
        IHTMLElement5 *This,
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *removeAttributeNode)(
        IHTMLElement5 *This,
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *hasAttribute)(
        IHTMLElement5 *This,
        BSTR name,
        VARIANT_BOOL *pfHasAttribute);

    HRESULT (STDMETHODCALLTYPE *put_role)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_role)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaBusy)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaBusy)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaChecked)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaChecked)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaDisabled)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaDisabled)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaExpanded)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaExpanded)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaHaspopup)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaHaspopup)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaHidden)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaHidden)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaInvalid)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaInvalid)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaMultiselectable)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaMultiselectable)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaPressed)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaPressed)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaReadonly)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaReadonly)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaRequired)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaRequired)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaSecret)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaSecret)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaSelected)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaSelected)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLElement5 *This,
        BSTR strAttributeName,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *setAttribute)(
        IHTMLElement5 *This,
        BSTR strAttributeName,
        VARIANT AttributeValue);

    HRESULT (STDMETHODCALLTYPE *removeAttribute)(
        IHTMLElement5 *This,
        BSTR strAttributeName,
        VARIANT_BOOL *pfSuccess);

    HRESULT (STDMETHODCALLTYPE *get_attributes)(
        IHTMLElement5 *This,
        IHTMLAttributeCollection3 **p);

    HRESULT (STDMETHODCALLTYPE *put_ariaValuenow)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaValuenow)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaPosinset)(
        IHTMLElement5 *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_ariaPosinset)(
        IHTMLElement5 *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaSetsize)(
        IHTMLElement5 *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_ariaSetsize)(
        IHTMLElement5 *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaLevel)(
        IHTMLElement5 *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_ariaLevel)(
        IHTMLElement5 *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaValuemin)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaValuemin)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaValuemax)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaValuemax)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaControls)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaControls)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaDescribedby)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaDescribedby)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaFlowto)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaFlowto)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaLabelledby)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaLabelledby)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaActivedescendant)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaActivedescendant)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaOwns)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaOwns)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *hasAttributes)(
        IHTMLElement5 *This,
        VARIANT_BOOL *pfHasAttributes);

    HRESULT (STDMETHODCALLTYPE *put_ariaLive)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaLive)(
        IHTMLElement5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ariaRelevant)(
        IHTMLElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ariaRelevant)(
        IHTMLElement5 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLElement5Vtbl;

interface IHTMLElement5 {
    CONST_VTBL IHTMLElement5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElement5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElement5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElement5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElement5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElement5 methods ***/
#define IHTMLElement5_getAttributeNode(This,bstrname,ppretAttribute) (This)->lpVtbl->getAttributeNode(This,bstrname,ppretAttribute)
#define IHTMLElement5_setAttributeNode(This,pattr,ppretAttribute) (This)->lpVtbl->setAttributeNode(This,pattr,ppretAttribute)
#define IHTMLElement5_removeAttributeNode(This,pattr,ppretAttribute) (This)->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute)
#define IHTMLElement5_hasAttribute(This,name,pfHasAttribute) (This)->lpVtbl->hasAttribute(This,name,pfHasAttribute)
#define IHTMLElement5_put_role(This,v) (This)->lpVtbl->put_role(This,v)
#define IHTMLElement5_get_role(This,p) (This)->lpVtbl->get_role(This,p)
#define IHTMLElement5_put_ariaBusy(This,v) (This)->lpVtbl->put_ariaBusy(This,v)
#define IHTMLElement5_get_ariaBusy(This,p) (This)->lpVtbl->get_ariaBusy(This,p)
#define IHTMLElement5_put_ariaChecked(This,v) (This)->lpVtbl->put_ariaChecked(This,v)
#define IHTMLElement5_get_ariaChecked(This,p) (This)->lpVtbl->get_ariaChecked(This,p)
#define IHTMLElement5_put_ariaDisabled(This,v) (This)->lpVtbl->put_ariaDisabled(This,v)
#define IHTMLElement5_get_ariaDisabled(This,p) (This)->lpVtbl->get_ariaDisabled(This,p)
#define IHTMLElement5_put_ariaExpanded(This,v) (This)->lpVtbl->put_ariaExpanded(This,v)
#define IHTMLElement5_get_ariaExpanded(This,p) (This)->lpVtbl->get_ariaExpanded(This,p)
#define IHTMLElement5_put_ariaHaspopup(This,v) (This)->lpVtbl->put_ariaHaspopup(This,v)
#define IHTMLElement5_get_ariaHaspopup(This,p) (This)->lpVtbl->get_ariaHaspopup(This,p)
#define IHTMLElement5_put_ariaHidden(This,v) (This)->lpVtbl->put_ariaHidden(This,v)
#define IHTMLElement5_get_ariaHidden(This,p) (This)->lpVtbl->get_ariaHidden(This,p)
#define IHTMLElement5_put_ariaInvalid(This,v) (This)->lpVtbl->put_ariaInvalid(This,v)
#define IHTMLElement5_get_ariaInvalid(This,p) (This)->lpVtbl->get_ariaInvalid(This,p)
#define IHTMLElement5_put_ariaMultiselectable(This,v) (This)->lpVtbl->put_ariaMultiselectable(This,v)
#define IHTMLElement5_get_ariaMultiselectable(This,p) (This)->lpVtbl->get_ariaMultiselectable(This,p)
#define IHTMLElement5_put_ariaPressed(This,v) (This)->lpVtbl->put_ariaPressed(This,v)
#define IHTMLElement5_get_ariaPressed(This,p) (This)->lpVtbl->get_ariaPressed(This,p)
#define IHTMLElement5_put_ariaReadonly(This,v) (This)->lpVtbl->put_ariaReadonly(This,v)
#define IHTMLElement5_get_ariaReadonly(This,p) (This)->lpVtbl->get_ariaReadonly(This,p)
#define IHTMLElement5_put_ariaRequired(This,v) (This)->lpVtbl->put_ariaRequired(This,v)
#define IHTMLElement5_get_ariaRequired(This,p) (This)->lpVtbl->get_ariaRequired(This,p)
#define IHTMLElement5_put_ariaSecret(This,v) (This)->lpVtbl->put_ariaSecret(This,v)
#define IHTMLElement5_get_ariaSecret(This,p) (This)->lpVtbl->get_ariaSecret(This,p)
#define IHTMLElement5_put_ariaSelected(This,v) (This)->lpVtbl->put_ariaSelected(This,v)
#define IHTMLElement5_get_ariaSelected(This,p) (This)->lpVtbl->get_ariaSelected(This,p)
#define IHTMLElement5_getAttribute(This,strAttributeName,AttributeValue) (This)->lpVtbl->getAttribute(This,strAttributeName,AttributeValue)
#define IHTMLElement5_setAttribute(This,strAttributeName,AttributeValue) (This)->lpVtbl->setAttribute(This,strAttributeName,AttributeValue)
#define IHTMLElement5_removeAttribute(This,strAttributeName,pfSuccess) (This)->lpVtbl->removeAttribute(This,strAttributeName,pfSuccess)
#define IHTMLElement5_get_attributes(This,p) (This)->lpVtbl->get_attributes(This,p)
#define IHTMLElement5_put_ariaValuenow(This,v) (This)->lpVtbl->put_ariaValuenow(This,v)
#define IHTMLElement5_get_ariaValuenow(This,p) (This)->lpVtbl->get_ariaValuenow(This,p)
#define IHTMLElement5_put_ariaPosinset(This,v) (This)->lpVtbl->put_ariaPosinset(This,v)
#define IHTMLElement5_get_ariaPosinset(This,p) (This)->lpVtbl->get_ariaPosinset(This,p)
#define IHTMLElement5_put_ariaSetsize(This,v) (This)->lpVtbl->put_ariaSetsize(This,v)
#define IHTMLElement5_get_ariaSetsize(This,p) (This)->lpVtbl->get_ariaSetsize(This,p)
#define IHTMLElement5_put_ariaLevel(This,v) (This)->lpVtbl->put_ariaLevel(This,v)
#define IHTMLElement5_get_ariaLevel(This,p) (This)->lpVtbl->get_ariaLevel(This,p)
#define IHTMLElement5_put_ariaValuemin(This,v) (This)->lpVtbl->put_ariaValuemin(This,v)
#define IHTMLElement5_get_ariaValuemin(This,p) (This)->lpVtbl->get_ariaValuemin(This,p)
#define IHTMLElement5_put_ariaValuemax(This,v) (This)->lpVtbl->put_ariaValuemax(This,v)
#define IHTMLElement5_get_ariaValuemax(This,p) (This)->lpVtbl->get_ariaValuemax(This,p)
#define IHTMLElement5_put_ariaControls(This,v) (This)->lpVtbl->put_ariaControls(This,v)
#define IHTMLElement5_get_ariaControls(This,p) (This)->lpVtbl->get_ariaControls(This,p)
#define IHTMLElement5_put_ariaDescribedby(This,v) (This)->lpVtbl->put_ariaDescribedby(This,v)
#define IHTMLElement5_get_ariaDescribedby(This,p) (This)->lpVtbl->get_ariaDescribedby(This,p)
#define IHTMLElement5_put_ariaFlowto(This,v) (This)->lpVtbl->put_ariaFlowto(This,v)
#define IHTMLElement5_get_ariaFlowto(This,p) (This)->lpVtbl->get_ariaFlowto(This,p)
#define IHTMLElement5_put_ariaLabelledby(This,v) (This)->lpVtbl->put_ariaLabelledby(This,v)
#define IHTMLElement5_get_ariaLabelledby(This,p) (This)->lpVtbl->get_ariaLabelledby(This,p)
#define IHTMLElement5_put_ariaActivedescendant(This,v) (This)->lpVtbl->put_ariaActivedescendant(This,v)
#define IHTMLElement5_get_ariaActivedescendant(This,p) (This)->lpVtbl->get_ariaActivedescendant(This,p)
#define IHTMLElement5_put_ariaOwns(This,v) (This)->lpVtbl->put_ariaOwns(This,v)
#define IHTMLElement5_get_ariaOwns(This,p) (This)->lpVtbl->get_ariaOwns(This,p)
#define IHTMLElement5_hasAttributes(This,pfHasAttributes) (This)->lpVtbl->hasAttributes(This,pfHasAttributes)
#define IHTMLElement5_put_ariaLive(This,v) (This)->lpVtbl->put_ariaLive(This,v)
#define IHTMLElement5_get_ariaLive(This,p) (This)->lpVtbl->get_ariaLive(This,p)
#define IHTMLElement5_put_ariaRelevant(This,v) (This)->lpVtbl->put_ariaRelevant(This,v)
#define IHTMLElement5_get_ariaRelevant(This,p) (This)->lpVtbl->get_ariaRelevant(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElement5_QueryInterface(IHTMLElement5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElement5_AddRef(IHTMLElement5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElement5_Release(IHTMLElement5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElement5_GetTypeInfoCount(IHTMLElement5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElement5_GetTypeInfo(IHTMLElement5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElement5_GetIDsOfNames(IHTMLElement5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElement5_Invoke(IHTMLElement5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElement5 methods ***/
static inline HRESULT IHTMLElement5_getAttributeNode(IHTMLElement5* This,BSTR bstrname,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->getAttributeNode(This,bstrname,ppretAttribute);
}
static inline HRESULT IHTMLElement5_setAttributeNode(IHTMLElement5* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->setAttributeNode(This,pattr,ppretAttribute);
}
static inline HRESULT IHTMLElement5_removeAttributeNode(IHTMLElement5* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute);
}
static inline HRESULT IHTMLElement5_hasAttribute(IHTMLElement5* This,BSTR name,VARIANT_BOOL *pfHasAttribute) {
    return This->lpVtbl->hasAttribute(This,name,pfHasAttribute);
}
static inline HRESULT IHTMLElement5_put_role(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_role(This,v);
}
static inline HRESULT IHTMLElement5_get_role(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_role(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaBusy(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaBusy(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaBusy(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaBusy(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaChecked(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaChecked(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaChecked(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaChecked(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaDisabled(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaDisabled(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaDisabled(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaDisabled(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaExpanded(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaExpanded(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaExpanded(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaExpanded(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaHaspopup(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaHaspopup(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaHaspopup(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaHaspopup(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaHidden(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaHidden(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaHidden(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaHidden(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaInvalid(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaInvalid(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaInvalid(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaInvalid(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaMultiselectable(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaMultiselectable(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaMultiselectable(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaMultiselectable(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaPressed(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaPressed(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaPressed(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaPressed(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaReadonly(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaReadonly(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaReadonly(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaReadonly(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaRequired(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaRequired(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaRequired(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaRequired(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaSecret(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaSecret(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaSecret(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaSecret(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaSelected(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaSelected(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaSelected(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaSelected(This,p);
}
static inline HRESULT IHTMLElement5_getAttribute(IHTMLElement5* This,BSTR strAttributeName,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,AttributeValue);
}
static inline HRESULT IHTMLElement5_setAttribute(IHTMLElement5* This,BSTR strAttributeName,VARIANT AttributeValue) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue);
}
static inline HRESULT IHTMLElement5_removeAttribute(IHTMLElement5* This,BSTR strAttributeName,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeAttribute(This,strAttributeName,pfSuccess);
}
static inline HRESULT IHTMLElement5_get_attributes(IHTMLElement5* This,IHTMLAttributeCollection3 **p) {
    return This->lpVtbl->get_attributes(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaValuenow(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaValuenow(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaValuenow(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaValuenow(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaPosinset(IHTMLElement5* This,short v) {
    return This->lpVtbl->put_ariaPosinset(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaPosinset(IHTMLElement5* This,short *p) {
    return This->lpVtbl->get_ariaPosinset(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaSetsize(IHTMLElement5* This,short v) {
    return This->lpVtbl->put_ariaSetsize(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaSetsize(IHTMLElement5* This,short *p) {
    return This->lpVtbl->get_ariaSetsize(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaLevel(IHTMLElement5* This,short v) {
    return This->lpVtbl->put_ariaLevel(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaLevel(IHTMLElement5* This,short *p) {
    return This->lpVtbl->get_ariaLevel(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaValuemin(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaValuemin(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaValuemin(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaValuemin(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaValuemax(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaValuemax(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaValuemax(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaValuemax(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaControls(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaControls(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaControls(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaControls(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaDescribedby(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaDescribedby(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaDescribedby(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaDescribedby(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaFlowto(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaFlowto(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaFlowto(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaFlowto(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaLabelledby(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaLabelledby(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaLabelledby(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaLabelledby(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaActivedescendant(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaActivedescendant(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaActivedescendant(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaActivedescendant(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaOwns(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaOwns(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaOwns(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaOwns(This,p);
}
static inline HRESULT IHTMLElement5_hasAttributes(IHTMLElement5* This,VARIANT_BOOL *pfHasAttributes) {
    return This->lpVtbl->hasAttributes(This,pfHasAttributes);
}
static inline HRESULT IHTMLElement5_put_ariaLive(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaLive(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaLive(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaLive(This,p);
}
static inline HRESULT IHTMLElement5_put_ariaRelevant(IHTMLElement5* This,BSTR v) {
    return This->lpVtbl->put_ariaRelevant(This,v);
}
static inline HRESULT IHTMLElement5_get_ariaRelevant(IHTMLElement5* This,BSTR *p) {
    return This->lpVtbl->get_ariaRelevant(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElement6 interface
 */
#ifndef __IHTMLElement6_INTERFACE_DEFINED__
#define __IHTMLElement6_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElement6, 0x305106f8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106f8-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElement6 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
        VARIANT *pvarNS,
        BSTR strAttributeName,
        VARIANT *AttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
        VARIANT *pvarNS,
        BSTR strAttributeName,
        VARIANT *pvarAttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
        VARIANT *pvarNS,
        BSTR strAttributeName) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
        VARIANT *pvarNS,
        BSTR bstrname,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
        VARIANT *pvarNS,
        BSTR name,
        VARIANT_BOOL *pfHasAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR strAttributeName,
        VARIANT *AttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttribute(
        BSTR strAttributeName,
        VARIANT *pvarAttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
        BSTR strAttributeName,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttribute(
        BSTR name,
        VARIANT_BOOL *pfHasAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
        VARIANT *varNS,
        BSTR bstrLocalName,
        IHTMLElementCollection **pelColl) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tagName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nodeName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementsByClassName(
        BSTR v,
        IHTMLElementCollection **pel) = 0;

    virtual HRESULT STDMETHODCALLTYPE msMatchesSelector(
        BSTR v,
        VARIANT_BOOL *pfMatches) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onabort(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onabort(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncanplay(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncanplay(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncanplaythrough(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncanplaythrough(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondurationchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondurationchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onemptied(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onemptied(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onended(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onended(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oninput(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oninput(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadeddata(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadeddata(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadedmetadata(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadedmetadata(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpause(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpause(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onplay(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onplay(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onplaying(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onplaying(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onprogress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onprogress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onratechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onratechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreset(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreset(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onseeked(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onseeked(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onseeking(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onseeking(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstalled(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstalled(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsubmit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsubmit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsuspend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsuspend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ontimeupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ontimeupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onvolumechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onvolumechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onwaiting(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onwaiting(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
        VARIANT_BOOL *pfHasAttributes) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElement6, 0x305106f8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElement6Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElement6 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElement6 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElement6 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElement6 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElement6 methods ***/
    HRESULT (STDMETHODCALLTYPE *getAttributeNS)(
        IHTMLElement6 *This,
        VARIANT *pvarNS,
        BSTR strAttributeName,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *setAttributeNS)(
        IHTMLElement6 *This,
        VARIANT *pvarNS,
        BSTR strAttributeName,
        VARIANT *pvarAttributeValue);

    HRESULT (STDMETHODCALLTYPE *removeAttributeNS)(
        IHTMLElement6 *This,
        VARIANT *pvarNS,
        BSTR strAttributeName);

    HRESULT (STDMETHODCALLTYPE *getAttributeNodeNS)(
        IHTMLElement6 *This,
        VARIANT *pvarNS,
        BSTR bstrname,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *setAttributeNodeNS)(
        IHTMLElement6 *This,
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *hasAttributeNS)(
        IHTMLElement6 *This,
        VARIANT *pvarNS,
        BSTR name,
        VARIANT_BOOL *pfHasAttribute);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLElement6 *This,
        BSTR strAttributeName,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *setAttribute)(
        IHTMLElement6 *This,
        BSTR strAttributeName,
        VARIANT *pvarAttributeValue);

    HRESULT (STDMETHODCALLTYPE *removeAttribute)(
        IHTMLElement6 *This,
        BSTR strAttributeName);

    HRESULT (STDMETHODCALLTYPE *getAttributeNode)(
        IHTMLElement6 *This,
        BSTR strAttributeName,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *setAttributeNode)(
        IHTMLElement6 *This,
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *removeAttributeNode)(
        IHTMLElement6 *This,
        IHTMLDOMAttribute2 *pattr,
        IHTMLDOMAttribute2 **ppretAttribute);

    HRESULT (STDMETHODCALLTYPE *hasAttribute)(
        IHTMLElement6 *This,
        BSTR name,
        VARIANT_BOOL *pfHasAttribute);

    HRESULT (STDMETHODCALLTYPE *getElementsByTagNameNS)(
        IHTMLElement6 *This,
        VARIANT *varNS,
        BSTR bstrLocalName,
        IHTMLElementCollection **pelColl);

    HRESULT (STDMETHODCALLTYPE *get_tagName)(
        IHTMLElement6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_nodeName)(
        IHTMLElement6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *getElementsByClassName)(
        IHTMLElement6 *This,
        BSTR v,
        IHTMLElementCollection **pel);

    HRESULT (STDMETHODCALLTYPE *msMatchesSelector)(
        IHTMLElement6 *This,
        BSTR v,
        VARIANT_BOOL *pfMatches);

    HRESULT (STDMETHODCALLTYPE *put_onabort)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onabort)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncanplay)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncanplay)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncanplaythrough)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncanplaythrough)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondurationchange)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondurationchange)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onemptied)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onemptied)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onended)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onended)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oninput)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oninput)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadeddata)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadeddata)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadedmetadata)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadedmetadata)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadstart)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadstart)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onpause)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpause)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onplay)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onplay)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onplaying)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onplaying)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onprogress)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onprogress)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onratechange)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onratechange)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreset)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreset)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onseeked)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onseeked)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onseeking)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onseeking)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstalled)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstalled)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onsubmit)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onsubmit)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onsuspend)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onsuspend)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ontimeupdate)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ontimeupdate)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onvolumechange)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onvolumechange)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onwaiting)(
        IHTMLElement6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onwaiting)(
        IHTMLElement6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *hasAttributes)(
        IHTMLElement6 *This,
        VARIANT_BOOL *pfHasAttributes);

    END_INTERFACE
} IHTMLElement6Vtbl;

interface IHTMLElement6 {
    CONST_VTBL IHTMLElement6Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElement6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElement6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElement6_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElement6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElement6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElement6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElement6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElement6 methods ***/
#define IHTMLElement6_getAttributeNS(This,pvarNS,strAttributeName,AttributeValue) (This)->lpVtbl->getAttributeNS(This,pvarNS,strAttributeName,AttributeValue)
#define IHTMLElement6_setAttributeNS(This,pvarNS,strAttributeName,pvarAttributeValue) (This)->lpVtbl->setAttributeNS(This,pvarNS,strAttributeName,pvarAttributeValue)
#define IHTMLElement6_removeAttributeNS(This,pvarNS,strAttributeName) (This)->lpVtbl->removeAttributeNS(This,pvarNS,strAttributeName)
#define IHTMLElement6_getAttributeNodeNS(This,pvarNS,bstrname,ppretAttribute) (This)->lpVtbl->getAttributeNodeNS(This,pvarNS,bstrname,ppretAttribute)
#define IHTMLElement6_setAttributeNodeNS(This,pattr,ppretAttribute) (This)->lpVtbl->setAttributeNodeNS(This,pattr,ppretAttribute)
#define IHTMLElement6_hasAttributeNS(This,pvarNS,name,pfHasAttribute) (This)->lpVtbl->hasAttributeNS(This,pvarNS,name,pfHasAttribute)
#define IHTMLElement6_getAttribute(This,strAttributeName,AttributeValue) (This)->lpVtbl->getAttribute(This,strAttributeName,AttributeValue)
#define IHTMLElement6_setAttribute(This,strAttributeName,pvarAttributeValue) (This)->lpVtbl->setAttribute(This,strAttributeName,pvarAttributeValue)
#define IHTMLElement6_removeAttribute(This,strAttributeName) (This)->lpVtbl->removeAttribute(This,strAttributeName)
#define IHTMLElement6_getAttributeNode(This,strAttributeName,ppretAttribute) (This)->lpVtbl->getAttributeNode(This,strAttributeName,ppretAttribute)
#define IHTMLElement6_setAttributeNode(This,pattr,ppretAttribute) (This)->lpVtbl->setAttributeNode(This,pattr,ppretAttribute)
#define IHTMLElement6_removeAttributeNode(This,pattr,ppretAttribute) (This)->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute)
#define IHTMLElement6_hasAttribute(This,name,pfHasAttribute) (This)->lpVtbl->hasAttribute(This,name,pfHasAttribute)
#define IHTMLElement6_getElementsByTagNameNS(This,varNS,bstrLocalName,pelColl) (This)->lpVtbl->getElementsByTagNameNS(This,varNS,bstrLocalName,pelColl)
#define IHTMLElement6_get_tagName(This,p) (This)->lpVtbl->get_tagName(This,p)
#define IHTMLElement6_get_nodeName(This,p) (This)->lpVtbl->get_nodeName(This,p)
#define IHTMLElement6_getElementsByClassName(This,v,pel) (This)->lpVtbl->getElementsByClassName(This,v,pel)
#define IHTMLElement6_msMatchesSelector(This,v,pfMatches) (This)->lpVtbl->msMatchesSelector(This,v,pfMatches)
#define IHTMLElement6_put_onabort(This,v) (This)->lpVtbl->put_onabort(This,v)
#define IHTMLElement6_get_onabort(This,p) (This)->lpVtbl->get_onabort(This,p)
#define IHTMLElement6_put_oncanplay(This,v) (This)->lpVtbl->put_oncanplay(This,v)
#define IHTMLElement6_get_oncanplay(This,p) (This)->lpVtbl->get_oncanplay(This,p)
#define IHTMLElement6_put_oncanplaythrough(This,v) (This)->lpVtbl->put_oncanplaythrough(This,v)
#define IHTMLElement6_get_oncanplaythrough(This,p) (This)->lpVtbl->get_oncanplaythrough(This,p)
#define IHTMLElement6_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLElement6_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLElement6_put_ondurationchange(This,v) (This)->lpVtbl->put_ondurationchange(This,v)
#define IHTMLElement6_get_ondurationchange(This,p) (This)->lpVtbl->get_ondurationchange(This,p)
#define IHTMLElement6_put_onemptied(This,v) (This)->lpVtbl->put_onemptied(This,v)
#define IHTMLElement6_get_onemptied(This,p) (This)->lpVtbl->get_onemptied(This,p)
#define IHTMLElement6_put_onended(This,v) (This)->lpVtbl->put_onended(This,v)
#define IHTMLElement6_get_onended(This,p) (This)->lpVtbl->get_onended(This,p)
#define IHTMLElement6_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLElement6_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLElement6_put_oninput(This,v) (This)->lpVtbl->put_oninput(This,v)
#define IHTMLElement6_get_oninput(This,p) (This)->lpVtbl->get_oninput(This,p)
#define IHTMLElement6_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLElement6_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLElement6_put_onloadeddata(This,v) (This)->lpVtbl->put_onloadeddata(This,v)
#define IHTMLElement6_get_onloadeddata(This,p) (This)->lpVtbl->get_onloadeddata(This,p)
#define IHTMLElement6_put_onloadedmetadata(This,v) (This)->lpVtbl->put_onloadedmetadata(This,v)
#define IHTMLElement6_get_onloadedmetadata(This,p) (This)->lpVtbl->get_onloadedmetadata(This,p)
#define IHTMLElement6_put_onloadstart(This,v) (This)->lpVtbl->put_onloadstart(This,v)
#define IHTMLElement6_get_onloadstart(This,p) (This)->lpVtbl->get_onloadstart(This,p)
#define IHTMLElement6_put_onpause(This,v) (This)->lpVtbl->put_onpause(This,v)
#define IHTMLElement6_get_onpause(This,p) (This)->lpVtbl->get_onpause(This,p)
#define IHTMLElement6_put_onplay(This,v) (This)->lpVtbl->put_onplay(This,v)
#define IHTMLElement6_get_onplay(This,p) (This)->lpVtbl->get_onplay(This,p)
#define IHTMLElement6_put_onplaying(This,v) (This)->lpVtbl->put_onplaying(This,v)
#define IHTMLElement6_get_onplaying(This,p) (This)->lpVtbl->get_onplaying(This,p)
#define IHTMLElement6_put_onprogress(This,v) (This)->lpVtbl->put_onprogress(This,v)
#define IHTMLElement6_get_onprogress(This,p) (This)->lpVtbl->get_onprogress(This,p)
#define IHTMLElement6_put_onratechange(This,v) (This)->lpVtbl->put_onratechange(This,v)
#define IHTMLElement6_get_onratechange(This,p) (This)->lpVtbl->get_onratechange(This,p)
#define IHTMLElement6_put_onreset(This,v) (This)->lpVtbl->put_onreset(This,v)
#define IHTMLElement6_get_onreset(This,p) (This)->lpVtbl->get_onreset(This,p)
#define IHTMLElement6_put_onseeked(This,v) (This)->lpVtbl->put_onseeked(This,v)
#define IHTMLElement6_get_onseeked(This,p) (This)->lpVtbl->get_onseeked(This,p)
#define IHTMLElement6_put_onseeking(This,v) (This)->lpVtbl->put_onseeking(This,v)
#define IHTMLElement6_get_onseeking(This,p) (This)->lpVtbl->get_onseeking(This,p)
#define IHTMLElement6_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLElement6_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLElement6_put_onstalled(This,v) (This)->lpVtbl->put_onstalled(This,v)
#define IHTMLElement6_get_onstalled(This,p) (This)->lpVtbl->get_onstalled(This,p)
#define IHTMLElement6_put_onsubmit(This,v) (This)->lpVtbl->put_onsubmit(This,v)
#define IHTMLElement6_get_onsubmit(This,p) (This)->lpVtbl->get_onsubmit(This,p)
#define IHTMLElement6_put_onsuspend(This,v) (This)->lpVtbl->put_onsuspend(This,v)
#define IHTMLElement6_get_onsuspend(This,p) (This)->lpVtbl->get_onsuspend(This,p)
#define IHTMLElement6_put_ontimeupdate(This,v) (This)->lpVtbl->put_ontimeupdate(This,v)
#define IHTMLElement6_get_ontimeupdate(This,p) (This)->lpVtbl->get_ontimeupdate(This,p)
#define IHTMLElement6_put_onvolumechange(This,v) (This)->lpVtbl->put_onvolumechange(This,v)
#define IHTMLElement6_get_onvolumechange(This,p) (This)->lpVtbl->get_onvolumechange(This,p)
#define IHTMLElement6_put_onwaiting(This,v) (This)->lpVtbl->put_onwaiting(This,v)
#define IHTMLElement6_get_onwaiting(This,p) (This)->lpVtbl->get_onwaiting(This,p)
#define IHTMLElement6_hasAttributes(This,pfHasAttributes) (This)->lpVtbl->hasAttributes(This,pfHasAttributes)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElement6_QueryInterface(IHTMLElement6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElement6_AddRef(IHTMLElement6* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElement6_Release(IHTMLElement6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElement6_GetTypeInfoCount(IHTMLElement6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElement6_GetTypeInfo(IHTMLElement6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElement6_GetIDsOfNames(IHTMLElement6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElement6_Invoke(IHTMLElement6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElement6 methods ***/
static inline HRESULT IHTMLElement6_getAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR strAttributeName,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttributeNS(This,pvarNS,strAttributeName,AttributeValue);
}
static inline HRESULT IHTMLElement6_setAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR strAttributeName,VARIANT *pvarAttributeValue) {
    return This->lpVtbl->setAttributeNS(This,pvarNS,strAttributeName,pvarAttributeValue);
}
static inline HRESULT IHTMLElement6_removeAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR strAttributeName) {
    return This->lpVtbl->removeAttributeNS(This,pvarNS,strAttributeName);
}
static inline HRESULT IHTMLElement6_getAttributeNodeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR bstrname,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->getAttributeNodeNS(This,pvarNS,bstrname,ppretAttribute);
}
static inline HRESULT IHTMLElement6_setAttributeNodeNS(IHTMLElement6* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->setAttributeNodeNS(This,pattr,ppretAttribute);
}
static inline HRESULT IHTMLElement6_hasAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR name,VARIANT_BOOL *pfHasAttribute) {
    return This->lpVtbl->hasAttributeNS(This,pvarNS,name,pfHasAttribute);
}
static inline HRESULT IHTMLElement6_getAttribute(IHTMLElement6* This,BSTR strAttributeName,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,AttributeValue);
}
static inline HRESULT IHTMLElement6_setAttribute(IHTMLElement6* This,BSTR strAttributeName,VARIANT *pvarAttributeValue) {
    return This->lpVtbl->setAttribute(This,strAttributeName,pvarAttributeValue);
}
static inline HRESULT IHTMLElement6_removeAttribute(IHTMLElement6* This,BSTR strAttributeName) {
    return This->lpVtbl->removeAttribute(This,strAttributeName);
}
static inline HRESULT IHTMLElement6_getAttributeNode(IHTMLElement6* This,BSTR strAttributeName,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->getAttributeNode(This,strAttributeName,ppretAttribute);
}
static inline HRESULT IHTMLElement6_setAttributeNode(IHTMLElement6* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->setAttributeNode(This,pattr,ppretAttribute);
}
static inline HRESULT IHTMLElement6_removeAttributeNode(IHTMLElement6* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute);
}
static inline HRESULT IHTMLElement6_hasAttribute(IHTMLElement6* This,BSTR name,VARIANT_BOOL *pfHasAttribute) {
    return This->lpVtbl->hasAttribute(This,name,pfHasAttribute);
}
static inline HRESULT IHTMLElement6_getElementsByTagNameNS(IHTMLElement6* This,VARIANT *varNS,BSTR bstrLocalName,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByTagNameNS(This,varNS,bstrLocalName,pelColl);
}
static inline HRESULT IHTMLElement6_get_tagName(IHTMLElement6* This,BSTR *p) {
    return This->lpVtbl->get_tagName(This,p);
}
static inline HRESULT IHTMLElement6_get_nodeName(IHTMLElement6* This,BSTR *p) {
    return This->lpVtbl->get_nodeName(This,p);
}
static inline HRESULT IHTMLElement6_getElementsByClassName(IHTMLElement6* This,BSTR v,IHTMLElementCollection **pel) {
    return This->lpVtbl->getElementsByClassName(This,v,pel);
}
static inline HRESULT IHTMLElement6_msMatchesSelector(IHTMLElement6* This,BSTR v,VARIANT_BOOL *pfMatches) {
    return This->lpVtbl->msMatchesSelector(This,v,pfMatches);
}
static inline HRESULT IHTMLElement6_put_onabort(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static inline HRESULT IHTMLElement6_get_onabort(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static inline HRESULT IHTMLElement6_put_oncanplay(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_oncanplay(This,v);
}
static inline HRESULT IHTMLElement6_get_oncanplay(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplay(This,p);
}
static inline HRESULT IHTMLElement6_put_oncanplaythrough(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_oncanplaythrough(This,v);
}
static inline HRESULT IHTMLElement6_get_oncanplaythrough(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplaythrough(This,p);
}
static inline HRESULT IHTMLElement6_put_onchange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLElement6_get_onchange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLElement6_put_ondurationchange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_ondurationchange(This,v);
}
static inline HRESULT IHTMLElement6_get_ondurationchange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_ondurationchange(This,p);
}
static inline HRESULT IHTMLElement6_put_onemptied(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onemptied(This,v);
}
static inline HRESULT IHTMLElement6_get_onemptied(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onemptied(This,p);
}
static inline HRESULT IHTMLElement6_put_onended(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onended(This,v);
}
static inline HRESULT IHTMLElement6_get_onended(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onended(This,p);
}
static inline HRESULT IHTMLElement6_put_onerror(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLElement6_get_onerror(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLElement6_put_oninput(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_oninput(This,v);
}
static inline HRESULT IHTMLElement6_get_oninput(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_oninput(This,p);
}
static inline HRESULT IHTMLElement6_put_onload(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLElement6_get_onload(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLElement6_put_onloadeddata(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onloadeddata(This,v);
}
static inline HRESULT IHTMLElement6_get_onloadeddata(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onloadeddata(This,p);
}
static inline HRESULT IHTMLElement6_put_onloadedmetadata(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onloadedmetadata(This,v);
}
static inline HRESULT IHTMLElement6_get_onloadedmetadata(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onloadedmetadata(This,p);
}
static inline HRESULT IHTMLElement6_put_onloadstart(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onloadstart(This,v);
}
static inline HRESULT IHTMLElement6_get_onloadstart(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onloadstart(This,p);
}
static inline HRESULT IHTMLElement6_put_onpause(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onpause(This,v);
}
static inline HRESULT IHTMLElement6_get_onpause(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onpause(This,p);
}
static inline HRESULT IHTMLElement6_put_onplay(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onplay(This,v);
}
static inline HRESULT IHTMLElement6_get_onplay(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onplay(This,p);
}
static inline HRESULT IHTMLElement6_put_onplaying(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onplaying(This,v);
}
static inline HRESULT IHTMLElement6_get_onplaying(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onplaying(This,p);
}
static inline HRESULT IHTMLElement6_put_onprogress(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onprogress(This,v);
}
static inline HRESULT IHTMLElement6_get_onprogress(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onprogress(This,p);
}
static inline HRESULT IHTMLElement6_put_onratechange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onratechange(This,v);
}
static inline HRESULT IHTMLElement6_get_onratechange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onratechange(This,p);
}
static inline HRESULT IHTMLElement6_put_onreset(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onreset(This,v);
}
static inline HRESULT IHTMLElement6_get_onreset(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onreset(This,p);
}
static inline HRESULT IHTMLElement6_put_onseeked(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onseeked(This,v);
}
static inline HRESULT IHTMLElement6_get_onseeked(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onseeked(This,p);
}
static inline HRESULT IHTMLElement6_put_onseeking(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onseeking(This,v);
}
static inline HRESULT IHTMLElement6_get_onseeking(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onseeking(This,p);
}
static inline HRESULT IHTMLElement6_put_onselect(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLElement6_get_onselect(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLElement6_put_onstalled(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onstalled(This,v);
}
static inline HRESULT IHTMLElement6_get_onstalled(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onstalled(This,p);
}
static inline HRESULT IHTMLElement6_put_onsubmit(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onsubmit(This,v);
}
static inline HRESULT IHTMLElement6_get_onsubmit(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onsubmit(This,p);
}
static inline HRESULT IHTMLElement6_put_onsuspend(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onsuspend(This,v);
}
static inline HRESULT IHTMLElement6_get_onsuspend(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onsuspend(This,p);
}
static inline HRESULT IHTMLElement6_put_ontimeupdate(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_ontimeupdate(This,v);
}
static inline HRESULT IHTMLElement6_get_ontimeupdate(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_ontimeupdate(This,p);
}
static inline HRESULT IHTMLElement6_put_onvolumechange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onvolumechange(This,v);
}
static inline HRESULT IHTMLElement6_get_onvolumechange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onvolumechange(This,p);
}
static inline HRESULT IHTMLElement6_put_onwaiting(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onwaiting(This,v);
}
static inline HRESULT IHTMLElement6_get_onwaiting(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onwaiting(This,p);
}
static inline HRESULT IHTMLElement6_hasAttributes(IHTMLElement6* This,VARIANT_BOOL *pfHasAttributes) {
    return This->lpVtbl->hasAttributes(This,pfHasAttributes);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElement7 interface
 */
#ifndef __IHTMLElement7_INTERFACE_DEFINED__
#define __IHTMLElement7_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElement7, 0x305107aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107aa-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElement7 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onmspointerdown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerdown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointermove(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointermove(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointercancel(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointercancel(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerhover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerhover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmslostpointercapture(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmslostpointercapture(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgotpointercapture(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgotpointercapture(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturestart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturestart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgestureend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgestureend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturehold(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturehold(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturetap(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturetap(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturedoubletap(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturedoubletap(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsinertiastart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsinertiastart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE msSetPointerCapture(
        LONG pointerId) = 0;

    virtual HRESULT STDMETHODCALLTYPE msReleasePointerCapture(
        LONG pointerId) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmstransitionstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmstransitionstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmstransitionend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmstransitionend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsanimationstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsanimationstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsanimationend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsanimationend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsanimationiteration(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsanimationiteration(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oninvalid(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oninvalid(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_xmsAcceleratorKey(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_xmsAcceleratorKey(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_spellcheck(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_spellcheck(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsmanipulationstatechanged(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsmanipulationstatechanged(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncuechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncuechange(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElement7, 0x305107aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElement7Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElement7 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElement7 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElement7 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElement7 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElement7 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onmspointerdown)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerdown)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointermove)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointermove)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerup)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerup)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerover)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerover)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerout)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerout)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointercancel)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointercancel)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerhover)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerhover)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmslostpointercapture)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmslostpointercapture)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgotpointercapture)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgotpointercapture)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturestart)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturestart)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturechange)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturechange)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgestureend)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgestureend)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturehold)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturehold)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturetap)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturetap)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturedoubletap)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturedoubletap)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsinertiastart)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsinertiastart)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *msSetPointerCapture)(
        IHTMLElement7 *This,
        LONG pointerId);

    HRESULT (STDMETHODCALLTYPE *msReleasePointerCapture)(
        IHTMLElement7 *This,
        LONG pointerId);

    HRESULT (STDMETHODCALLTYPE *put_onmstransitionstart)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmstransitionstart)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmstransitionend)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmstransitionend)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsanimationstart)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsanimationstart)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsanimationend)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsanimationend)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsanimationiteration)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsanimationiteration)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oninvalid)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oninvalid)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_xmsAcceleratorKey)(
        IHTMLElement7 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_xmsAcceleratorKey)(
        IHTMLElement7 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_spellcheck)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_spellcheck)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsmanipulationstatechanged)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsmanipulationstatechanged)(
        IHTMLElement7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncuechange)(
        IHTMLElement7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncuechange)(
        IHTMLElement7 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLElement7Vtbl;

interface IHTMLElement7 {
    CONST_VTBL IHTMLElement7Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElement7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElement7_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElement7_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElement7_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElement7_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElement7_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElement7_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElement7 methods ***/
#define IHTMLElement7_put_onmspointerdown(This,v) (This)->lpVtbl->put_onmspointerdown(This,v)
#define IHTMLElement7_get_onmspointerdown(This,p) (This)->lpVtbl->get_onmspointerdown(This,p)
#define IHTMLElement7_put_onmspointermove(This,v) (This)->lpVtbl->put_onmspointermove(This,v)
#define IHTMLElement7_get_onmspointermove(This,p) (This)->lpVtbl->get_onmspointermove(This,p)
#define IHTMLElement7_put_onmspointerup(This,v) (This)->lpVtbl->put_onmspointerup(This,v)
#define IHTMLElement7_get_onmspointerup(This,p) (This)->lpVtbl->get_onmspointerup(This,p)
#define IHTMLElement7_put_onmspointerover(This,v) (This)->lpVtbl->put_onmspointerover(This,v)
#define IHTMLElement7_get_onmspointerover(This,p) (This)->lpVtbl->get_onmspointerover(This,p)
#define IHTMLElement7_put_onmspointerout(This,v) (This)->lpVtbl->put_onmspointerout(This,v)
#define IHTMLElement7_get_onmspointerout(This,p) (This)->lpVtbl->get_onmspointerout(This,p)
#define IHTMLElement7_put_onmspointercancel(This,v) (This)->lpVtbl->put_onmspointercancel(This,v)
#define IHTMLElement7_get_onmspointercancel(This,p) (This)->lpVtbl->get_onmspointercancel(This,p)
#define IHTMLElement7_put_onmspointerhover(This,v) (This)->lpVtbl->put_onmspointerhover(This,v)
#define IHTMLElement7_get_onmspointerhover(This,p) (This)->lpVtbl->get_onmspointerhover(This,p)
#define IHTMLElement7_put_onmslostpointercapture(This,v) (This)->lpVtbl->put_onmslostpointercapture(This,v)
#define IHTMLElement7_get_onmslostpointercapture(This,p) (This)->lpVtbl->get_onmslostpointercapture(This,p)
#define IHTMLElement7_put_onmsgotpointercapture(This,v) (This)->lpVtbl->put_onmsgotpointercapture(This,v)
#define IHTMLElement7_get_onmsgotpointercapture(This,p) (This)->lpVtbl->get_onmsgotpointercapture(This,p)
#define IHTMLElement7_put_onmsgesturestart(This,v) (This)->lpVtbl->put_onmsgesturestart(This,v)
#define IHTMLElement7_get_onmsgesturestart(This,p) (This)->lpVtbl->get_onmsgesturestart(This,p)
#define IHTMLElement7_put_onmsgesturechange(This,v) (This)->lpVtbl->put_onmsgesturechange(This,v)
#define IHTMLElement7_get_onmsgesturechange(This,p) (This)->lpVtbl->get_onmsgesturechange(This,p)
#define IHTMLElement7_put_onmsgestureend(This,v) (This)->lpVtbl->put_onmsgestureend(This,v)
#define IHTMLElement7_get_onmsgestureend(This,p) (This)->lpVtbl->get_onmsgestureend(This,p)
#define IHTMLElement7_put_onmsgesturehold(This,v) (This)->lpVtbl->put_onmsgesturehold(This,v)
#define IHTMLElement7_get_onmsgesturehold(This,p) (This)->lpVtbl->get_onmsgesturehold(This,p)
#define IHTMLElement7_put_onmsgesturetap(This,v) (This)->lpVtbl->put_onmsgesturetap(This,v)
#define IHTMLElement7_get_onmsgesturetap(This,p) (This)->lpVtbl->get_onmsgesturetap(This,p)
#define IHTMLElement7_put_onmsgesturedoubletap(This,v) (This)->lpVtbl->put_onmsgesturedoubletap(This,v)
#define IHTMLElement7_get_onmsgesturedoubletap(This,p) (This)->lpVtbl->get_onmsgesturedoubletap(This,p)
#define IHTMLElement7_put_onmsinertiastart(This,v) (This)->lpVtbl->put_onmsinertiastart(This,v)
#define IHTMLElement7_get_onmsinertiastart(This,p) (This)->lpVtbl->get_onmsinertiastart(This,p)
#define IHTMLElement7_msSetPointerCapture(This,pointerId) (This)->lpVtbl->msSetPointerCapture(This,pointerId)
#define IHTMLElement7_msReleasePointerCapture(This,pointerId) (This)->lpVtbl->msReleasePointerCapture(This,pointerId)
#define IHTMLElement7_put_onmstransitionstart(This,v) (This)->lpVtbl->put_onmstransitionstart(This,v)
#define IHTMLElement7_get_onmstransitionstart(This,p) (This)->lpVtbl->get_onmstransitionstart(This,p)
#define IHTMLElement7_put_onmstransitionend(This,v) (This)->lpVtbl->put_onmstransitionend(This,v)
#define IHTMLElement7_get_onmstransitionend(This,p) (This)->lpVtbl->get_onmstransitionend(This,p)
#define IHTMLElement7_put_onmsanimationstart(This,v) (This)->lpVtbl->put_onmsanimationstart(This,v)
#define IHTMLElement7_get_onmsanimationstart(This,p) (This)->lpVtbl->get_onmsanimationstart(This,p)
#define IHTMLElement7_put_onmsanimationend(This,v) (This)->lpVtbl->put_onmsanimationend(This,v)
#define IHTMLElement7_get_onmsanimationend(This,p) (This)->lpVtbl->get_onmsanimationend(This,p)
#define IHTMLElement7_put_onmsanimationiteration(This,v) (This)->lpVtbl->put_onmsanimationiteration(This,v)
#define IHTMLElement7_get_onmsanimationiteration(This,p) (This)->lpVtbl->get_onmsanimationiteration(This,p)
#define IHTMLElement7_put_oninvalid(This,v) (This)->lpVtbl->put_oninvalid(This,v)
#define IHTMLElement7_get_oninvalid(This,p) (This)->lpVtbl->get_oninvalid(This,p)
#define IHTMLElement7_put_xmsAcceleratorKey(This,v) (This)->lpVtbl->put_xmsAcceleratorKey(This,v)
#define IHTMLElement7_get_xmsAcceleratorKey(This,p) (This)->lpVtbl->get_xmsAcceleratorKey(This,p)
#define IHTMLElement7_put_spellcheck(This,v) (This)->lpVtbl->put_spellcheck(This,v)
#define IHTMLElement7_get_spellcheck(This,p) (This)->lpVtbl->get_spellcheck(This,p)
#define IHTMLElement7_put_onmsmanipulationstatechanged(This,v) (This)->lpVtbl->put_onmsmanipulationstatechanged(This,v)
#define IHTMLElement7_get_onmsmanipulationstatechanged(This,p) (This)->lpVtbl->get_onmsmanipulationstatechanged(This,p)
#define IHTMLElement7_put_oncuechange(This,v) (This)->lpVtbl->put_oncuechange(This,v)
#define IHTMLElement7_get_oncuechange(This,p) (This)->lpVtbl->get_oncuechange(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElement7_QueryInterface(IHTMLElement7* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElement7_AddRef(IHTMLElement7* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElement7_Release(IHTMLElement7* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElement7_GetTypeInfoCount(IHTMLElement7* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElement7_GetTypeInfo(IHTMLElement7* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElement7_GetIDsOfNames(IHTMLElement7* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElement7_Invoke(IHTMLElement7* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElement7 methods ***/
static inline HRESULT IHTMLElement7_put_onmspointerdown(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerdown(This,v);
}
static inline HRESULT IHTMLElement7_get_onmspointerdown(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerdown(This,p);
}
static inline HRESULT IHTMLElement7_put_onmspointermove(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmspointermove(This,v);
}
static inline HRESULT IHTMLElement7_get_onmspointermove(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointermove(This,p);
}
static inline HRESULT IHTMLElement7_put_onmspointerup(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerup(This,v);
}
static inline HRESULT IHTMLElement7_get_onmspointerup(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerup(This,p);
}
static inline HRESULT IHTMLElement7_put_onmspointerover(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerover(This,v);
}
static inline HRESULT IHTMLElement7_get_onmspointerover(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerover(This,p);
}
static inline HRESULT IHTMLElement7_put_onmspointerout(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerout(This,v);
}
static inline HRESULT IHTMLElement7_get_onmspointerout(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerout(This,p);
}
static inline HRESULT IHTMLElement7_put_onmspointercancel(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmspointercancel(This,v);
}
static inline HRESULT IHTMLElement7_get_onmspointercancel(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointercancel(This,p);
}
static inline HRESULT IHTMLElement7_put_onmspointerhover(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerhover(This,v);
}
static inline HRESULT IHTMLElement7_get_onmspointerhover(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerhover(This,p);
}
static inline HRESULT IHTMLElement7_put_onmslostpointercapture(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmslostpointercapture(This,v);
}
static inline HRESULT IHTMLElement7_get_onmslostpointercapture(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmslostpointercapture(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsgotpointercapture(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsgotpointercapture(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsgotpointercapture(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgotpointercapture(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsgesturestart(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturestart(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsgesturestart(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturestart(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsgesturechange(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturechange(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsgesturechange(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturechange(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsgestureend(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsgestureend(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsgestureend(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgestureend(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsgesturehold(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturehold(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsgesturehold(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturehold(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsgesturetap(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturetap(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsgesturetap(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturetap(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsgesturedoubletap(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturedoubletap(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsgesturedoubletap(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturedoubletap(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsinertiastart(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsinertiastart(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsinertiastart(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsinertiastart(This,p);
}
static inline HRESULT IHTMLElement7_msSetPointerCapture(IHTMLElement7* This,LONG pointerId) {
    return This->lpVtbl->msSetPointerCapture(This,pointerId);
}
static inline HRESULT IHTMLElement7_msReleasePointerCapture(IHTMLElement7* This,LONG pointerId) {
    return This->lpVtbl->msReleasePointerCapture(This,pointerId);
}
static inline HRESULT IHTMLElement7_put_onmstransitionstart(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmstransitionstart(This,v);
}
static inline HRESULT IHTMLElement7_get_onmstransitionstart(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmstransitionstart(This,p);
}
static inline HRESULT IHTMLElement7_put_onmstransitionend(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmstransitionend(This,v);
}
static inline HRESULT IHTMLElement7_get_onmstransitionend(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmstransitionend(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsanimationstart(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsanimationstart(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsanimationstart(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsanimationstart(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsanimationend(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsanimationend(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsanimationend(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsanimationend(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsanimationiteration(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsanimationiteration(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsanimationiteration(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsanimationiteration(This,p);
}
static inline HRESULT IHTMLElement7_put_oninvalid(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_oninvalid(This,v);
}
static inline HRESULT IHTMLElement7_get_oninvalid(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_oninvalid(This,p);
}
static inline HRESULT IHTMLElement7_put_xmsAcceleratorKey(IHTMLElement7* This,BSTR v) {
    return This->lpVtbl->put_xmsAcceleratorKey(This,v);
}
static inline HRESULT IHTMLElement7_get_xmsAcceleratorKey(IHTMLElement7* This,BSTR *p) {
    return This->lpVtbl->get_xmsAcceleratorKey(This,p);
}
static inline HRESULT IHTMLElement7_put_spellcheck(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_spellcheck(This,v);
}
static inline HRESULT IHTMLElement7_get_spellcheck(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_spellcheck(This,p);
}
static inline HRESULT IHTMLElement7_put_onmsmanipulationstatechanged(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_onmsmanipulationstatechanged(This,v);
}
static inline HRESULT IHTMLElement7_get_onmsmanipulationstatechanged(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsmanipulationstatechanged(This,p);
}
static inline HRESULT IHTMLElement7_put_oncuechange(IHTMLElement7* This,VARIANT v) {
    return This->lpVtbl->put_oncuechange(This,v);
}
static inline HRESULT IHTMLElement7_get_oncuechange(IHTMLElement7* This,VARIANT *p) {
    return This->lpVtbl->get_oncuechange(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement7_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElementAppliedStyles interface
 */
#ifndef __IHTMLElementAppliedStyles_INTERFACE_DEFINED__
#define __IHTMLElementAppliedStyles_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElementAppliedStyles, 0x305104bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104bd-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElementAppliedStyles : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE msGetRulesApplied(
        IRulesAppliedCollection **ppRulesAppliedCollection) = 0;

    virtual HRESULT STDMETHODCALLTYPE msGetRulesAppliedWithAncestor(
        VARIANT varContext,
        IRulesAppliedCollection **ppRulesAppliedCollection) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElementAppliedStyles, 0x305104bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementAppliedStylesVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElementAppliedStyles *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElementAppliedStyles *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElementAppliedStyles *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElementAppliedStyles *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElementAppliedStyles methods ***/
    HRESULT (STDMETHODCALLTYPE *msGetRulesApplied)(
        IHTMLElementAppliedStyles *This,
        IRulesAppliedCollection **ppRulesAppliedCollection);

    HRESULT (STDMETHODCALLTYPE *msGetRulesAppliedWithAncestor)(
        IHTMLElementAppliedStyles *This,
        VARIANT varContext,
        IRulesAppliedCollection **ppRulesAppliedCollection);

    END_INTERFACE
} IHTMLElementAppliedStylesVtbl;

interface IHTMLElementAppliedStyles {
    CONST_VTBL IHTMLElementAppliedStylesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElementAppliedStyles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElementAppliedStyles_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElementAppliedStyles_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElementAppliedStyles_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElementAppliedStyles_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElementAppliedStyles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElementAppliedStyles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElementAppliedStyles methods ***/
#define IHTMLElementAppliedStyles_msGetRulesApplied(This,ppRulesAppliedCollection) (This)->lpVtbl->msGetRulesApplied(This,ppRulesAppliedCollection)
#define IHTMLElementAppliedStyles_msGetRulesAppliedWithAncestor(This,varContext,ppRulesAppliedCollection) (This)->lpVtbl->msGetRulesAppliedWithAncestor(This,varContext,ppRulesAppliedCollection)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElementAppliedStyles_QueryInterface(IHTMLElementAppliedStyles* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElementAppliedStyles_AddRef(IHTMLElementAppliedStyles* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElementAppliedStyles_Release(IHTMLElementAppliedStyles* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElementAppliedStyles_GetTypeInfoCount(IHTMLElementAppliedStyles* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElementAppliedStyles_GetTypeInfo(IHTMLElementAppliedStyles* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElementAppliedStyles_GetIDsOfNames(IHTMLElementAppliedStyles* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElementAppliedStyles_Invoke(IHTMLElementAppliedStyles* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElementAppliedStyles methods ***/
static inline HRESULT IHTMLElementAppliedStyles_msGetRulesApplied(IHTMLElementAppliedStyles* This,IRulesAppliedCollection **ppRulesAppliedCollection) {
    return This->lpVtbl->msGetRulesApplied(This,ppRulesAppliedCollection);
}
static inline HRESULT IHTMLElementAppliedStyles_msGetRulesAppliedWithAncestor(IHTMLElementAppliedStyles* This,VARIANT varContext,IRulesAppliedCollection **ppRulesAppliedCollection) {
    return This->lpVtbl->msGetRulesAppliedWithAncestor(This,varContext,ppRulesAppliedCollection);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementAppliedStyles_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementTraversal interface
 */
#ifndef __IElementTraversal_INTERFACE_DEFINED__
#define __IElementTraversal_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementTraversal, 0x30510736, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510736-98b5-11cf-bb82-00aa00bdce0b")
IElementTraversal : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_firstElementChild(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lastElementChild(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_previousElementSibling(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nextElementSibling(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_childElementCount(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementTraversal, 0x30510736, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementTraversalVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IElementTraversal *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IElementTraversal *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IElementTraversal *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IElementTraversal *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IElementTraversal methods ***/
    HRESULT (STDMETHODCALLTYPE *get_firstElementChild)(
        IElementTraversal *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_lastElementChild)(
        IElementTraversal *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_previousElementSibling)(
        IElementTraversal *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_nextElementSibling)(
        IElementTraversal *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_childElementCount)(
        IElementTraversal *This,
        LONG *p);

    END_INTERFACE
} IElementTraversalVtbl;

interface IElementTraversal {
    CONST_VTBL IElementTraversalVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementTraversal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementTraversal_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementTraversal_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IElementTraversal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IElementTraversal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IElementTraversal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IElementTraversal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IElementTraversal methods ***/
#define IElementTraversal_get_firstElementChild(This,p) (This)->lpVtbl->get_firstElementChild(This,p)
#define IElementTraversal_get_lastElementChild(This,p) (This)->lpVtbl->get_lastElementChild(This,p)
#define IElementTraversal_get_previousElementSibling(This,p) (This)->lpVtbl->get_previousElementSibling(This,p)
#define IElementTraversal_get_nextElementSibling(This,p) (This)->lpVtbl->get_nextElementSibling(This,p)
#define IElementTraversal_get_childElementCount(This,p) (This)->lpVtbl->get_childElementCount(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementTraversal_QueryInterface(IElementTraversal* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementTraversal_AddRef(IElementTraversal* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementTraversal_Release(IElementTraversal* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IElementTraversal_GetTypeInfoCount(IElementTraversal* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IElementTraversal_GetTypeInfo(IElementTraversal* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IElementTraversal_GetIDsOfNames(IElementTraversal* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IElementTraversal_Invoke(IElementTraversal* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IElementTraversal methods ***/
static inline HRESULT IElementTraversal_get_firstElementChild(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_firstElementChild(This,p);
}
static inline HRESULT IElementTraversal_get_lastElementChild(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_lastElementChild(This,p);
}
static inline HRESULT IElementTraversal_get_previousElementSibling(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_previousElementSibling(This,p);
}
static inline HRESULT IElementTraversal_get_nextElementSibling(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_nextElementSibling(This,p);
}
static inline HRESULT IElementTraversal_get_childElementCount(IElementTraversal* This,LONG *p) {
    return This->lpVtbl->get_childElementCount(This,p);
}
#endif
#endif

#endif


#endif  /* __IElementTraversal_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDatabinding interface
 */
#ifndef __IHTMLDatabinding_INTERFACE_DEFINED__
#define __IHTMLDatabinding_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDatabinding, 0x3050f3f2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3f2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDatabinding : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_dataFld(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dataFld(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dataSrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dataSrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dataFormatAs(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dataFormatAs(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDatabinding, 0x3050f3f2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDatabindingVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDatabinding *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDatabinding *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDatabinding *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDatabinding *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDatabinding methods ***/
    HRESULT (STDMETHODCALLTYPE *put_dataFld)(
        IHTMLDatabinding *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dataFld)(
        IHTMLDatabinding *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dataSrc)(
        IHTMLDatabinding *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dataSrc)(
        IHTMLDatabinding *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dataFormatAs)(
        IHTMLDatabinding *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dataFormatAs)(
        IHTMLDatabinding *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDatabindingVtbl;

interface IHTMLDatabinding {
    CONST_VTBL IHTMLDatabindingVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDatabinding_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDatabinding_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDatabinding_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDatabinding_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDatabinding_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDatabinding_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDatabinding_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDatabinding methods ***/
#define IHTMLDatabinding_put_dataFld(This,v) (This)->lpVtbl->put_dataFld(This,v)
#define IHTMLDatabinding_get_dataFld(This,p) (This)->lpVtbl->get_dataFld(This,p)
#define IHTMLDatabinding_put_dataSrc(This,v) (This)->lpVtbl->put_dataSrc(This,v)
#define IHTMLDatabinding_get_dataSrc(This,p) (This)->lpVtbl->get_dataSrc(This,p)
#define IHTMLDatabinding_put_dataFormatAs(This,v) (This)->lpVtbl->put_dataFormatAs(This,v)
#define IHTMLDatabinding_get_dataFormatAs(This,p) (This)->lpVtbl->get_dataFormatAs(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDatabinding_QueryInterface(IHTMLDatabinding* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDatabinding_AddRef(IHTMLDatabinding* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDatabinding_Release(IHTMLDatabinding* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDatabinding_GetTypeInfoCount(IHTMLDatabinding* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDatabinding_GetTypeInfo(IHTMLDatabinding* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDatabinding_GetIDsOfNames(IHTMLDatabinding* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDatabinding_Invoke(IHTMLDatabinding* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDatabinding methods ***/
static inline HRESULT IHTMLDatabinding_put_dataFld(IHTMLDatabinding* This,BSTR v) {
    return This->lpVtbl->put_dataFld(This,v);
}
static inline HRESULT IHTMLDatabinding_get_dataFld(IHTMLDatabinding* This,BSTR *p) {
    return This->lpVtbl->get_dataFld(This,p);
}
static inline HRESULT IHTMLDatabinding_put_dataSrc(IHTMLDatabinding* This,BSTR v) {
    return This->lpVtbl->put_dataSrc(This,v);
}
static inline HRESULT IHTMLDatabinding_get_dataSrc(IHTMLDatabinding* This,BSTR *p) {
    return This->lpVtbl->get_dataSrc(This,p);
}
static inline HRESULT IHTMLDatabinding_put_dataFormatAs(IHTMLDatabinding* This,BSTR v) {
    return This->lpVtbl->put_dataFormatAs(This,v);
}
static inline HRESULT IHTMLDatabinding_get_dataFormatAs(IHTMLDatabinding* This,BSTR *p) {
    return This->lpVtbl->get_dataFormatAs(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDatabinding_INTERFACE_DEFINED__ */

#ifndef __IHTMLDocument_FWD_DEFINED__
#define __IHTMLDocument_FWD_DEFINED__
typedef interface IHTMLDocument IHTMLDocument;
#ifdef __cplusplus
interface IHTMLDocument;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLElementDefaults interface
 */
#ifndef __IHTMLElementDefaults_INTERFACE_DEFINED__
#define __IHTMLElementDefaults_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElementDefaults, 0x3050f6c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6c9-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElementDefaults : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_style(
        IHTMLStyle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_tabStop(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tabStop(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_viewInheritStyle(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_viewInheritStyle(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_viewMasterTab(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_viewMasterTab(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollSegmentX(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollSegmentX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollSegmentY(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollSegmentY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_isMultiLine(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isMultiLine(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_contentEditable(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_contentEditable(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_canHaveHTML(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_canHaveHTML(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_viewLink(
        IHTMLDocument *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_viewLink(
        IHTMLDocument **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frozen(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frozen(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElementDefaults, 0x3050f6c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementDefaultsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElementDefaults *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElementDefaults *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElementDefaults *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElementDefaults *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElementDefaults methods ***/
    HRESULT (STDMETHODCALLTYPE *get_style)(
        IHTMLElementDefaults *This,
        IHTMLStyle **p);

    HRESULT (STDMETHODCALLTYPE *put_tabStop)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_tabStop)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_viewInheritStyle)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_viewInheritStyle)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_viewMasterTab)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_viewMasterTab)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollSegmentX)(
        IHTMLElementDefaults *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollSegmentX)(
        IHTMLElementDefaults *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollSegmentY)(
        IHTMLElementDefaults *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollSegmentY)(
        IHTMLElementDefaults *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_isMultiLine)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_isMultiLine)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_contentEditable)(
        IHTMLElementDefaults *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_contentEditable)(
        IHTMLElementDefaults *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_canHaveHTML)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_canHaveHTML)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *putref_viewLink)(
        IHTMLElementDefaults *This,
        IHTMLDocument *v);

    HRESULT (STDMETHODCALLTYPE *get_viewLink)(
        IHTMLElementDefaults *This,
        IHTMLDocument **p);

    HRESULT (STDMETHODCALLTYPE *put_frozen)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frozen)(
        IHTMLElementDefaults *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLElementDefaultsVtbl;

interface IHTMLElementDefaults {
    CONST_VTBL IHTMLElementDefaultsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElementDefaults_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElementDefaults_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElementDefaults_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElementDefaults_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElementDefaults_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElementDefaults_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElementDefaults_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElementDefaults methods ***/
#define IHTMLElementDefaults_get_style(This,p) (This)->lpVtbl->get_style(This,p)
#define IHTMLElementDefaults_put_tabStop(This,v) (This)->lpVtbl->put_tabStop(This,v)
#define IHTMLElementDefaults_get_tabStop(This,p) (This)->lpVtbl->get_tabStop(This,p)
#define IHTMLElementDefaults_put_viewInheritStyle(This,v) (This)->lpVtbl->put_viewInheritStyle(This,v)
#define IHTMLElementDefaults_get_viewInheritStyle(This,p) (This)->lpVtbl->get_viewInheritStyle(This,p)
#define IHTMLElementDefaults_put_viewMasterTab(This,v) (This)->lpVtbl->put_viewMasterTab(This,v)
#define IHTMLElementDefaults_get_viewMasterTab(This,p) (This)->lpVtbl->get_viewMasterTab(This,p)
#define IHTMLElementDefaults_put_scrollSegmentX(This,v) (This)->lpVtbl->put_scrollSegmentX(This,v)
#define IHTMLElementDefaults_get_scrollSegmentX(This,p) (This)->lpVtbl->get_scrollSegmentX(This,p)
#define IHTMLElementDefaults_put_scrollSegmentY(This,v) (This)->lpVtbl->put_scrollSegmentY(This,v)
#define IHTMLElementDefaults_get_scrollSegmentY(This,p) (This)->lpVtbl->get_scrollSegmentY(This,p)
#define IHTMLElementDefaults_put_isMultiLine(This,v) (This)->lpVtbl->put_isMultiLine(This,v)
#define IHTMLElementDefaults_get_isMultiLine(This,p) (This)->lpVtbl->get_isMultiLine(This,p)
#define IHTMLElementDefaults_put_contentEditable(This,v) (This)->lpVtbl->put_contentEditable(This,v)
#define IHTMLElementDefaults_get_contentEditable(This,p) (This)->lpVtbl->get_contentEditable(This,p)
#define IHTMLElementDefaults_put_canHaveHTML(This,v) (This)->lpVtbl->put_canHaveHTML(This,v)
#define IHTMLElementDefaults_get_canHaveHTML(This,p) (This)->lpVtbl->get_canHaveHTML(This,p)
#define IHTMLElementDefaults_putref_viewLink(This,v) (This)->lpVtbl->putref_viewLink(This,v)
#define IHTMLElementDefaults_get_viewLink(This,p) (This)->lpVtbl->get_viewLink(This,p)
#define IHTMLElementDefaults_put_frozen(This,v) (This)->lpVtbl->put_frozen(This,v)
#define IHTMLElementDefaults_get_frozen(This,p) (This)->lpVtbl->get_frozen(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElementDefaults_QueryInterface(IHTMLElementDefaults* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElementDefaults_AddRef(IHTMLElementDefaults* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElementDefaults_Release(IHTMLElementDefaults* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElementDefaults_GetTypeInfoCount(IHTMLElementDefaults* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElementDefaults_GetTypeInfo(IHTMLElementDefaults* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElementDefaults_GetIDsOfNames(IHTMLElementDefaults* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElementDefaults_Invoke(IHTMLElementDefaults* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElementDefaults methods ***/
static inline HRESULT IHTMLElementDefaults_get_style(IHTMLElementDefaults* This,IHTMLStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_tabStop(IHTMLElementDefaults* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_tabStop(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_tabStop(IHTMLElementDefaults* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_tabStop(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_viewInheritStyle(IHTMLElementDefaults* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_viewInheritStyle(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_viewInheritStyle(IHTMLElementDefaults* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_viewInheritStyle(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_viewMasterTab(IHTMLElementDefaults* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_viewMasterTab(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_viewMasterTab(IHTMLElementDefaults* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_viewMasterTab(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_scrollSegmentX(IHTMLElementDefaults* This,LONG v) {
    return This->lpVtbl->put_scrollSegmentX(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_scrollSegmentX(IHTMLElementDefaults* This,LONG *p) {
    return This->lpVtbl->get_scrollSegmentX(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_scrollSegmentY(IHTMLElementDefaults* This,LONG v) {
    return This->lpVtbl->put_scrollSegmentY(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_scrollSegmentY(IHTMLElementDefaults* This,LONG *p) {
    return This->lpVtbl->get_scrollSegmentY(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_isMultiLine(IHTMLElementDefaults* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_isMultiLine(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_isMultiLine(IHTMLElementDefaults* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isMultiLine(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_contentEditable(IHTMLElementDefaults* This,BSTR v) {
    return This->lpVtbl->put_contentEditable(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_contentEditable(IHTMLElementDefaults* This,BSTR *p) {
    return This->lpVtbl->get_contentEditable(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_canHaveHTML(IHTMLElementDefaults* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_canHaveHTML(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_canHaveHTML(IHTMLElementDefaults* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_canHaveHTML(This,p);
}
static inline HRESULT IHTMLElementDefaults_putref_viewLink(IHTMLElementDefaults* This,IHTMLDocument *v) {
    return This->lpVtbl->putref_viewLink(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_viewLink(IHTMLElementDefaults* This,IHTMLDocument **p) {
    return This->lpVtbl->get_viewLink(This,p);
}
static inline HRESULT IHTMLElementDefaults_put_frozen(IHTMLElementDefaults* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frozen(This,v);
}
static inline HRESULT IHTMLElementDefaults_get_frozen(IHTMLElementDefaults* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frozen(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementDefaults_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDefaults dispinterface
 */
#ifndef __DispHTMLDefaults_DISPINTERFACE_DEFINED__
#define __DispHTMLDefaults_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDefaults, 0x3050f58c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f58c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDefaults : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDefaults, 0x3050f58c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDefaultsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDefaults *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDefaults *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDefaults *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDefaults *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDefaultsVtbl;

interface DispHTMLDefaults {
    CONST_VTBL DispHTMLDefaultsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDefaults_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDefaults_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDefaults_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDefaults_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDefaults_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDefaults_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDefaults_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDefaults_QueryInterface(DispHTMLDefaults* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDefaults_AddRef(DispHTMLDefaults* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDefaults_Release(DispHTMLDefaults* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDefaults_GetTypeInfoCount(DispHTMLDefaults* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDefaults_GetTypeInfo(DispHTMLDefaults* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDefaults_GetIDsOfNames(DispHTMLDefaults* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDefaults_Invoke(DispHTMLDefaults* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDefaults_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDefaults coclass
 */

DEFINE_GUID(CLSID_HTMLDefaults, 0x3050f6c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f6c8-98b5-11cf-bb82-00aa00bdce0b") HTMLDefaults;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDefaults, 0x3050f6c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDefaults;
#ifndef __IHTMLEventObj_FWD_DEFINED__
#define __IHTMLEventObj_FWD_DEFINED__
typedef interface IHTMLEventObj IHTMLEventObj;
#ifdef __cplusplus
interface IHTMLEventObj;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTCDefaultDispatch interface
 */
#ifndef __IHTCDefaultDispatch_INTERFACE_DEFINED__
#define __IHTCDefaultDispatch_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTCDefaultDispatch, 0x3050f4fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4fd-98b5-11cf-bb82-00aa00bdce0b")
IHTCDefaultDispatch : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_element(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createEventObject(
        IHTMLEventObj **eventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaults(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_document(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTCDefaultDispatch, 0x3050f4fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTCDefaultDispatchVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTCDefaultDispatch *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTCDefaultDispatch *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTCDefaultDispatch *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTCDefaultDispatch *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTCDefaultDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *get_element)(
        IHTCDefaultDispatch *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *createEventObject)(
        IHTCDefaultDispatch *This,
        IHTMLEventObj **eventObj);

    HRESULT (STDMETHODCALLTYPE *get_defaults)(
        IHTCDefaultDispatch *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_document)(
        IHTCDefaultDispatch *This,
        IDispatch **p);

    END_INTERFACE
} IHTCDefaultDispatchVtbl;

interface IHTCDefaultDispatch {
    CONST_VTBL IHTCDefaultDispatchVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTCDefaultDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTCDefaultDispatch_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTCDefaultDispatch_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTCDefaultDispatch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTCDefaultDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTCDefaultDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTCDefaultDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTCDefaultDispatch methods ***/
#define IHTCDefaultDispatch_get_element(This,p) (This)->lpVtbl->get_element(This,p)
#define IHTCDefaultDispatch_createEventObject(This,eventObj) (This)->lpVtbl->createEventObject(This,eventObj)
#define IHTCDefaultDispatch_get_defaults(This,p) (This)->lpVtbl->get_defaults(This,p)
#define IHTCDefaultDispatch_get_document(This,p) (This)->lpVtbl->get_document(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTCDefaultDispatch_QueryInterface(IHTCDefaultDispatch* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTCDefaultDispatch_AddRef(IHTCDefaultDispatch* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTCDefaultDispatch_Release(IHTCDefaultDispatch* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTCDefaultDispatch_GetTypeInfoCount(IHTCDefaultDispatch* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTCDefaultDispatch_GetTypeInfo(IHTCDefaultDispatch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTCDefaultDispatch_GetIDsOfNames(IHTCDefaultDispatch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTCDefaultDispatch_Invoke(IHTCDefaultDispatch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTCDefaultDispatch methods ***/
static inline HRESULT IHTCDefaultDispatch_get_element(IHTCDefaultDispatch* This,IHTMLElement **p) {
    return This->lpVtbl->get_element(This,p);
}
static inline HRESULT IHTCDefaultDispatch_createEventObject(IHTCDefaultDispatch* This,IHTMLEventObj **eventObj) {
    return This->lpVtbl->createEventObject(This,eventObj);
}
static inline HRESULT IHTCDefaultDispatch_get_defaults(IHTCDefaultDispatch* This,IDispatch **p) {
    return This->lpVtbl->get_defaults(This,p);
}
static inline HRESULT IHTCDefaultDispatch_get_document(IHTCDefaultDispatch* This,IDispatch **p) {
    return This->lpVtbl->get_document(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTCDefaultDispatch_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTCPropertyBehavior interface
 */
#ifndef __IHTCPropertyBehavior_INTERFACE_DEFINED__
#define __IHTCPropertyBehavior_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTCPropertyBehavior, 0x3050f5df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5df-98b5-11cf-bb82-00aa00bdce0b")
IHTCPropertyBehavior : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE fireChange(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTCPropertyBehavior, 0x3050f5df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTCPropertyBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTCPropertyBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTCPropertyBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTCPropertyBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTCPropertyBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTCPropertyBehavior methods ***/
    HRESULT (STDMETHODCALLTYPE *fireChange)(
        IHTCPropertyBehavior *This);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTCPropertyBehavior *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTCPropertyBehavior *This,
        VARIANT *p);

    END_INTERFACE
} IHTCPropertyBehaviorVtbl;

interface IHTCPropertyBehavior {
    CONST_VTBL IHTCPropertyBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTCPropertyBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTCPropertyBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTCPropertyBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTCPropertyBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTCPropertyBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTCPropertyBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTCPropertyBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTCPropertyBehavior methods ***/
#define IHTCPropertyBehavior_fireChange(This) (This)->lpVtbl->fireChange(This)
#define IHTCPropertyBehavior_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTCPropertyBehavior_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTCPropertyBehavior_QueryInterface(IHTCPropertyBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTCPropertyBehavior_AddRef(IHTCPropertyBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTCPropertyBehavior_Release(IHTCPropertyBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTCPropertyBehavior_GetTypeInfoCount(IHTCPropertyBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTCPropertyBehavior_GetTypeInfo(IHTCPropertyBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTCPropertyBehavior_GetIDsOfNames(IHTCPropertyBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTCPropertyBehavior_Invoke(IHTCPropertyBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTCPropertyBehavior methods ***/
static inline HRESULT IHTCPropertyBehavior_fireChange(IHTCPropertyBehavior* This) {
    return This->lpVtbl->fireChange(This);
}
static inline HRESULT IHTCPropertyBehavior_put_value(IHTCPropertyBehavior* This,VARIANT v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTCPropertyBehavior_get_value(IHTCPropertyBehavior* This,VARIANT *p) {
    return This->lpVtbl->get_value(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTCPropertyBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTCMethodBehavior interface
 */
#ifndef __IHTCMethodBehavior_INTERFACE_DEFINED__
#define __IHTCMethodBehavior_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTCMethodBehavior, 0x3050f631, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f631-98b5-11cf-bb82-00aa00bdce0b")
IHTCMethodBehavior : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTCMethodBehavior, 0x3050f631, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTCMethodBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTCMethodBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTCMethodBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTCMethodBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTCMethodBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTCMethodBehaviorVtbl;

interface IHTCMethodBehavior {
    CONST_VTBL IHTCMethodBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTCMethodBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTCMethodBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTCMethodBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTCMethodBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTCMethodBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTCMethodBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTCMethodBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTCMethodBehavior_QueryInterface(IHTCMethodBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTCMethodBehavior_AddRef(IHTCMethodBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTCMethodBehavior_Release(IHTCMethodBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTCMethodBehavior_GetTypeInfoCount(IHTCMethodBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTCMethodBehavior_GetTypeInfo(IHTCMethodBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTCMethodBehavior_GetIDsOfNames(IHTCMethodBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTCMethodBehavior_Invoke(IHTCMethodBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTCMethodBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTCEventBehavior interface
 */
#ifndef __IHTCEventBehavior_INTERFACE_DEFINED__
#define __IHTCEventBehavior_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTCEventBehavior, 0x3050f4ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ff-98b5-11cf-bb82-00aa00bdce0b")
IHTCEventBehavior : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE fire(
        IHTMLEventObj *pvar) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTCEventBehavior, 0x3050f4ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTCEventBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTCEventBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTCEventBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTCEventBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTCEventBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTCEventBehavior methods ***/
    HRESULT (STDMETHODCALLTYPE *fire)(
        IHTCEventBehavior *This,
        IHTMLEventObj *pvar);

    END_INTERFACE
} IHTCEventBehaviorVtbl;

interface IHTCEventBehavior {
    CONST_VTBL IHTCEventBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTCEventBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTCEventBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTCEventBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTCEventBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTCEventBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTCEventBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTCEventBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTCEventBehavior methods ***/
#define IHTCEventBehavior_fire(This,pvar) (This)->lpVtbl->fire(This,pvar)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTCEventBehavior_QueryInterface(IHTCEventBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTCEventBehavior_AddRef(IHTCEventBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTCEventBehavior_Release(IHTCEventBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTCEventBehavior_GetTypeInfoCount(IHTCEventBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTCEventBehavior_GetTypeInfo(IHTCEventBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTCEventBehavior_GetIDsOfNames(IHTCEventBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTCEventBehavior_Invoke(IHTCEventBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTCEventBehavior methods ***/
static inline HRESULT IHTCEventBehavior_fire(IHTCEventBehavior* This,IHTMLEventObj *pvar) {
    return This->lpVtbl->fire(This,pvar);
}
#endif
#endif

#endif


#endif  /* __IHTCEventBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTCAttachBehavior interface
 */
#ifndef __IHTCAttachBehavior_INTERFACE_DEFINED__
#define __IHTCAttachBehavior_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTCAttachBehavior, 0x3050f5f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5f4-98b5-11cf-bb82-00aa00bdce0b")
IHTCAttachBehavior : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE fireEvent(
        IDispatch *evt) = 0;

    virtual HRESULT STDMETHODCALLTYPE detachEvent(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTCAttachBehavior, 0x3050f5f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTCAttachBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTCAttachBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTCAttachBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTCAttachBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTCAttachBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTCAttachBehavior methods ***/
    HRESULT (STDMETHODCALLTYPE *fireEvent)(
        IHTCAttachBehavior *This,
        IDispatch *evt);

    HRESULT (STDMETHODCALLTYPE *detachEvent)(
        IHTCAttachBehavior *This);

    END_INTERFACE
} IHTCAttachBehaviorVtbl;

interface IHTCAttachBehavior {
    CONST_VTBL IHTCAttachBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTCAttachBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTCAttachBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTCAttachBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTCAttachBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTCAttachBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTCAttachBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTCAttachBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTCAttachBehavior methods ***/
#define IHTCAttachBehavior_fireEvent(This,evt) (This)->lpVtbl->fireEvent(This,evt)
#define IHTCAttachBehavior_detachEvent(This) (This)->lpVtbl->detachEvent(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTCAttachBehavior_QueryInterface(IHTCAttachBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTCAttachBehavior_AddRef(IHTCAttachBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTCAttachBehavior_Release(IHTCAttachBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTCAttachBehavior_GetTypeInfoCount(IHTCAttachBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTCAttachBehavior_GetTypeInfo(IHTCAttachBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTCAttachBehavior_GetIDsOfNames(IHTCAttachBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTCAttachBehavior_Invoke(IHTCAttachBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTCAttachBehavior methods ***/
static inline HRESULT IHTCAttachBehavior_fireEvent(IHTCAttachBehavior* This,IDispatch *evt) {
    return This->lpVtbl->fireEvent(This,evt);
}
static inline HRESULT IHTCAttachBehavior_detachEvent(IHTCAttachBehavior* This) {
    return This->lpVtbl->detachEvent(This);
}
#endif
#endif

#endif


#endif  /* __IHTCAttachBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTCAttachBehavior2 interface
 */
#ifndef __IHTCAttachBehavior2_INTERFACE_DEFINED__
#define __IHTCAttachBehavior2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTCAttachBehavior2, 0x3050f7eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7eb-98b5-11cf-bb82-00aa00bdce0b")
IHTCAttachBehavior2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE fireEvent(
        VARIANT evt) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTCAttachBehavior2, 0x3050f7eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTCAttachBehavior2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTCAttachBehavior2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTCAttachBehavior2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTCAttachBehavior2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTCAttachBehavior2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTCAttachBehavior2 methods ***/
    HRESULT (STDMETHODCALLTYPE *fireEvent)(
        IHTCAttachBehavior2 *This,
        VARIANT evt);

    END_INTERFACE
} IHTCAttachBehavior2Vtbl;

interface IHTCAttachBehavior2 {
    CONST_VTBL IHTCAttachBehavior2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTCAttachBehavior2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTCAttachBehavior2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTCAttachBehavior2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTCAttachBehavior2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTCAttachBehavior2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTCAttachBehavior2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTCAttachBehavior2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTCAttachBehavior2 methods ***/
#define IHTCAttachBehavior2_fireEvent(This,evt) (This)->lpVtbl->fireEvent(This,evt)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTCAttachBehavior2_QueryInterface(IHTCAttachBehavior2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTCAttachBehavior2_AddRef(IHTCAttachBehavior2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTCAttachBehavior2_Release(IHTCAttachBehavior2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTCAttachBehavior2_GetTypeInfoCount(IHTCAttachBehavior2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTCAttachBehavior2_GetTypeInfo(IHTCAttachBehavior2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTCAttachBehavior2_GetIDsOfNames(IHTCAttachBehavior2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTCAttachBehavior2_Invoke(IHTCAttachBehavior2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTCAttachBehavior2 methods ***/
static inline HRESULT IHTCAttachBehavior2_fireEvent(IHTCAttachBehavior2* This,VARIANT evt) {
    return This->lpVtbl->fireEvent(This,evt);
}
#endif
#endif

#endif


#endif  /* __IHTCAttachBehavior2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTCDescBehavior interface
 */
#ifndef __IHTCDescBehavior_INTERFACE_DEFINED__
#define __IHTCDescBehavior_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTCDescBehavior, 0x3050f5dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5dc-98b5-11cf-bb82-00aa00bdce0b")
IHTCDescBehavior : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_urn(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTCDescBehavior, 0x3050f5dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTCDescBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTCDescBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTCDescBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTCDescBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTCDescBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTCDescBehavior methods ***/
    HRESULT (STDMETHODCALLTYPE *get_urn)(
        IHTCDescBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTCDescBehavior *This,
        BSTR *p);

    END_INTERFACE
} IHTCDescBehaviorVtbl;

interface IHTCDescBehavior {
    CONST_VTBL IHTCDescBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTCDescBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTCDescBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTCDescBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTCDescBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTCDescBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTCDescBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTCDescBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTCDescBehavior methods ***/
#define IHTCDescBehavior_get_urn(This,p) (This)->lpVtbl->get_urn(This,p)
#define IHTCDescBehavior_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTCDescBehavior_QueryInterface(IHTCDescBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTCDescBehavior_AddRef(IHTCDescBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTCDescBehavior_Release(IHTCDescBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTCDescBehavior_GetTypeInfoCount(IHTCDescBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTCDescBehavior_GetTypeInfo(IHTCDescBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTCDescBehavior_GetIDsOfNames(IHTCDescBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTCDescBehavior_Invoke(IHTCDescBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTCDescBehavior methods ***/
static inline HRESULT IHTCDescBehavior_get_urn(IHTCDescBehavior* This,BSTR *p) {
    return This->lpVtbl->get_urn(This,p);
}
static inline HRESULT IHTCDescBehavior_get_name(IHTCDescBehavior* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTCDescBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTCDefaultDispatch dispinterface
 */
#ifndef __DispHTCDefaultDispatch_DISPINTERFACE_DEFINED__
#define __DispHTCDefaultDispatch_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTCDefaultDispatch, 0x3050f573, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f573-98b5-11cf-bb82-00aa00bdce0b")
DispHTCDefaultDispatch : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTCDefaultDispatch, 0x3050f573, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTCDefaultDispatchVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTCDefaultDispatch *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTCDefaultDispatch *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTCDefaultDispatch *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTCDefaultDispatch *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTCDefaultDispatchVtbl;

interface DispHTCDefaultDispatch {
    CONST_VTBL DispHTCDefaultDispatchVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTCDefaultDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTCDefaultDispatch_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTCDefaultDispatch_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTCDefaultDispatch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTCDefaultDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTCDefaultDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTCDefaultDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTCDefaultDispatch_QueryInterface(DispHTCDefaultDispatch* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTCDefaultDispatch_AddRef(DispHTCDefaultDispatch* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTCDefaultDispatch_Release(DispHTCDefaultDispatch* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTCDefaultDispatch_GetTypeInfoCount(DispHTCDefaultDispatch* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTCDefaultDispatch_GetTypeInfo(DispHTCDefaultDispatch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTCDefaultDispatch_GetIDsOfNames(DispHTCDefaultDispatch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTCDefaultDispatch_Invoke(DispHTCDefaultDispatch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTCDefaultDispatch_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTCDefaultDispatch coclass
 */

DEFINE_GUID(CLSID_HTCDefaultDispatch, 0x3050f4fc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4fc-98b5-11cf-bb82-00aa00bdce0b") HTCDefaultDispatch;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTCDefaultDispatch, 0x3050f4fc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHtmlComponentDD;
/*****************************************************************************
 * DispHTCPropertyBehavior dispinterface
 */
#ifndef __DispHTCPropertyBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCPropertyBehavior_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTCPropertyBehavior, 0x3050f57f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f57f-98b5-11cf-bb82-00aa00bdce0b")
DispHTCPropertyBehavior : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTCPropertyBehavior, 0x3050f57f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTCPropertyBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTCPropertyBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTCPropertyBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTCPropertyBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTCPropertyBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTCPropertyBehaviorVtbl;

interface DispHTCPropertyBehavior {
    CONST_VTBL DispHTCPropertyBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTCPropertyBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTCPropertyBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTCPropertyBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTCPropertyBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTCPropertyBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTCPropertyBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTCPropertyBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTCPropertyBehavior_QueryInterface(DispHTCPropertyBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTCPropertyBehavior_AddRef(DispHTCPropertyBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTCPropertyBehavior_Release(DispHTCPropertyBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTCPropertyBehavior_GetTypeInfoCount(DispHTCPropertyBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTCPropertyBehavior_GetTypeInfo(DispHTCPropertyBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTCPropertyBehavior_GetIDsOfNames(DispHTCPropertyBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTCPropertyBehavior_Invoke(DispHTCPropertyBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTCPropertyBehavior_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTCPropertyBehavior coclass
 */

DEFINE_GUID(CLSID_HTCPropertyBehavior, 0x3050f5de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f5de-98b5-11cf-bb82-00aa00bdce0b") HTCPropertyBehavior;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTCPropertyBehavior, 0x3050f5de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHtmlComponentProperty;
/*****************************************************************************
 * DispHTCMethodBehavior dispinterface
 */
#ifndef __DispHTCMethodBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCMethodBehavior_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTCMethodBehavior, 0x3050f587, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f587-98b5-11cf-bb82-00aa00bdce0b")
DispHTCMethodBehavior : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTCMethodBehavior, 0x3050f587, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTCMethodBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTCMethodBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTCMethodBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTCMethodBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTCMethodBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTCMethodBehaviorVtbl;

interface DispHTCMethodBehavior {
    CONST_VTBL DispHTCMethodBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTCMethodBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTCMethodBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTCMethodBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTCMethodBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTCMethodBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTCMethodBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTCMethodBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTCMethodBehavior_QueryInterface(DispHTCMethodBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTCMethodBehavior_AddRef(DispHTCMethodBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTCMethodBehavior_Release(DispHTCMethodBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTCMethodBehavior_GetTypeInfoCount(DispHTCMethodBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTCMethodBehavior_GetTypeInfo(DispHTCMethodBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTCMethodBehavior_GetIDsOfNames(DispHTCMethodBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTCMethodBehavior_Invoke(DispHTCMethodBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTCMethodBehavior_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTCMethodBehavior coclass
 */

DEFINE_GUID(CLSID_HTCMethodBehavior, 0x3050f630, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f630-98b5-11cf-bb82-00aa00bdce0b") HTCMethodBehavior;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTCMethodBehavior, 0x3050f630, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHtmlComponentMethod;
/*****************************************************************************
 * DispHTCEventBehavior dispinterface
 */
#ifndef __DispHTCEventBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCEventBehavior_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTCEventBehavior, 0x3050f574, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f574-98b5-11cf-bb82-00aa00bdce0b")
DispHTCEventBehavior : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTCEventBehavior, 0x3050f574, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTCEventBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTCEventBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTCEventBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTCEventBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTCEventBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTCEventBehaviorVtbl;

interface DispHTCEventBehavior {
    CONST_VTBL DispHTCEventBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTCEventBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTCEventBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTCEventBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTCEventBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTCEventBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTCEventBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTCEventBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTCEventBehavior_QueryInterface(DispHTCEventBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTCEventBehavior_AddRef(DispHTCEventBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTCEventBehavior_Release(DispHTCEventBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTCEventBehavior_GetTypeInfoCount(DispHTCEventBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTCEventBehavior_GetTypeInfo(DispHTCEventBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTCEventBehavior_GetIDsOfNames(DispHTCEventBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTCEventBehavior_Invoke(DispHTCEventBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTCEventBehavior_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTCEventBehavior coclass
 */

DEFINE_GUID(CLSID_HTCEventBehavior, 0x3050f4fe, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4fe-98b5-11cf-bb82-00aa00bdce0b") HTCEventBehavior;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTCEventBehavior, 0x3050f4fe, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHtmlComponentEvent;
/*****************************************************************************
 * DispHTCAttachBehavior dispinterface
 */
#ifndef __DispHTCAttachBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCAttachBehavior_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTCAttachBehavior, 0x3050f583, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f583-98b5-11cf-bb82-00aa00bdce0b")
DispHTCAttachBehavior : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTCAttachBehavior, 0x3050f583, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTCAttachBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTCAttachBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTCAttachBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTCAttachBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTCAttachBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTCAttachBehaviorVtbl;

interface DispHTCAttachBehavior {
    CONST_VTBL DispHTCAttachBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTCAttachBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTCAttachBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTCAttachBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTCAttachBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTCAttachBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTCAttachBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTCAttachBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTCAttachBehavior_QueryInterface(DispHTCAttachBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTCAttachBehavior_AddRef(DispHTCAttachBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTCAttachBehavior_Release(DispHTCAttachBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTCAttachBehavior_GetTypeInfoCount(DispHTCAttachBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTCAttachBehavior_GetTypeInfo(DispHTCAttachBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTCAttachBehavior_GetIDsOfNames(DispHTCAttachBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTCAttachBehavior_Invoke(DispHTCAttachBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTCAttachBehavior_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTCAttachBehavior coclass
 */

DEFINE_GUID(CLSID_HTCAttachBehavior, 0x3050f5f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f5f5-98b5-11cf-bb82-00aa00bdce0b") HTCAttachBehavior;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTCAttachBehavior, 0x3050f5f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHtmlComponentAttach;
/*****************************************************************************
 * DispHTCDescBehavior dispinterface
 */
#ifndef __DispHTCDescBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCDescBehavior_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTCDescBehavior, 0x3050f57e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f57e-98b5-11cf-bb82-00aa00bdce0b")
DispHTCDescBehavior : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTCDescBehavior, 0x3050f57e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTCDescBehaviorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTCDescBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTCDescBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTCDescBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTCDescBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTCDescBehaviorVtbl;

interface DispHTCDescBehavior {
    CONST_VTBL DispHTCDescBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTCDescBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTCDescBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTCDescBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTCDescBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTCDescBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTCDescBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTCDescBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTCDescBehavior_QueryInterface(DispHTCDescBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTCDescBehavior_AddRef(DispHTCDescBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTCDescBehavior_Release(DispHTCDescBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTCDescBehavior_GetTypeInfoCount(DispHTCDescBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTCDescBehavior_GetTypeInfo(DispHTCDescBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTCDescBehavior_GetIDsOfNames(DispHTCDescBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTCDescBehavior_Invoke(DispHTCDescBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTCDescBehavior_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTCDescBehavior coclass
 */

DEFINE_GUID(CLSID_HTCDescBehavior, 0x3050f5dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f5dd-98b5-11cf-bb82-00aa00bdce0b") HTCDescBehavior;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTCDescBehavior, 0x3050f5dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHtmlComponentDesc;
/*****************************************************************************
 * IHTMLUrnCollection interface
 */
#ifndef __IHTMLUrnCollection_INTERFACE_DEFINED__
#define __IHTMLUrnCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLUrnCollection, 0x3050f5e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5e2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLUrnCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        BSTR *ppUrn) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLUrnCollection, 0x3050f5e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLUrnCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLUrnCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLUrnCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLUrnCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLUrnCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLUrnCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLUrnCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLUrnCollection *This,
        LONG index,
        BSTR *ppUrn);

    END_INTERFACE
} IHTMLUrnCollectionVtbl;

interface IHTMLUrnCollection {
    CONST_VTBL IHTMLUrnCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLUrnCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLUrnCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLUrnCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLUrnCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLUrnCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLUrnCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLUrnCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLUrnCollection methods ***/
#define IHTMLUrnCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLUrnCollection_item(This,index,ppUrn) (This)->lpVtbl->item(This,index,ppUrn)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLUrnCollection_QueryInterface(IHTMLUrnCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLUrnCollection_AddRef(IHTMLUrnCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLUrnCollection_Release(IHTMLUrnCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLUrnCollection_GetTypeInfoCount(IHTMLUrnCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLUrnCollection_GetTypeInfo(IHTMLUrnCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLUrnCollection_GetIDsOfNames(IHTMLUrnCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLUrnCollection_Invoke(IHTMLUrnCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLUrnCollection methods ***/
static inline HRESULT IHTMLUrnCollection_get_length(IHTMLUrnCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLUrnCollection_item(IHTMLUrnCollection* This,LONG index,BSTR *ppUrn) {
    return This->lpVtbl->item(This,index,ppUrn);
}
#endif
#endif

#endif


#endif  /* __IHTMLUrnCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLUrnCollection dispinterface
 */
#ifndef __DispHTMLUrnCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLUrnCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLUrnCollection, 0x3050f551, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f551-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLUrnCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLUrnCollection, 0x3050f551, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLUrnCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLUrnCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLUrnCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLUrnCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLUrnCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLUrnCollectionVtbl;

interface DispHTMLUrnCollection {
    CONST_VTBL DispHTMLUrnCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLUrnCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLUrnCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLUrnCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLUrnCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLUrnCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLUrnCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLUrnCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLUrnCollection_QueryInterface(DispHTMLUrnCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLUrnCollection_AddRef(DispHTMLUrnCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLUrnCollection_Release(DispHTMLUrnCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLUrnCollection_GetTypeInfoCount(DispHTMLUrnCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLUrnCollection_GetTypeInfo(DispHTMLUrnCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLUrnCollection_GetIDsOfNames(DispHTMLUrnCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLUrnCollection_Invoke(DispHTMLUrnCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLUrnCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLUrnCollection coclass
 */

DEFINE_GUID(CLSID_HTMLUrnCollection, 0x3050f580, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f580-98b5-11cf-bb82-00aa00bdce0b") HTMLUrnCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLUrnCollection, 0x3050f580, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CPeerUrnCollection;
/*****************************************************************************
 * IHTMLGenericElement interface
 */
#ifndef __IHTMLGenericElement_INTERFACE_DEFINED__
#define __IHTMLGenericElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLGenericElement, 0x3050f4b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4b7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLGenericElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_recordset(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE namedRecordset(
        BSTR dataMember,
        VARIANT *hierarchy,
        IDispatch **ppRecordset) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLGenericElement, 0x3050f4b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLGenericElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLGenericElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLGenericElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLGenericElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLGenericElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLGenericElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_recordset)(
        IHTMLGenericElement *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *namedRecordset)(
        IHTMLGenericElement *This,
        BSTR dataMember,
        VARIANT *hierarchy,
        IDispatch **ppRecordset);

    END_INTERFACE
} IHTMLGenericElementVtbl;

interface IHTMLGenericElement {
    CONST_VTBL IHTMLGenericElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLGenericElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLGenericElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLGenericElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLGenericElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLGenericElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLGenericElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLGenericElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLGenericElement methods ***/
#define IHTMLGenericElement_get_recordset(This,p) (This)->lpVtbl->get_recordset(This,p)
#define IHTMLGenericElement_namedRecordset(This,dataMember,hierarchy,ppRecordset) (This)->lpVtbl->namedRecordset(This,dataMember,hierarchy,ppRecordset)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLGenericElement_QueryInterface(IHTMLGenericElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLGenericElement_AddRef(IHTMLGenericElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLGenericElement_Release(IHTMLGenericElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLGenericElement_GetTypeInfoCount(IHTMLGenericElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLGenericElement_GetTypeInfo(IHTMLGenericElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLGenericElement_GetIDsOfNames(IHTMLGenericElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLGenericElement_Invoke(IHTMLGenericElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLGenericElement methods ***/
static inline HRESULT IHTMLGenericElement_get_recordset(IHTMLGenericElement* This,IDispatch **p) {
    return This->lpVtbl->get_recordset(This,p);
}
static inline HRESULT IHTMLGenericElement_namedRecordset(IHTMLGenericElement* This,BSTR dataMember,VARIANT *hierarchy,IDispatch **ppRecordset) {
    return This->lpVtbl->namedRecordset(This,dataMember,hierarchy,ppRecordset);
}
#endif
#endif

#endif


#endif  /* __IHTMLGenericElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLGenericElement dispinterface
 */
#ifndef __DispHTMLGenericElement_DISPINTERFACE_DEFINED__
#define __DispHTMLGenericElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLGenericElement, 0x3050f563, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f563-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLGenericElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLGenericElement, 0x3050f563, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLGenericElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLGenericElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLGenericElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLGenericElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLGenericElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLGenericElementVtbl;

interface DispHTMLGenericElement {
    CONST_VTBL DispHTMLGenericElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLGenericElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLGenericElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLGenericElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLGenericElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLGenericElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLGenericElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLGenericElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLGenericElement_QueryInterface(DispHTMLGenericElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLGenericElement_AddRef(DispHTMLGenericElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLGenericElement_Release(DispHTMLGenericElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLGenericElement_GetTypeInfoCount(DispHTMLGenericElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLGenericElement_GetTypeInfo(DispHTMLGenericElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLGenericElement_GetIDsOfNames(DispHTMLGenericElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLGenericElement_Invoke(DispHTMLGenericElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLGenericElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLGenericElement coclass
 */

DEFINE_GUID(CLSID_HTMLGenericElement, 0x3050f4b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4b8-98b5-11cf-bb82-00aa00bdce0b") HTMLGenericElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLGenericElement, 0x3050f4b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CGenericElement;
/*****************************************************************************
 * IHTMLStyleSheetRule interface
 */
#ifndef __IHTMLStyleSheetRule_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRule_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetRule, 0x3050f357, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f357-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetRule : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_selectorText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectorText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_style(
        IHTMLRuleStyle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readOnly(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetRule, 0x3050f357, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetRule methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selectorText)(
        IHTMLStyleSheetRule *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_selectorText)(
        IHTMLStyleSheetRule *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_style)(
        IHTMLStyleSheetRule *This,
        IHTMLRuleStyle **p);

    HRESULT (STDMETHODCALLTYPE *get_readOnly)(
        IHTMLStyleSheetRule *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLStyleSheetRuleVtbl;

interface IHTMLStyleSheetRule {
    CONST_VTBL IHTMLStyleSheetRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetRule methods ***/
#define IHTMLStyleSheetRule_put_selectorText(This,v) (This)->lpVtbl->put_selectorText(This,v)
#define IHTMLStyleSheetRule_get_selectorText(This,p) (This)->lpVtbl->get_selectorText(This,p)
#define IHTMLStyleSheetRule_get_style(This,p) (This)->lpVtbl->get_style(This,p)
#define IHTMLStyleSheetRule_get_readOnly(This,p) (This)->lpVtbl->get_readOnly(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetRule_QueryInterface(IHTMLStyleSheetRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetRule_AddRef(IHTMLStyleSheetRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetRule_Release(IHTMLStyleSheetRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetRule_GetTypeInfoCount(IHTMLStyleSheetRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetRule_GetTypeInfo(IHTMLStyleSheetRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetRule_GetIDsOfNames(IHTMLStyleSheetRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetRule_Invoke(IHTMLStyleSheetRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetRule methods ***/
static inline HRESULT IHTMLStyleSheetRule_put_selectorText(IHTMLStyleSheetRule* This,BSTR v) {
    return This->lpVtbl->put_selectorText(This,v);
}
static inline HRESULT IHTMLStyleSheetRule_get_selectorText(IHTMLStyleSheetRule* This,BSTR *p) {
    return This->lpVtbl->get_selectorText(This,p);
}
static inline HRESULT IHTMLStyleSheetRule_get_style(IHTMLStyleSheetRule* This,IHTMLRuleStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
static inline HRESULT IHTMLStyleSheetRule_get_readOnly(IHTMLStyleSheetRule* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRule_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheetRuleApplied interface
 */
#ifndef __IHTMLStyleSheetRuleApplied_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRuleApplied_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetRuleApplied, 0x305104c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetRuleApplied : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_msSpecificity(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE msGetSpecificity(
        LONG index,
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetRuleApplied, 0x305104c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetRuleAppliedVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetRuleApplied *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetRuleApplied *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetRuleApplied *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetRuleApplied *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetRuleApplied methods ***/
    HRESULT (STDMETHODCALLTYPE *get_msSpecificity)(
        IHTMLStyleSheetRuleApplied *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *msGetSpecificity)(
        IHTMLStyleSheetRuleApplied *This,
        LONG index,
        LONG *p);

    END_INTERFACE
} IHTMLStyleSheetRuleAppliedVtbl;

interface IHTMLStyleSheetRuleApplied {
    CONST_VTBL IHTMLStyleSheetRuleAppliedVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetRuleApplied_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetRuleApplied_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetRuleApplied_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetRuleApplied_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetRuleApplied_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetRuleApplied_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetRuleApplied_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetRuleApplied methods ***/
#define IHTMLStyleSheetRuleApplied_get_msSpecificity(This,p) (This)->lpVtbl->get_msSpecificity(This,p)
#define IHTMLStyleSheetRuleApplied_msGetSpecificity(This,index,p) (This)->lpVtbl->msGetSpecificity(This,index,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetRuleApplied_QueryInterface(IHTMLStyleSheetRuleApplied* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetRuleApplied_AddRef(IHTMLStyleSheetRuleApplied* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetRuleApplied_Release(IHTMLStyleSheetRuleApplied* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetRuleApplied_GetTypeInfoCount(IHTMLStyleSheetRuleApplied* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetRuleApplied_GetTypeInfo(IHTMLStyleSheetRuleApplied* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetRuleApplied_GetIDsOfNames(IHTMLStyleSheetRuleApplied* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetRuleApplied_Invoke(IHTMLStyleSheetRuleApplied* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetRuleApplied methods ***/
static inline HRESULT IHTMLStyleSheetRuleApplied_get_msSpecificity(IHTMLStyleSheetRuleApplied* This,LONG *p) {
    return This->lpVtbl->get_msSpecificity(This,p);
}
static inline HRESULT IHTMLStyleSheetRuleApplied_msGetSpecificity(IHTMLStyleSheetRuleApplied* This,LONG index,LONG *p) {
    return This->lpVtbl->msGetSpecificity(This,index,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRuleApplied_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheetRule2 interface
 */
#ifndef __IHTMLStyleSheetRule2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRule2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetRule2, 0x305106fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106fd-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetRule2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_selectorText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectorText(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetRule2, 0x305106fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetRule2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetRule2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetRule2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetRule2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetRule2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetRule2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selectorText)(
        IHTMLStyleSheetRule2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_selectorText)(
        IHTMLStyleSheetRule2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLStyleSheetRule2Vtbl;

interface IHTMLStyleSheetRule2 {
    CONST_VTBL IHTMLStyleSheetRule2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetRule2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetRule2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetRule2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetRule2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetRule2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetRule2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetRule2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetRule2 methods ***/
#define IHTMLStyleSheetRule2_put_selectorText(This,v) (This)->lpVtbl->put_selectorText(This,v)
#define IHTMLStyleSheetRule2_get_selectorText(This,p) (This)->lpVtbl->get_selectorText(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetRule2_QueryInterface(IHTMLStyleSheetRule2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetRule2_AddRef(IHTMLStyleSheetRule2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetRule2_Release(IHTMLStyleSheetRule2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetRule2_GetTypeInfoCount(IHTMLStyleSheetRule2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetRule2_GetTypeInfo(IHTMLStyleSheetRule2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetRule2_GetIDsOfNames(IHTMLStyleSheetRule2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetRule2_Invoke(IHTMLStyleSheetRule2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetRule2 methods ***/
static inline HRESULT IHTMLStyleSheetRule2_put_selectorText(IHTMLStyleSheetRule2* This,BSTR v) {
    return This->lpVtbl->put_selectorText(This,v);
}
static inline HRESULT IHTMLStyleSheetRule2_get_selectorText(IHTMLStyleSheetRule2* This,BSTR *p) {
    return This->lpVtbl->get_selectorText(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRule2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheetRulesCollection interface
 */
#ifndef __IHTMLStyleSheetRulesCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRulesCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetRulesCollection, 0x3050f2e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2e5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetRulesCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLStyleSheetRule **ppHTMLStyleSheetRule) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetRulesCollection, 0x3050f2e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetRulesCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetRulesCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetRulesCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetRulesCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetRulesCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetRulesCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLStyleSheetRulesCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLStyleSheetRulesCollection *This,
        LONG index,
        IHTMLStyleSheetRule **ppHTMLStyleSheetRule);

    END_INTERFACE
} IHTMLStyleSheetRulesCollectionVtbl;

interface IHTMLStyleSheetRulesCollection {
    CONST_VTBL IHTMLStyleSheetRulesCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetRulesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetRulesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetRulesCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetRulesCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetRulesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetRulesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetRulesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetRulesCollection methods ***/
#define IHTMLStyleSheetRulesCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLStyleSheetRulesCollection_item(This,index,ppHTMLStyleSheetRule) (This)->lpVtbl->item(This,index,ppHTMLStyleSheetRule)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetRulesCollection_QueryInterface(IHTMLStyleSheetRulesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetRulesCollection_AddRef(IHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetRulesCollection_Release(IHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetRulesCollection_GetTypeInfoCount(IHTMLStyleSheetRulesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetRulesCollection_GetTypeInfo(IHTMLStyleSheetRulesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetRulesCollection_GetIDsOfNames(IHTMLStyleSheetRulesCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetRulesCollection_Invoke(IHTMLStyleSheetRulesCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetRulesCollection methods ***/
static inline HRESULT IHTMLStyleSheetRulesCollection_get_length(IHTMLStyleSheetRulesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLStyleSheetRulesCollection_item(IHTMLStyleSheetRulesCollection* This,LONG index,IHTMLStyleSheetRule **ppHTMLStyleSheetRule) {
    return This->lpVtbl->item(This,index,ppHTMLStyleSheetRule);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRulesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheetRulesCollection2 interface
 */
#ifndef __IHTMLStyleSheetRulesCollection2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRulesCollection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetRulesCollection2, 0x305106e8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e8-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetRulesCollection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLCSSRule **ppHTMLCSSRule) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetRulesCollection2, 0x305106e8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetRulesCollection2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetRulesCollection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetRulesCollection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetRulesCollection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetRulesCollection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetRulesCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLStyleSheetRulesCollection2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLStyleSheetRulesCollection2 *This,
        LONG index,
        IHTMLCSSRule **ppHTMLCSSRule);

    END_INTERFACE
} IHTMLStyleSheetRulesCollection2Vtbl;

interface IHTMLStyleSheetRulesCollection2 {
    CONST_VTBL IHTMLStyleSheetRulesCollection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetRulesCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetRulesCollection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetRulesCollection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetRulesCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetRulesCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetRulesCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetRulesCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetRulesCollection2 methods ***/
#define IHTMLStyleSheetRulesCollection2_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLStyleSheetRulesCollection2_item(This,index,ppHTMLCSSRule) (This)->lpVtbl->item(This,index,ppHTMLCSSRule)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetRulesCollection2_QueryInterface(IHTMLStyleSheetRulesCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetRulesCollection2_AddRef(IHTMLStyleSheetRulesCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetRulesCollection2_Release(IHTMLStyleSheetRulesCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetRulesCollection2_GetTypeInfoCount(IHTMLStyleSheetRulesCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetRulesCollection2_GetTypeInfo(IHTMLStyleSheetRulesCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetRulesCollection2_GetIDsOfNames(IHTMLStyleSheetRulesCollection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetRulesCollection2_Invoke(IHTMLStyleSheetRulesCollection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetRulesCollection2 methods ***/
static inline HRESULT IHTMLStyleSheetRulesCollection2_get_length(IHTMLStyleSheetRulesCollection2* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLStyleSheetRulesCollection2_item(IHTMLStyleSheetRulesCollection2* This,LONG index,IHTMLCSSRule **ppHTMLCSSRule) {
    return This->lpVtbl->item(This,index,ppHTMLCSSRule);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRulesCollection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleSheetRule dispinterface
 */
#ifndef __DispHTMLStyleSheetRule_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetRule_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleSheetRule, 0x3050f50e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f50e-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleSheetRule : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleSheetRule, 0x3050f50e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleSheetRuleVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleSheetRule *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleSheetRule *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleSheetRule *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleSheetRule *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleSheetRuleVtbl;

interface DispHTMLStyleSheetRule {
    CONST_VTBL DispHTMLStyleSheetRuleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleSheetRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleSheetRule_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleSheetRule_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleSheetRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleSheetRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleSheetRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleSheetRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleSheetRule_QueryInterface(DispHTMLStyleSheetRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleSheetRule_AddRef(DispHTMLStyleSheetRule* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleSheetRule_Release(DispHTMLStyleSheetRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleSheetRule_GetTypeInfoCount(DispHTMLStyleSheetRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleSheetRule_GetTypeInfo(DispHTMLStyleSheetRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleSheetRule_GetIDsOfNames(DispHTMLStyleSheetRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleSheetRule_Invoke(DispHTMLStyleSheetRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleSheetRule_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleSheetRule coclass
 */

DEFINE_GUID(CLSID_HTMLStyleSheetRule, 0x3050f3ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3ce-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleSheetRule;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleSheetRule, 0x3050f3ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleSheetRule;
/*****************************************************************************
 * DispHTMLStyleSheetRulesCollection dispinterface
 */
#ifndef __DispHTMLStyleSheetRulesCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetRulesCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleSheetRulesCollection, 0x3050f52f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f52f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleSheetRulesCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleSheetRulesCollection, 0x3050f52f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleSheetRulesCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleSheetRulesCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleSheetRulesCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleSheetRulesCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleSheetRulesCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleSheetRulesCollectionVtbl;

interface DispHTMLStyleSheetRulesCollection {
    CONST_VTBL DispHTMLStyleSheetRulesCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleSheetRulesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleSheetRulesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleSheetRulesCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleSheetRulesCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleSheetRulesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleSheetRulesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleSheetRulesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleSheetRulesCollection_QueryInterface(DispHTMLStyleSheetRulesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleSheetRulesCollection_AddRef(DispHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleSheetRulesCollection_Release(DispHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleSheetRulesCollection_GetTypeInfoCount(DispHTMLStyleSheetRulesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleSheetRulesCollection_GetTypeInfo(DispHTMLStyleSheetRulesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleSheetRulesCollection_GetIDsOfNames(DispHTMLStyleSheetRulesCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleSheetRulesCollection_Invoke(DispHTMLStyleSheetRulesCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleSheetRulesCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleSheetRulesCollection coclass
 */

DEFINE_GUID(CLSID_HTMLStyleSheetRulesCollection, 0x3050f3cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3cd-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleSheetRulesCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleSheetRulesCollection, 0x3050f3cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleSheetRuleArray;
/*****************************************************************************
 * IHTMLStyleSheetPage interface
 */
#ifndef __IHTMLStyleSheetPage_INTERFACE_DEFINED__
#define __IHTMLStyleSheetPage_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetPage, 0x3050f7ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7ee-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetPage : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_selector(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pseudoClass(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetPage, 0x3050f7ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetPageVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetPage *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetPage *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetPage *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetPage *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetPage methods ***/
    HRESULT (STDMETHODCALLTYPE *get_selector)(
        IHTMLStyleSheetPage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_pseudoClass)(
        IHTMLStyleSheetPage *This,
        BSTR *p);

    END_INTERFACE
} IHTMLStyleSheetPageVtbl;

interface IHTMLStyleSheetPage {
    CONST_VTBL IHTMLStyleSheetPageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetPage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetPage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetPage_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetPage_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetPage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetPage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetPage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetPage methods ***/
#define IHTMLStyleSheetPage_get_selector(This,p) (This)->lpVtbl->get_selector(This,p)
#define IHTMLStyleSheetPage_get_pseudoClass(This,p) (This)->lpVtbl->get_pseudoClass(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetPage_QueryInterface(IHTMLStyleSheetPage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetPage_AddRef(IHTMLStyleSheetPage* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetPage_Release(IHTMLStyleSheetPage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetPage_GetTypeInfoCount(IHTMLStyleSheetPage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetPage_GetTypeInfo(IHTMLStyleSheetPage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetPage_GetIDsOfNames(IHTMLStyleSheetPage* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetPage_Invoke(IHTMLStyleSheetPage* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetPage methods ***/
static inline HRESULT IHTMLStyleSheetPage_get_selector(IHTMLStyleSheetPage* This,BSTR *p) {
    return This->lpVtbl->get_selector(This,p);
}
static inline HRESULT IHTMLStyleSheetPage_get_pseudoClass(IHTMLStyleSheetPage* This,BSTR *p) {
    return This->lpVtbl->get_pseudoClass(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetPage_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheetPage2 interface
 */
#ifndef __IHTMLStyleSheetPage2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetPage2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetPage2, 0x305106ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106ed-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetPage2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_selectorText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectorText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_style(
        IHTMLRuleStyle **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetPage2, 0x305106ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetPage2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetPage2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetPage2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetPage2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetPage2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetPage2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selectorText)(
        IHTMLStyleSheetPage2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_selectorText)(
        IHTMLStyleSheetPage2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_style)(
        IHTMLStyleSheetPage2 *This,
        IHTMLRuleStyle **p);

    END_INTERFACE
} IHTMLStyleSheetPage2Vtbl;

interface IHTMLStyleSheetPage2 {
    CONST_VTBL IHTMLStyleSheetPage2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetPage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetPage2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetPage2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetPage2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetPage2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetPage2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetPage2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetPage2 methods ***/
#define IHTMLStyleSheetPage2_put_selectorText(This,v) (This)->lpVtbl->put_selectorText(This,v)
#define IHTMLStyleSheetPage2_get_selectorText(This,p) (This)->lpVtbl->get_selectorText(This,p)
#define IHTMLStyleSheetPage2_get_style(This,p) (This)->lpVtbl->get_style(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetPage2_QueryInterface(IHTMLStyleSheetPage2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetPage2_AddRef(IHTMLStyleSheetPage2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetPage2_Release(IHTMLStyleSheetPage2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetPage2_GetTypeInfoCount(IHTMLStyleSheetPage2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetPage2_GetTypeInfo(IHTMLStyleSheetPage2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetPage2_GetIDsOfNames(IHTMLStyleSheetPage2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetPage2_Invoke(IHTMLStyleSheetPage2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetPage2 methods ***/
static inline HRESULT IHTMLStyleSheetPage2_put_selectorText(IHTMLStyleSheetPage2* This,BSTR v) {
    return This->lpVtbl->put_selectorText(This,v);
}
static inline HRESULT IHTMLStyleSheetPage2_get_selectorText(IHTMLStyleSheetPage2* This,BSTR *p) {
    return This->lpVtbl->get_selectorText(This,p);
}
static inline HRESULT IHTMLStyleSheetPage2_get_style(IHTMLStyleSheetPage2* This,IHTMLRuleStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetPage2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheetPagesCollection interface
 */
#ifndef __IHTMLStyleSheetPagesCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetPagesCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetPagesCollection, 0x3050f7f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7f0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetPagesCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLStyleSheetPage **ppHTMLStyleSheetPage) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetPagesCollection, 0x3050f7f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetPagesCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetPagesCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetPagesCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetPagesCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetPagesCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetPagesCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLStyleSheetPagesCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLStyleSheetPagesCollection *This,
        LONG index,
        IHTMLStyleSheetPage **ppHTMLStyleSheetPage);

    END_INTERFACE
} IHTMLStyleSheetPagesCollectionVtbl;

interface IHTMLStyleSheetPagesCollection {
    CONST_VTBL IHTMLStyleSheetPagesCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetPagesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetPagesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetPagesCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetPagesCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetPagesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetPagesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetPagesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetPagesCollection methods ***/
#define IHTMLStyleSheetPagesCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLStyleSheetPagesCollection_item(This,index,ppHTMLStyleSheetPage) (This)->lpVtbl->item(This,index,ppHTMLStyleSheetPage)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetPagesCollection_QueryInterface(IHTMLStyleSheetPagesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetPagesCollection_AddRef(IHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetPagesCollection_Release(IHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetPagesCollection_GetTypeInfoCount(IHTMLStyleSheetPagesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetPagesCollection_GetTypeInfo(IHTMLStyleSheetPagesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetPagesCollection_GetIDsOfNames(IHTMLStyleSheetPagesCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetPagesCollection_Invoke(IHTMLStyleSheetPagesCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetPagesCollection methods ***/
static inline HRESULT IHTMLStyleSheetPagesCollection_get_length(IHTMLStyleSheetPagesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLStyleSheetPagesCollection_item(IHTMLStyleSheetPagesCollection* This,LONG index,IHTMLStyleSheetPage **ppHTMLStyleSheetPage) {
    return This->lpVtbl->item(This,index,ppHTMLStyleSheetPage);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetPagesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleSheetPage dispinterface
 */
#ifndef __DispHTMLStyleSheetPage_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetPage_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleSheetPage, 0x3050f540, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f540-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleSheetPage : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleSheetPage, 0x3050f540, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleSheetPageVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleSheetPage *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleSheetPage *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleSheetPage *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleSheetPage *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleSheetPageVtbl;

interface DispHTMLStyleSheetPage {
    CONST_VTBL DispHTMLStyleSheetPageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleSheetPage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleSheetPage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleSheetPage_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleSheetPage_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleSheetPage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleSheetPage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleSheetPage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleSheetPage_QueryInterface(DispHTMLStyleSheetPage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleSheetPage_AddRef(DispHTMLStyleSheetPage* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleSheetPage_Release(DispHTMLStyleSheetPage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleSheetPage_GetTypeInfoCount(DispHTMLStyleSheetPage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleSheetPage_GetTypeInfo(DispHTMLStyleSheetPage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleSheetPage_GetIDsOfNames(DispHTMLStyleSheetPage* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleSheetPage_Invoke(DispHTMLStyleSheetPage* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleSheetPage_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleSheetPage coclass
 */

DEFINE_GUID(CLSID_HTMLStyleSheetPage, 0x3050f7ef, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f7ef-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleSheetPage;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleSheetPage, 0x3050f7ef, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleSheetPage;
/*****************************************************************************
 * DispHTMLStyleSheetPagesCollection dispinterface
 */
#ifndef __DispHTMLStyleSheetPagesCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetPagesCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleSheetPagesCollection, 0x3050f543, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f543-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleSheetPagesCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleSheetPagesCollection, 0x3050f543, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleSheetPagesCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleSheetPagesCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleSheetPagesCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleSheetPagesCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleSheetPagesCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleSheetPagesCollectionVtbl;

interface DispHTMLStyleSheetPagesCollection {
    CONST_VTBL DispHTMLStyleSheetPagesCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleSheetPagesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleSheetPagesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleSheetPagesCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleSheetPagesCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleSheetPagesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleSheetPagesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleSheetPagesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleSheetPagesCollection_QueryInterface(DispHTMLStyleSheetPagesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleSheetPagesCollection_AddRef(DispHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleSheetPagesCollection_Release(DispHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleSheetPagesCollection_GetTypeInfoCount(DispHTMLStyleSheetPagesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleSheetPagesCollection_GetTypeInfo(DispHTMLStyleSheetPagesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleSheetPagesCollection_GetIDsOfNames(DispHTMLStyleSheetPagesCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleSheetPagesCollection_Invoke(DispHTMLStyleSheetPagesCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleSheetPagesCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleSheetPagesCollection coclass
 */

DEFINE_GUID(CLSID_HTMLStyleSheetPagesCollection, 0x3050f7f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f7f1-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleSheetPagesCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleSheetPagesCollection, 0x3050f7f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleSheetPageArray;
#ifndef __IHTMLStyleSheetsCollection_FWD_DEFINED__
#define __IHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetsCollection IHTMLStyleSheetsCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetsCollection;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLStyleSheet interface
 */
#ifndef __IHTMLStyleSheet_INTERFACE_DEFINED__
#define __IHTMLStyleSheet_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheet, 0x3050f2e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2e3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheet : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_title(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_title(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentStyleSheet(
        IHTMLStyleSheet **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_owningElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readOnly(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imports(
        IHTMLStyleSheetsCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_id(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE addImport(
        BSTR bstrURL,
        LONG lIndex = -1,
        LONG *plIndex = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE addRule(
        BSTR bstrSelector,
        BSTR bstrStyle,
        LONG lIndex = -1,
        LONG *plNewIndex = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeImport(
        LONG lIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeRule(
        LONG lIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cssText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rules(
        IHTMLStyleSheetRulesCollection **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheet, 0x3050f2e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheet *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheet *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheet *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheet *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheet methods ***/
    HRESULT (STDMETHODCALLTYPE *put_title)(
        IHTMLStyleSheet *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_title)(
        IHTMLStyleSheet *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_parentStyleSheet)(
        IHTMLStyleSheet *This,
        IHTMLStyleSheet **p);

    HRESULT (STDMETHODCALLTYPE *get_owningElement)(
        IHTMLStyleSheet *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLStyleSheet *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLStyleSheet *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_readOnly)(
        IHTMLStyleSheet *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_imports)(
        IHTMLStyleSheet *This,
        IHTMLStyleSheetsCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLStyleSheet *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLStyleSheet *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLStyleSheet *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_id)(
        IHTMLStyleSheet *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *addImport)(
        IHTMLStyleSheet *This,
        BSTR bstrURL,
        LONG lIndex,
        LONG *plIndex);

    HRESULT (STDMETHODCALLTYPE *addRule)(
        IHTMLStyleSheet *This,
        BSTR bstrSelector,
        BSTR bstrStyle,
        LONG lIndex,
        LONG *plNewIndex);

    HRESULT (STDMETHODCALLTYPE *removeImport)(
        IHTMLStyleSheet *This,
        LONG lIndex);

    HRESULT (STDMETHODCALLTYPE *removeRule)(
        IHTMLStyleSheet *This,
        LONG lIndex);

    HRESULT (STDMETHODCALLTYPE *put_media)(
        IHTMLStyleSheet *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLStyleSheet *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cssText)(
        IHTMLStyleSheet *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cssText)(
        IHTMLStyleSheet *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_rules)(
        IHTMLStyleSheet *This,
        IHTMLStyleSheetRulesCollection **p);

    END_INTERFACE
} IHTMLStyleSheetVtbl;

interface IHTMLStyleSheet {
    CONST_VTBL IHTMLStyleSheetVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheet_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheet_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheet methods ***/
#define IHTMLStyleSheet_put_title(This,v) (This)->lpVtbl->put_title(This,v)
#define IHTMLStyleSheet_get_title(This,p) (This)->lpVtbl->get_title(This,p)
#define IHTMLStyleSheet_get_parentStyleSheet(This,p) (This)->lpVtbl->get_parentStyleSheet(This,p)
#define IHTMLStyleSheet_get_owningElement(This,p) (This)->lpVtbl->get_owningElement(This,p)
#define IHTMLStyleSheet_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLStyleSheet_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLStyleSheet_get_readOnly(This,p) (This)->lpVtbl->get_readOnly(This,p)
#define IHTMLStyleSheet_get_imports(This,p) (This)->lpVtbl->get_imports(This,p)
#define IHTMLStyleSheet_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLStyleSheet_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLStyleSheet_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLStyleSheet_get_id(This,p) (This)->lpVtbl->get_id(This,p)
#define IHTMLStyleSheet_addImport(This,bstrURL,lIndex,plIndex) (This)->lpVtbl->addImport(This,bstrURL,lIndex,plIndex)
#define IHTMLStyleSheet_addRule(This,bstrSelector,bstrStyle,lIndex,plNewIndex) (This)->lpVtbl->addRule(This,bstrSelector,bstrStyle,lIndex,plNewIndex)
#define IHTMLStyleSheet_removeImport(This,lIndex) (This)->lpVtbl->removeImport(This,lIndex)
#define IHTMLStyleSheet_removeRule(This,lIndex) (This)->lpVtbl->removeRule(This,lIndex)
#define IHTMLStyleSheet_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define IHTMLStyleSheet_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#define IHTMLStyleSheet_put_cssText(This,v) (This)->lpVtbl->put_cssText(This,v)
#define IHTMLStyleSheet_get_cssText(This,p) (This)->lpVtbl->get_cssText(This,p)
#define IHTMLStyleSheet_get_rules(This,p) (This)->lpVtbl->get_rules(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheet_QueryInterface(IHTMLStyleSheet* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheet_AddRef(IHTMLStyleSheet* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheet_Release(IHTMLStyleSheet* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheet_GetTypeInfoCount(IHTMLStyleSheet* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheet_GetTypeInfo(IHTMLStyleSheet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheet_GetIDsOfNames(IHTMLStyleSheet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheet_Invoke(IHTMLStyleSheet* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheet methods ***/
static inline HRESULT IHTMLStyleSheet_put_title(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_title(This,v);
}
static inline HRESULT IHTMLStyleSheet_get_title(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_title(This,p);
}
static inline HRESULT IHTMLStyleSheet_get_parentStyleSheet(IHTMLStyleSheet* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_parentStyleSheet(This,p);
}
static inline HRESULT IHTMLStyleSheet_get_owningElement(IHTMLStyleSheet* This,IHTMLElement **p) {
    return This->lpVtbl->get_owningElement(This,p);
}
static inline HRESULT IHTMLStyleSheet_put_disabled(IHTMLStyleSheet* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLStyleSheet_get_disabled(IHTMLStyleSheet* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLStyleSheet_get_readOnly(IHTMLStyleSheet* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static inline HRESULT IHTMLStyleSheet_get_imports(IHTMLStyleSheet* This,IHTMLStyleSheetsCollection **p) {
    return This->lpVtbl->get_imports(This,p);
}
static inline HRESULT IHTMLStyleSheet_put_href(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLStyleSheet_get_href(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLStyleSheet_get_type(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLStyleSheet_get_id(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_id(This,p);
}
static inline HRESULT IHTMLStyleSheet_addImport(IHTMLStyleSheet* This,BSTR bstrURL,LONG lIndex,LONG *plIndex) {
    return This->lpVtbl->addImport(This,bstrURL,lIndex,plIndex);
}
static inline HRESULT IHTMLStyleSheet_addRule(IHTMLStyleSheet* This,BSTR bstrSelector,BSTR bstrStyle,LONG lIndex,LONG *plNewIndex) {
    return This->lpVtbl->addRule(This,bstrSelector,bstrStyle,lIndex,plNewIndex);
}
static inline HRESULT IHTMLStyleSheet_removeImport(IHTMLStyleSheet* This,LONG lIndex) {
    return This->lpVtbl->removeImport(This,lIndex);
}
static inline HRESULT IHTMLStyleSheet_removeRule(IHTMLStyleSheet* This,LONG lIndex) {
    return This->lpVtbl->removeRule(This,lIndex);
}
static inline HRESULT IHTMLStyleSheet_put_media(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT IHTMLStyleSheet_get_media(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
static inline HRESULT IHTMLStyleSheet_put_cssText(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static inline HRESULT IHTMLStyleSheet_get_cssText(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static inline HRESULT IHTMLStyleSheet_get_rules(IHTMLStyleSheet* This,IHTMLStyleSheetRulesCollection **p) {
    return This->lpVtbl->get_rules(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheet_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheet2 interface
 */
#ifndef __IHTMLStyleSheet2_INTERFACE_DEFINED__
#define __IHTMLStyleSheet2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheet2, 0x3050f3d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3d1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheet2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_pages(
        IHTMLStyleSheetPagesCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE addPageRule(
        BSTR bstrSelector,
        BSTR bstrStyle,
        LONG lIndex = -1,
        LONG *plNewIndex = 0) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheet2, 0x3050f3d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheet2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheet2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheet2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheet2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheet2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheet2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_pages)(
        IHTMLStyleSheet2 *This,
        IHTMLStyleSheetPagesCollection **p);

    HRESULT (STDMETHODCALLTYPE *addPageRule)(
        IHTMLStyleSheet2 *This,
        BSTR bstrSelector,
        BSTR bstrStyle,
        LONG lIndex,
        LONG *plNewIndex);

    END_INTERFACE
} IHTMLStyleSheet2Vtbl;

interface IHTMLStyleSheet2 {
    CONST_VTBL IHTMLStyleSheet2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheet2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheet2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheet2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheet2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheet2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheet2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheet2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheet2 methods ***/
#define IHTMLStyleSheet2_get_pages(This,p) (This)->lpVtbl->get_pages(This,p)
#define IHTMLStyleSheet2_addPageRule(This,bstrSelector,bstrStyle,lIndex,plNewIndex) (This)->lpVtbl->addPageRule(This,bstrSelector,bstrStyle,lIndex,plNewIndex)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheet2_QueryInterface(IHTMLStyleSheet2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheet2_AddRef(IHTMLStyleSheet2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheet2_Release(IHTMLStyleSheet2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheet2_GetTypeInfoCount(IHTMLStyleSheet2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheet2_GetTypeInfo(IHTMLStyleSheet2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheet2_GetIDsOfNames(IHTMLStyleSheet2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheet2_Invoke(IHTMLStyleSheet2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheet2 methods ***/
static inline HRESULT IHTMLStyleSheet2_get_pages(IHTMLStyleSheet2* This,IHTMLStyleSheetPagesCollection **p) {
    return This->lpVtbl->get_pages(This,p);
}
static inline HRESULT IHTMLStyleSheet2_addPageRule(IHTMLStyleSheet2* This,BSTR bstrSelector,BSTR bstrStyle,LONG lIndex,LONG *plNewIndex) {
    return This->lpVtbl->addPageRule(This,bstrSelector,bstrStyle,lIndex,plNewIndex);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheet2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheet3 interface
 */
#ifndef __IHTMLStyleSheet3_INTERFACE_DEFINED__
#define __IHTMLStyleSheet3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheet3, 0x30510496, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510496-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheet3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isAlternate(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isPrefAlternate(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheet3, 0x30510496, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheet3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheet3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheet3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheet3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheet3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheet3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLStyleSheet3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLStyleSheet3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_isAlternate)(
        IHTMLStyleSheet3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_isPrefAlternate)(
        IHTMLStyleSheet3 *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLStyleSheet3Vtbl;

interface IHTMLStyleSheet3 {
    CONST_VTBL IHTMLStyleSheet3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheet3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheet3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheet3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheet3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheet3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheet3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheet3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheet3 methods ***/
#define IHTMLStyleSheet3_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLStyleSheet3_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLStyleSheet3_get_isAlternate(This,p) (This)->lpVtbl->get_isAlternate(This,p)
#define IHTMLStyleSheet3_get_isPrefAlternate(This,p) (This)->lpVtbl->get_isPrefAlternate(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheet3_QueryInterface(IHTMLStyleSheet3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheet3_AddRef(IHTMLStyleSheet3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheet3_Release(IHTMLStyleSheet3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheet3_GetTypeInfoCount(IHTMLStyleSheet3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheet3_GetTypeInfo(IHTMLStyleSheet3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheet3_GetIDsOfNames(IHTMLStyleSheet3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheet3_Invoke(IHTMLStyleSheet3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheet3 methods ***/
static inline HRESULT IHTMLStyleSheet3_put_href(IHTMLStyleSheet3* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLStyleSheet3_get_href(IHTMLStyleSheet3* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLStyleSheet3_get_isAlternate(IHTMLStyleSheet3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isAlternate(This,p);
}
static inline HRESULT IHTMLStyleSheet3_get_isPrefAlternate(IHTMLStyleSheet3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isPrefAlternate(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheet3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheet4 interface
 */
#ifndef __IHTMLStyleSheet4_INTERFACE_DEFINED__
#define __IHTMLStyleSheet4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheet4, 0x305106f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106f4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheet4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_title(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ownerNode(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ownerRule(
        IHTMLCSSRule **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssRules(
        IHTMLStyleSheetRulesCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertRule(
        BSTR bstrRule,
        LONG lIndex = -1,
        LONG *plNewIndex = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteRule(
        LONG lIndex = -1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheet4, 0x305106f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheet4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheet4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheet4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheet4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheet4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheet4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLStyleSheet4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLStyleSheet4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_title)(
        IHTMLStyleSheet4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_ownerNode)(
        IHTMLStyleSheet4 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_ownerRule)(
        IHTMLStyleSheet4 *This,
        IHTMLCSSRule **p);

    HRESULT (STDMETHODCALLTYPE *get_cssRules)(
        IHTMLStyleSheet4 *This,
        IHTMLStyleSheetRulesCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLStyleSheet4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *insertRule)(
        IHTMLStyleSheet4 *This,
        BSTR bstrRule,
        LONG lIndex,
        LONG *plNewIndex);

    HRESULT (STDMETHODCALLTYPE *deleteRule)(
        IHTMLStyleSheet4 *This,
        LONG lIndex);

    END_INTERFACE
} IHTMLStyleSheet4Vtbl;

interface IHTMLStyleSheet4 {
    CONST_VTBL IHTMLStyleSheet4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheet4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheet4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheet4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheet4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheet4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheet4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheet4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheet4 methods ***/
#define IHTMLStyleSheet4_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLStyleSheet4_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLStyleSheet4_get_title(This,p) (This)->lpVtbl->get_title(This,p)
#define IHTMLStyleSheet4_get_ownerNode(This,p) (This)->lpVtbl->get_ownerNode(This,p)
#define IHTMLStyleSheet4_get_ownerRule(This,p) (This)->lpVtbl->get_ownerRule(This,p)
#define IHTMLStyleSheet4_get_cssRules(This,p) (This)->lpVtbl->get_cssRules(This,p)
#define IHTMLStyleSheet4_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#define IHTMLStyleSheet4_insertRule(This,bstrRule,lIndex,plNewIndex) (This)->lpVtbl->insertRule(This,bstrRule,lIndex,plNewIndex)
#define IHTMLStyleSheet4_deleteRule(This,lIndex) (This)->lpVtbl->deleteRule(This,lIndex)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheet4_QueryInterface(IHTMLStyleSheet4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheet4_AddRef(IHTMLStyleSheet4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheet4_Release(IHTMLStyleSheet4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheet4_GetTypeInfoCount(IHTMLStyleSheet4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheet4_GetTypeInfo(IHTMLStyleSheet4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheet4_GetIDsOfNames(IHTMLStyleSheet4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheet4_Invoke(IHTMLStyleSheet4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheet4 methods ***/
static inline HRESULT IHTMLStyleSheet4_get_type(IHTMLStyleSheet4* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLStyleSheet4_get_href(IHTMLStyleSheet4* This,VARIANT *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLStyleSheet4_get_title(IHTMLStyleSheet4* This,BSTR *p) {
    return This->lpVtbl->get_title(This,p);
}
static inline HRESULT IHTMLStyleSheet4_get_ownerNode(IHTMLStyleSheet4* This,IHTMLElement **p) {
    return This->lpVtbl->get_ownerNode(This,p);
}
static inline HRESULT IHTMLStyleSheet4_get_ownerRule(IHTMLStyleSheet4* This,IHTMLCSSRule **p) {
    return This->lpVtbl->get_ownerRule(This,p);
}
static inline HRESULT IHTMLStyleSheet4_get_cssRules(IHTMLStyleSheet4* This,IHTMLStyleSheetRulesCollection **p) {
    return This->lpVtbl->get_cssRules(This,p);
}
static inline HRESULT IHTMLStyleSheet4_get_media(IHTMLStyleSheet4* This,VARIANT *p) {
    return This->lpVtbl->get_media(This,p);
}
static inline HRESULT IHTMLStyleSheet4_insertRule(IHTMLStyleSheet4* This,BSTR bstrRule,LONG lIndex,LONG *plNewIndex) {
    return This->lpVtbl->insertRule(This,bstrRule,lIndex,plNewIndex);
}
static inline HRESULT IHTMLStyleSheet4_deleteRule(IHTMLStyleSheet4* This,LONG lIndex) {
    return This->lpVtbl->deleteRule(This,lIndex);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheet4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleSheet dispinterface
 */
#ifndef __DispHTMLStyleSheet_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheet_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleSheet, 0x3050f58d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f58d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleSheet : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleSheet, 0x3050f58d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleSheetVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleSheet *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleSheet *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleSheet *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleSheet *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleSheetVtbl;

interface DispHTMLStyleSheet {
    CONST_VTBL DispHTMLStyleSheetVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleSheet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleSheet_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleSheet_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleSheet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleSheet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleSheet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleSheet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleSheet_QueryInterface(DispHTMLStyleSheet* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleSheet_AddRef(DispHTMLStyleSheet* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleSheet_Release(DispHTMLStyleSheet* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleSheet_GetTypeInfoCount(DispHTMLStyleSheet* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleSheet_GetTypeInfo(DispHTMLStyleSheet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleSheet_GetIDsOfNames(DispHTMLStyleSheet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleSheet_Invoke(DispHTMLStyleSheet* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleSheet_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleSheet coclass
 */

DEFINE_GUID(CLSID_HTMLStyleSheet, 0x3050f2e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2e4-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleSheet;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleSheet, 0x3050f2e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleSheet;
/*****************************************************************************
 * IHTMLStyleSheetsCollection interface
 */
#ifndef __IHTMLStyleSheetsCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetsCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetsCollection, 0x3050f37e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f37e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetsCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT *pvarIndex,
        VARIANT *pvarResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetsCollection, 0x3050f37e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetsCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetsCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetsCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetsCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetsCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetsCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLStyleSheetsCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLStyleSheetsCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLStyleSheetsCollection *This,
        VARIANT *pvarIndex,
        VARIANT *pvarResult);

    END_INTERFACE
} IHTMLStyleSheetsCollectionVtbl;

interface IHTMLStyleSheetsCollection {
    CONST_VTBL IHTMLStyleSheetsCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetsCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetsCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetsCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetsCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetsCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetsCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetsCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetsCollection methods ***/
#define IHTMLStyleSheetsCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLStyleSheetsCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLStyleSheetsCollection_item(This,pvarIndex,pvarResult) (This)->lpVtbl->item(This,pvarIndex,pvarResult)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetsCollection_QueryInterface(IHTMLStyleSheetsCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetsCollection_AddRef(IHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetsCollection_Release(IHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetsCollection_GetTypeInfoCount(IHTMLStyleSheetsCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetsCollection_GetTypeInfo(IHTMLStyleSheetsCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetsCollection_GetIDsOfNames(IHTMLStyleSheetsCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetsCollection_Invoke(IHTMLStyleSheetsCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetsCollection methods ***/
static inline HRESULT IHTMLStyleSheetsCollection_get_length(IHTMLStyleSheetsCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLStyleSheetsCollection_get__newEnum(IHTMLStyleSheetsCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLStyleSheetsCollection_item(IHTMLStyleSheetsCollection* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetsCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleSheetsCollection2 interface
 */
#ifndef __IHTMLStyleSheetsCollection2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetsCollection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetsCollection2, 0x305106e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetsCollection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        VARIANT *pvarResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetsCollection2, 0x305106e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetsCollection2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetsCollection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetsCollection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetsCollection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetsCollection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetsCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLStyleSheetsCollection2 *This,
        LONG index,
        VARIANT *pvarResult);

    END_INTERFACE
} IHTMLStyleSheetsCollection2Vtbl;

interface IHTMLStyleSheetsCollection2 {
    CONST_VTBL IHTMLStyleSheetsCollection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetsCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetsCollection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetsCollection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetsCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetsCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetsCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetsCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetsCollection2 methods ***/
#define IHTMLStyleSheetsCollection2_item(This,index,pvarResult) (This)->lpVtbl->item(This,index,pvarResult)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetsCollection2_QueryInterface(IHTMLStyleSheetsCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetsCollection2_AddRef(IHTMLStyleSheetsCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetsCollection2_Release(IHTMLStyleSheetsCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetsCollection2_GetTypeInfoCount(IHTMLStyleSheetsCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetsCollection2_GetTypeInfo(IHTMLStyleSheetsCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetsCollection2_GetIDsOfNames(IHTMLStyleSheetsCollection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetsCollection2_Invoke(IHTMLStyleSheetsCollection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetsCollection2 methods ***/
static inline HRESULT IHTMLStyleSheetsCollection2_item(IHTMLStyleSheetsCollection2* This,LONG index,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,index,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetsCollection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleSheetsCollection dispinterface
 */
#ifndef __DispHTMLStyleSheetsCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetsCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleSheetsCollection, 0x3050f547, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f547-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleSheetsCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleSheetsCollection, 0x3050f547, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleSheetsCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleSheetsCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleSheetsCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleSheetsCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleSheetsCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleSheetsCollectionVtbl;

interface DispHTMLStyleSheetsCollection {
    CONST_VTBL DispHTMLStyleSheetsCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleSheetsCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleSheetsCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleSheetsCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleSheetsCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleSheetsCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleSheetsCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleSheetsCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleSheetsCollection_QueryInterface(DispHTMLStyleSheetsCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleSheetsCollection_AddRef(DispHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleSheetsCollection_Release(DispHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleSheetsCollection_GetTypeInfoCount(DispHTMLStyleSheetsCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleSheetsCollection_GetTypeInfo(DispHTMLStyleSheetsCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleSheetsCollection_GetIDsOfNames(DispHTMLStyleSheetsCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleSheetsCollection_Invoke(DispHTMLStyleSheetsCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleSheetsCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleSheetsCollection coclass
 */

DEFINE_GUID(CLSID_HTMLStyleSheetsCollection, 0x3050f37f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f37f-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleSheetsCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleSheetsCollection, 0x3050f37f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleSheetArray;
/*****************************************************************************
 * HTMLLinkElementEvents2 dispinterface
 */
#ifndef __HTMLLinkElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLLinkElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLLinkElementEvents2, 0x3050f61d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f61d-98b5-11cf-bb82-00aa00bdce0b")
HTMLLinkElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLinkElementEvents2, 0x3050f61d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLLinkElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLLinkElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLLinkElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLLinkElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLLinkElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLLinkElementEvents2Vtbl;

interface HTMLLinkElementEvents2 {
    CONST_VTBL HTMLLinkElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLLinkElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLLinkElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLLinkElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLLinkElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLLinkElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLLinkElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLLinkElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLLinkElementEvents2_QueryInterface(HTMLLinkElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLLinkElementEvents2_AddRef(HTMLLinkElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLLinkElementEvents2_Release(HTMLLinkElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLLinkElementEvents2_GetTypeInfoCount(HTMLLinkElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLLinkElementEvents2_GetTypeInfo(HTMLLinkElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLLinkElementEvents2_GetIDsOfNames(HTMLLinkElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLLinkElementEvents2_Invoke(HTMLLinkElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLLinkElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLLinkElementEvents dispinterface
 */
#ifndef __HTMLLinkElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLLinkElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLLinkElementEvents, 0x3050f3cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3cc-98b5-11cf-bb82-00aa00bdce0b")
HTMLLinkElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLinkElementEvents, 0x3050f3cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLLinkElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLLinkElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLLinkElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLLinkElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLLinkElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLLinkElementEventsVtbl;

interface HTMLLinkElementEvents {
    CONST_VTBL HTMLLinkElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLLinkElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLLinkElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLLinkElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLLinkElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLLinkElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLLinkElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLLinkElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLLinkElementEvents_QueryInterface(HTMLLinkElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLLinkElementEvents_AddRef(HTMLLinkElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLLinkElementEvents_Release(HTMLLinkElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLLinkElementEvents_GetTypeInfoCount(HTMLLinkElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLLinkElementEvents_GetTypeInfo(HTMLLinkElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLLinkElementEvents_GetIDsOfNames(HTMLLinkElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLLinkElementEvents_Invoke(HTMLLinkElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLLinkElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLinkElement interface
 */
#ifndef __IHTMLLinkElement_INTERFACE_DEFINED__
#define __IHTMLLinkElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLinkElement, 0x3050f205, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f205-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLinkElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rel(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rel(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rev(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rev(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleSheet(
        IHTMLStyleSheet **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLinkElement, 0x3050f205, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLinkElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLinkElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLinkElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLinkElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLinkElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLinkElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLLinkElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLLinkElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rel)(
        IHTMLLinkElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rel)(
        IHTMLLinkElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rev)(
        IHTMLLinkElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rev)(
        IHTMLLinkElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLLinkElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLLinkElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLLinkElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLLinkElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLLinkElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLLinkElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLLinkElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLLinkElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLLinkElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_styleSheet)(
        IHTMLLinkElement *This,
        IHTMLStyleSheet **p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLLinkElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLLinkElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_media)(
        IHTMLLinkElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLLinkElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLLinkElementVtbl;

interface IHTMLLinkElement {
    CONST_VTBL IHTMLLinkElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLinkElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLinkElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLinkElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLinkElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLinkElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLinkElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLinkElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLinkElement methods ***/
#define IHTMLLinkElement_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLLinkElement_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLLinkElement_put_rel(This,v) (This)->lpVtbl->put_rel(This,v)
#define IHTMLLinkElement_get_rel(This,p) (This)->lpVtbl->get_rel(This,p)
#define IHTMLLinkElement_put_rev(This,v) (This)->lpVtbl->put_rev(This,v)
#define IHTMLLinkElement_get_rev(This,p) (This)->lpVtbl->get_rev(This,p)
#define IHTMLLinkElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLLinkElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLLinkElement_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLLinkElement_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLLinkElement_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLLinkElement_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLLinkElement_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLLinkElement_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLLinkElement_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLLinkElement_get_styleSheet(This,p) (This)->lpVtbl->get_styleSheet(This,p)
#define IHTMLLinkElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLLinkElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLLinkElement_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define IHTMLLinkElement_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLinkElement_QueryInterface(IHTMLLinkElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLinkElement_AddRef(IHTMLLinkElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLinkElement_Release(IHTMLLinkElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLinkElement_GetTypeInfoCount(IHTMLLinkElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLinkElement_GetTypeInfo(IHTMLLinkElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLinkElement_GetIDsOfNames(IHTMLLinkElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLinkElement_Invoke(IHTMLLinkElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLinkElement methods ***/
static inline HRESULT IHTMLLinkElement_put_href(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLLinkElement_get_href(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLLinkElement_put_rel(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_rel(This,v);
}
static inline HRESULT IHTMLLinkElement_get_rel(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_rel(This,p);
}
static inline HRESULT IHTMLLinkElement_put_rev(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_rev(This,v);
}
static inline HRESULT IHTMLLinkElement_get_rev(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_rev(This,p);
}
static inline HRESULT IHTMLLinkElement_put_type(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLLinkElement_get_type(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLLinkElement_get_readyState(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLLinkElement_put_onreadystatechange(IHTMLLinkElement* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLLinkElement_get_onreadystatechange(IHTMLLinkElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLLinkElement_put_onload(IHTMLLinkElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLLinkElement_get_onload(IHTMLLinkElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLLinkElement_put_onerror(IHTMLLinkElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLLinkElement_get_onerror(IHTMLLinkElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLLinkElement_get_styleSheet(IHTMLLinkElement* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_styleSheet(This,p);
}
static inline HRESULT IHTMLLinkElement_put_disabled(IHTMLLinkElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLLinkElement_get_disabled(IHTMLLinkElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLLinkElement_put_media(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT IHTMLLinkElement_get_media(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLinkElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLinkElement2 interface
 */
#ifndef __IHTMLLinkElement2_INTERFACE_DEFINED__
#define __IHTMLLinkElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLinkElement2, 0x3050f4e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4e5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLinkElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_target(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLinkElement2, 0x3050f4e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLinkElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLinkElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLinkElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLinkElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLinkElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLinkElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_target)(
        IHTMLLinkElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_target)(
        IHTMLLinkElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLLinkElement2Vtbl;

interface IHTMLLinkElement2 {
    CONST_VTBL IHTMLLinkElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLinkElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLinkElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLinkElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLinkElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLinkElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLinkElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLinkElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLinkElement2 methods ***/
#define IHTMLLinkElement2_put_target(This,v) (This)->lpVtbl->put_target(This,v)
#define IHTMLLinkElement2_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLinkElement2_QueryInterface(IHTMLLinkElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLinkElement2_AddRef(IHTMLLinkElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLinkElement2_Release(IHTMLLinkElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLinkElement2_GetTypeInfoCount(IHTMLLinkElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLinkElement2_GetTypeInfo(IHTMLLinkElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLinkElement2_GetIDsOfNames(IHTMLLinkElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLinkElement2_Invoke(IHTMLLinkElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLinkElement2 methods ***/
static inline HRESULT IHTMLLinkElement2_put_target(IHTMLLinkElement2* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static inline HRESULT IHTMLLinkElement2_get_target(IHTMLLinkElement2* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLinkElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLinkElement3 interface
 */
#ifndef __IHTMLLinkElement3_INTERFACE_DEFINED__
#define __IHTMLLinkElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLinkElement3, 0x3050f81e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f81e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLinkElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_charset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_charset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hreflang(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hreflang(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLinkElement3, 0x3050f81e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLinkElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLinkElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLinkElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLinkElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLinkElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLinkElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_charset)(
        IHTMLLinkElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_charset)(
        IHTMLLinkElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hreflang)(
        IHTMLLinkElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hreflang)(
        IHTMLLinkElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLLinkElement3Vtbl;

interface IHTMLLinkElement3 {
    CONST_VTBL IHTMLLinkElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLinkElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLinkElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLinkElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLinkElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLinkElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLinkElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLinkElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLinkElement3 methods ***/
#define IHTMLLinkElement3_put_charset(This,v) (This)->lpVtbl->put_charset(This,v)
#define IHTMLLinkElement3_get_charset(This,p) (This)->lpVtbl->get_charset(This,p)
#define IHTMLLinkElement3_put_hreflang(This,v) (This)->lpVtbl->put_hreflang(This,v)
#define IHTMLLinkElement3_get_hreflang(This,p) (This)->lpVtbl->get_hreflang(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLinkElement3_QueryInterface(IHTMLLinkElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLinkElement3_AddRef(IHTMLLinkElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLinkElement3_Release(IHTMLLinkElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLinkElement3_GetTypeInfoCount(IHTMLLinkElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLinkElement3_GetTypeInfo(IHTMLLinkElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLinkElement3_GetIDsOfNames(IHTMLLinkElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLinkElement3_Invoke(IHTMLLinkElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLinkElement3 methods ***/
static inline HRESULT IHTMLLinkElement3_put_charset(IHTMLLinkElement3* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static inline HRESULT IHTMLLinkElement3_get_charset(IHTMLLinkElement3* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
static inline HRESULT IHTMLLinkElement3_put_hreflang(IHTMLLinkElement3* This,BSTR v) {
    return This->lpVtbl->put_hreflang(This,v);
}
static inline HRESULT IHTMLLinkElement3_get_hreflang(IHTMLLinkElement3* This,BSTR *p) {
    return This->lpVtbl->get_hreflang(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLinkElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLinkElement4 interface
 */
#ifndef __IHTMLLinkElement4_INTERFACE_DEFINED__
#define __IHTMLLinkElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLinkElement4, 0x3051043a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051043a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLinkElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLinkElement4, 0x3051043a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLinkElement4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLinkElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLinkElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLinkElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLinkElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLinkElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLLinkElement4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLLinkElement4 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLLinkElement4Vtbl;

interface IHTMLLinkElement4 {
    CONST_VTBL IHTMLLinkElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLinkElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLinkElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLinkElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLinkElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLinkElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLinkElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLinkElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLinkElement4 methods ***/
#define IHTMLLinkElement4_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLLinkElement4_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLinkElement4_QueryInterface(IHTMLLinkElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLinkElement4_AddRef(IHTMLLinkElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLinkElement4_Release(IHTMLLinkElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLinkElement4_GetTypeInfoCount(IHTMLLinkElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLinkElement4_GetTypeInfo(IHTMLLinkElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLinkElement4_GetIDsOfNames(IHTMLLinkElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLinkElement4_Invoke(IHTMLLinkElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLinkElement4 methods ***/
static inline HRESULT IHTMLLinkElement4_put_href(IHTMLLinkElement4* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLLinkElement4_get_href(IHTMLLinkElement4* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLinkElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLinkElement5 interface
 */
#ifndef __IHTMLLinkElement5_INTERFACE_DEFINED__
#define __IHTMLLinkElement5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLinkElement5, 0x30510726, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510726-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLinkElement5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_sheet(
        IHTMLStyleSheet **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLinkElement5, 0x30510726, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLinkElement5Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLinkElement5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLinkElement5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLinkElement5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLinkElement5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLinkElement5 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_sheet)(
        IHTMLLinkElement5 *This,
        IHTMLStyleSheet **p);

    END_INTERFACE
} IHTMLLinkElement5Vtbl;

interface IHTMLLinkElement5 {
    CONST_VTBL IHTMLLinkElement5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLinkElement5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLinkElement5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLinkElement5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLinkElement5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLinkElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLinkElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLinkElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLinkElement5 methods ***/
#define IHTMLLinkElement5_get_sheet(This,p) (This)->lpVtbl->get_sheet(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLinkElement5_QueryInterface(IHTMLLinkElement5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLinkElement5_AddRef(IHTMLLinkElement5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLinkElement5_Release(IHTMLLinkElement5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLinkElement5_GetTypeInfoCount(IHTMLLinkElement5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLinkElement5_GetTypeInfo(IHTMLLinkElement5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLinkElement5_GetIDsOfNames(IHTMLLinkElement5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLinkElement5_Invoke(IHTMLLinkElement5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLinkElement5 methods ***/
static inline HRESULT IHTMLLinkElement5_get_sheet(IHTMLLinkElement5* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_sheet(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLinkElement5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLLinkElement dispinterface
 */
#ifndef __DispHTMLLinkElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLinkElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLLinkElement, 0x3050f524, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f524-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLLinkElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLLinkElement, 0x3050f524, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLLinkElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLLinkElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLLinkElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLLinkElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLLinkElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLLinkElementVtbl;

interface DispHTMLLinkElement {
    CONST_VTBL DispHTMLLinkElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLLinkElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLLinkElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLLinkElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLLinkElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLLinkElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLLinkElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLLinkElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLLinkElement_QueryInterface(DispHTMLLinkElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLLinkElement_AddRef(DispHTMLLinkElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLLinkElement_Release(DispHTMLLinkElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLLinkElement_GetTypeInfoCount(DispHTMLLinkElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLLinkElement_GetTypeInfo(DispHTMLLinkElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLLinkElement_GetIDsOfNames(DispHTMLLinkElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLLinkElement_Invoke(DispHTMLLinkElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLLinkElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLLinkElement coclass
 */

DEFINE_GUID(CLSID_HTMLLinkElement, 0x3050f277, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f277-98b5-11cf-bb82-00aa00bdce0b") HTMLLinkElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLinkElement, 0x3050f277, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CLinkElement;
typedef enum _htmlUnit {
    htmlUnitCharacter = 1,
    htmlUnitWord = 2,
    htmlUnitSentence = 3,
    htmlUnitTextEdit = 6,
    htmlUnit_Max = 0x7fffffff
} htmlUnit;
typedef enum _htmlEndPoints {
    htmlEndPointsStartToStart = 1,
    htmlEndPointsStartToEnd = 2,
    htmlEndPointsEndToStart = 3,
    htmlEndPointsEndToEnd = 4,
    htmlEndPoints_Max = 0x7fffffff
} htmlEndPoints;
typedef enum _htmlDirection {
    htmlDirectionForward = 99999,
    htmlDirectionBackward = -99999,
    htmlDirection_Max = 0x7fffffff
} htmlDirection;
/*****************************************************************************
 * IHTMLTxtRange interface
 */
#ifndef __IHTMLTxtRange_INTERFACE_DEFINED__
#define __IHTMLTxtRange_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTxtRange, 0x3050f220, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f220-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTxtRange : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_htmlText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_text(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE parentElement(
        IHTMLElement **parent) = 0;

    virtual HRESULT STDMETHODCALLTYPE duplicate(
        IHTMLTxtRange **Duplicate) = 0;

    virtual HRESULT STDMETHODCALLTYPE inRange(
        IHTMLTxtRange *Range,
        VARIANT_BOOL *InRange) = 0;

    virtual HRESULT STDMETHODCALLTYPE isEqual(
        IHTMLTxtRange *Range,
        VARIANT_BOOL *IsEqual) = 0;

    virtual HRESULT STDMETHODCALLTYPE scrollIntoView(
        VARIANT_BOOL fStart = -1) = 0;

    virtual HRESULT STDMETHODCALLTYPE collapse(
        VARIANT_BOOL Start = -1) = 0;

    virtual HRESULT STDMETHODCALLTYPE expand(
        BSTR Unit,
        VARIANT_BOOL *Success) = 0;

    virtual HRESULT STDMETHODCALLTYPE move(
        BSTR Unit,
        LONG Count = 1,
        LONG *ActualCount = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveStart(
        BSTR Unit,
        LONG Count = 1,
        LONG *ActualCount = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveEnd(
        BSTR Unit,
        LONG Count = 1,
        LONG *ActualCount = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE select(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE pasteHTML(
        BSTR html) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveToElementText(
        IHTMLElement *element) = 0;

    virtual HRESULT STDMETHODCALLTYPE setEndPoint(
        BSTR how,
        IHTMLTxtRange *SourceRange) = 0;

    virtual HRESULT STDMETHODCALLTYPE compareEndPoints(
        BSTR how,
        IHTMLTxtRange *SourceRange,
        LONG *ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE findText(
        BSTR String,
        LONG count = 1073741823,
        LONG Flags = 0,
        VARIANT_BOOL *Success = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveToPoint(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE getBookmark(
        BSTR *Boolmark) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveToBookmark(
        BSTR Bookmark,
        VARIANT_BOOL *Success) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandSupported(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandEnabled(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandState(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandIndeterm(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandText(
        BSTR cmdID,
        BSTR *pcmdText) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandValue(
        BSTR cmdID,
        VARIANT *pcmdValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE execCommand(
        BSTR cmdID,
        VARIANT_BOOL showUI,
        VARIANT value,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE execCommandShowHelp(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTxtRange, 0x3050f220, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTxtRangeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTxtRange *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTxtRange *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTxtRange *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTxtRange *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTxtRange methods ***/
    HRESULT (STDMETHODCALLTYPE *get_htmlText)(
        IHTMLTxtRange *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_text)(
        IHTMLTxtRange *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_text)(
        IHTMLTxtRange *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *parentElement)(
        IHTMLTxtRange *This,
        IHTMLElement **parent);

    HRESULT (STDMETHODCALLTYPE *duplicate)(
        IHTMLTxtRange *This,
        IHTMLTxtRange **Duplicate);

    HRESULT (STDMETHODCALLTYPE *inRange)(
        IHTMLTxtRange *This,
        IHTMLTxtRange *Range,
        VARIANT_BOOL *InRange);

    HRESULT (STDMETHODCALLTYPE *isEqual)(
        IHTMLTxtRange *This,
        IHTMLTxtRange *Range,
        VARIANT_BOOL *IsEqual);

    HRESULT (STDMETHODCALLTYPE *scrollIntoView)(
        IHTMLTxtRange *This,
        VARIANT_BOOL fStart);

    HRESULT (STDMETHODCALLTYPE *collapse)(
        IHTMLTxtRange *This,
        VARIANT_BOOL Start);

    HRESULT (STDMETHODCALLTYPE *expand)(
        IHTMLTxtRange *This,
        BSTR Unit,
        VARIANT_BOOL *Success);

    HRESULT (STDMETHODCALLTYPE *move)(
        IHTMLTxtRange *This,
        BSTR Unit,
        LONG Count,
        LONG *ActualCount);

    HRESULT (STDMETHODCALLTYPE *moveStart)(
        IHTMLTxtRange *This,
        BSTR Unit,
        LONG Count,
        LONG *ActualCount);

    HRESULT (STDMETHODCALLTYPE *moveEnd)(
        IHTMLTxtRange *This,
        BSTR Unit,
        LONG Count,
        LONG *ActualCount);

    HRESULT (STDMETHODCALLTYPE *select)(
        IHTMLTxtRange *This);

    HRESULT (STDMETHODCALLTYPE *pasteHTML)(
        IHTMLTxtRange *This,
        BSTR html);

    HRESULT (STDMETHODCALLTYPE *moveToElementText)(
        IHTMLTxtRange *This,
        IHTMLElement *element);

    HRESULT (STDMETHODCALLTYPE *setEndPoint)(
        IHTMLTxtRange *This,
        BSTR how,
        IHTMLTxtRange *SourceRange);

    HRESULT (STDMETHODCALLTYPE *compareEndPoints)(
        IHTMLTxtRange *This,
        BSTR how,
        IHTMLTxtRange *SourceRange,
        LONG *ret);

    HRESULT (STDMETHODCALLTYPE *findText)(
        IHTMLTxtRange *This,
        BSTR String,
        LONG count,
        LONG Flags,
        VARIANT_BOOL *Success);

    HRESULT (STDMETHODCALLTYPE *moveToPoint)(
        IHTMLTxtRange *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *getBookmark)(
        IHTMLTxtRange *This,
        BSTR *Boolmark);

    HRESULT (STDMETHODCALLTYPE *moveToBookmark)(
        IHTMLTxtRange *This,
        BSTR Bookmark,
        VARIANT_BOOL *Success);

    HRESULT (STDMETHODCALLTYPE *queryCommandSupported)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandEnabled)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandState)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandIndeterm)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandText)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        BSTR *pcmdText);

    HRESULT (STDMETHODCALLTYPE *queryCommandValue)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        VARIANT *pcmdValue);

    HRESULT (STDMETHODCALLTYPE *execCommand)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        VARIANT_BOOL showUI,
        VARIANT value,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *execCommandShowHelp)(
        IHTMLTxtRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    END_INTERFACE
} IHTMLTxtRangeVtbl;

interface IHTMLTxtRange {
    CONST_VTBL IHTMLTxtRangeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTxtRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTxtRange_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTxtRange_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTxtRange_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTxtRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTxtRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTxtRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTxtRange methods ***/
#define IHTMLTxtRange_get_htmlText(This,p) (This)->lpVtbl->get_htmlText(This,p)
#define IHTMLTxtRange_put_text(This,v) (This)->lpVtbl->put_text(This,v)
#define IHTMLTxtRange_get_text(This,p) (This)->lpVtbl->get_text(This,p)
#define IHTMLTxtRange_parentElement(This,parent) (This)->lpVtbl->parentElement(This,parent)
#define IHTMLTxtRange_duplicate(This,Duplicate) (This)->lpVtbl->duplicate(This,Duplicate)
#define IHTMLTxtRange_inRange(This,Range,InRange) (This)->lpVtbl->inRange(This,Range,InRange)
#define IHTMLTxtRange_isEqual(This,Range,IsEqual) (This)->lpVtbl->isEqual(This,Range,IsEqual)
#define IHTMLTxtRange_scrollIntoView(This,fStart) (This)->lpVtbl->scrollIntoView(This,fStart)
#define IHTMLTxtRange_collapse(This,Start) (This)->lpVtbl->collapse(This,Start)
#define IHTMLTxtRange_expand(This,Unit,Success) (This)->lpVtbl->expand(This,Unit,Success)
#define IHTMLTxtRange_move(This,Unit,Count,ActualCount) (This)->lpVtbl->move(This,Unit,Count,ActualCount)
#define IHTMLTxtRange_moveStart(This,Unit,Count,ActualCount) (This)->lpVtbl->moveStart(This,Unit,Count,ActualCount)
#define IHTMLTxtRange_moveEnd(This,Unit,Count,ActualCount) (This)->lpVtbl->moveEnd(This,Unit,Count,ActualCount)
#define IHTMLTxtRange_select(This) (This)->lpVtbl->select(This)
#define IHTMLTxtRange_pasteHTML(This,html) (This)->lpVtbl->pasteHTML(This,html)
#define IHTMLTxtRange_moveToElementText(This,element) (This)->lpVtbl->moveToElementText(This,element)
#define IHTMLTxtRange_setEndPoint(This,how,SourceRange) (This)->lpVtbl->setEndPoint(This,how,SourceRange)
#define IHTMLTxtRange_compareEndPoints(This,how,SourceRange,ret) (This)->lpVtbl->compareEndPoints(This,how,SourceRange,ret)
#define IHTMLTxtRange_findText(This,String,count,Flags,Success) (This)->lpVtbl->findText(This,String,count,Flags,Success)
#define IHTMLTxtRange_moveToPoint(This,x,y) (This)->lpVtbl->moveToPoint(This,x,y)
#define IHTMLTxtRange_getBookmark(This,Boolmark) (This)->lpVtbl->getBookmark(This,Boolmark)
#define IHTMLTxtRange_moveToBookmark(This,Bookmark,Success) (This)->lpVtbl->moveToBookmark(This,Bookmark,Success)
#define IHTMLTxtRange_queryCommandSupported(This,cmdID,pfRet) (This)->lpVtbl->queryCommandSupported(This,cmdID,pfRet)
#define IHTMLTxtRange_queryCommandEnabled(This,cmdID,pfRet) (This)->lpVtbl->queryCommandEnabled(This,cmdID,pfRet)
#define IHTMLTxtRange_queryCommandState(This,cmdID,pfRet) (This)->lpVtbl->queryCommandState(This,cmdID,pfRet)
#define IHTMLTxtRange_queryCommandIndeterm(This,cmdID,pfRet) (This)->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet)
#define IHTMLTxtRange_queryCommandText(This,cmdID,pcmdText) (This)->lpVtbl->queryCommandText(This,cmdID,pcmdText)
#define IHTMLTxtRange_queryCommandValue(This,cmdID,pcmdValue) (This)->lpVtbl->queryCommandValue(This,cmdID,pcmdValue)
#define IHTMLTxtRange_execCommand(This,cmdID,showUI,value,pfRet) (This)->lpVtbl->execCommand(This,cmdID,showUI,value,pfRet)
#define IHTMLTxtRange_execCommandShowHelp(This,cmdID,pfRet) (This)->lpVtbl->execCommandShowHelp(This,cmdID,pfRet)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTxtRange_QueryInterface(IHTMLTxtRange* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTxtRange_AddRef(IHTMLTxtRange* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTxtRange_Release(IHTMLTxtRange* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTxtRange_GetTypeInfoCount(IHTMLTxtRange* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTxtRange_GetTypeInfo(IHTMLTxtRange* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTxtRange_GetIDsOfNames(IHTMLTxtRange* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTxtRange_Invoke(IHTMLTxtRange* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTxtRange methods ***/
static inline HRESULT IHTMLTxtRange_get_htmlText(IHTMLTxtRange* This,BSTR *p) {
    return This->lpVtbl->get_htmlText(This,p);
}
static inline HRESULT IHTMLTxtRange_put_text(IHTMLTxtRange* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static inline HRESULT IHTMLTxtRange_get_text(IHTMLTxtRange* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static inline HRESULT IHTMLTxtRange_parentElement(IHTMLTxtRange* This,IHTMLElement **parent) {
    return This->lpVtbl->parentElement(This,parent);
}
static inline HRESULT IHTMLTxtRange_duplicate(IHTMLTxtRange* This,IHTMLTxtRange **Duplicate) {
    return This->lpVtbl->duplicate(This,Duplicate);
}
static inline HRESULT IHTMLTxtRange_inRange(IHTMLTxtRange* This,IHTMLTxtRange *Range,VARIANT_BOOL *InRange) {
    return This->lpVtbl->inRange(This,Range,InRange);
}
static inline HRESULT IHTMLTxtRange_isEqual(IHTMLTxtRange* This,IHTMLTxtRange *Range,VARIANT_BOOL *IsEqual) {
    return This->lpVtbl->isEqual(This,Range,IsEqual);
}
static inline HRESULT IHTMLTxtRange_scrollIntoView(IHTMLTxtRange* This,VARIANT_BOOL fStart) {
    return This->lpVtbl->scrollIntoView(This,fStart);
}
static inline HRESULT IHTMLTxtRange_collapse(IHTMLTxtRange* This,VARIANT_BOOL Start) {
    return This->lpVtbl->collapse(This,Start);
}
static inline HRESULT IHTMLTxtRange_expand(IHTMLTxtRange* This,BSTR Unit,VARIANT_BOOL *Success) {
    return This->lpVtbl->expand(This,Unit,Success);
}
static inline HRESULT IHTMLTxtRange_move(IHTMLTxtRange* This,BSTR Unit,LONG Count,LONG *ActualCount) {
    return This->lpVtbl->move(This,Unit,Count,ActualCount);
}
static inline HRESULT IHTMLTxtRange_moveStart(IHTMLTxtRange* This,BSTR Unit,LONG Count,LONG *ActualCount) {
    return This->lpVtbl->moveStart(This,Unit,Count,ActualCount);
}
static inline HRESULT IHTMLTxtRange_moveEnd(IHTMLTxtRange* This,BSTR Unit,LONG Count,LONG *ActualCount) {
    return This->lpVtbl->moveEnd(This,Unit,Count,ActualCount);
}
static inline HRESULT IHTMLTxtRange_select(IHTMLTxtRange* This) {
    return This->lpVtbl->select(This);
}
static inline HRESULT IHTMLTxtRange_pasteHTML(IHTMLTxtRange* This,BSTR html) {
    return This->lpVtbl->pasteHTML(This,html);
}
static inline HRESULT IHTMLTxtRange_moveToElementText(IHTMLTxtRange* This,IHTMLElement *element) {
    return This->lpVtbl->moveToElementText(This,element);
}
static inline HRESULT IHTMLTxtRange_setEndPoint(IHTMLTxtRange* This,BSTR how,IHTMLTxtRange *SourceRange) {
    return This->lpVtbl->setEndPoint(This,how,SourceRange);
}
static inline HRESULT IHTMLTxtRange_compareEndPoints(IHTMLTxtRange* This,BSTR how,IHTMLTxtRange *SourceRange,LONG *ret) {
    return This->lpVtbl->compareEndPoints(This,how,SourceRange,ret);
}
static inline HRESULT IHTMLTxtRange_findText(IHTMLTxtRange* This,BSTR String,LONG count,LONG Flags,VARIANT_BOOL *Success) {
    return This->lpVtbl->findText(This,String,count,Flags,Success);
}
static inline HRESULT IHTMLTxtRange_moveToPoint(IHTMLTxtRange* This,LONG x,LONG y) {
    return This->lpVtbl->moveToPoint(This,x,y);
}
static inline HRESULT IHTMLTxtRange_getBookmark(IHTMLTxtRange* This,BSTR *Boolmark) {
    return This->lpVtbl->getBookmark(This,Boolmark);
}
static inline HRESULT IHTMLTxtRange_moveToBookmark(IHTMLTxtRange* This,BSTR Bookmark,VARIANT_BOOL *Success) {
    return This->lpVtbl->moveToBookmark(This,Bookmark,Success);
}
static inline HRESULT IHTMLTxtRange_queryCommandSupported(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandSupported(This,cmdID,pfRet);
}
static inline HRESULT IHTMLTxtRange_queryCommandEnabled(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandEnabled(This,cmdID,pfRet);
}
static inline HRESULT IHTMLTxtRange_queryCommandState(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandState(This,cmdID,pfRet);
}
static inline HRESULT IHTMLTxtRange_queryCommandIndeterm(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet);
}
static inline HRESULT IHTMLTxtRange_queryCommandText(IHTMLTxtRange* This,BSTR cmdID,BSTR *pcmdText) {
    return This->lpVtbl->queryCommandText(This,cmdID,pcmdText);
}
static inline HRESULT IHTMLTxtRange_queryCommandValue(IHTMLTxtRange* This,BSTR cmdID,VARIANT *pcmdValue) {
    return This->lpVtbl->queryCommandValue(This,cmdID,pcmdValue);
}
static inline HRESULT IHTMLTxtRange_execCommand(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL showUI,VARIANT value,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommand(This,cmdID,showUI,value,pfRet);
}
static inline HRESULT IHTMLTxtRange_execCommandShowHelp(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommandShowHelp(This,cmdID,pfRet);
}
#endif
#endif

#endif


#endif  /* __IHTMLTxtRange_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTextRangeMetrics interface
 */
#ifndef __IHTMLTextRangeMetrics_INTERFACE_DEFINED__
#define __IHTMLTextRangeMetrics_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTextRangeMetrics, 0x3050f40b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f40b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTextRangeMetrics : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_offsetTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boundingTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boundingLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boundingWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boundingHeight(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTextRangeMetrics, 0x3050f40b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTextRangeMetricsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTextRangeMetrics *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTextRangeMetrics *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTextRangeMetrics *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTextRangeMetrics *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTextRangeMetrics methods ***/
    HRESULT (STDMETHODCALLTYPE *get_offsetTop)(
        IHTMLTextRangeMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetLeft)(
        IHTMLTextRangeMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_boundingTop)(
        IHTMLTextRangeMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_boundingLeft)(
        IHTMLTextRangeMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_boundingWidth)(
        IHTMLTextRangeMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_boundingHeight)(
        IHTMLTextRangeMetrics *This,
        LONG *p);

    END_INTERFACE
} IHTMLTextRangeMetricsVtbl;

interface IHTMLTextRangeMetrics {
    CONST_VTBL IHTMLTextRangeMetricsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTextRangeMetrics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTextRangeMetrics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTextRangeMetrics_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTextRangeMetrics_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTextRangeMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTextRangeMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTextRangeMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTextRangeMetrics methods ***/
#define IHTMLTextRangeMetrics_get_offsetTop(This,p) (This)->lpVtbl->get_offsetTop(This,p)
#define IHTMLTextRangeMetrics_get_offsetLeft(This,p) (This)->lpVtbl->get_offsetLeft(This,p)
#define IHTMLTextRangeMetrics_get_boundingTop(This,p) (This)->lpVtbl->get_boundingTop(This,p)
#define IHTMLTextRangeMetrics_get_boundingLeft(This,p) (This)->lpVtbl->get_boundingLeft(This,p)
#define IHTMLTextRangeMetrics_get_boundingWidth(This,p) (This)->lpVtbl->get_boundingWidth(This,p)
#define IHTMLTextRangeMetrics_get_boundingHeight(This,p) (This)->lpVtbl->get_boundingHeight(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTextRangeMetrics_QueryInterface(IHTMLTextRangeMetrics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTextRangeMetrics_AddRef(IHTMLTextRangeMetrics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTextRangeMetrics_Release(IHTMLTextRangeMetrics* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTextRangeMetrics_GetTypeInfoCount(IHTMLTextRangeMetrics* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTextRangeMetrics_GetTypeInfo(IHTMLTextRangeMetrics* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTextRangeMetrics_GetIDsOfNames(IHTMLTextRangeMetrics* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTextRangeMetrics_Invoke(IHTMLTextRangeMetrics* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTextRangeMetrics methods ***/
static inline HRESULT IHTMLTextRangeMetrics_get_offsetTop(IHTMLTextRangeMetrics* This,LONG *p) {
    return This->lpVtbl->get_offsetTop(This,p);
}
static inline HRESULT IHTMLTextRangeMetrics_get_offsetLeft(IHTMLTextRangeMetrics* This,LONG *p) {
    return This->lpVtbl->get_offsetLeft(This,p);
}
static inline HRESULT IHTMLTextRangeMetrics_get_boundingTop(IHTMLTextRangeMetrics* This,LONG *p) {
    return This->lpVtbl->get_boundingTop(This,p);
}
static inline HRESULT IHTMLTextRangeMetrics_get_boundingLeft(IHTMLTextRangeMetrics* This,LONG *p) {
    return This->lpVtbl->get_boundingLeft(This,p);
}
static inline HRESULT IHTMLTextRangeMetrics_get_boundingWidth(IHTMLTextRangeMetrics* This,LONG *p) {
    return This->lpVtbl->get_boundingWidth(This,p);
}
static inline HRESULT IHTMLTextRangeMetrics_get_boundingHeight(IHTMLTextRangeMetrics* This,LONG *p) {
    return This->lpVtbl->get_boundingHeight(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextRangeMetrics_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTextRangeMetrics2 interface
 */
#ifndef __IHTMLTextRangeMetrics2_INTERFACE_DEFINED__
#define __IHTMLTextRangeMetrics2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTextRangeMetrics2, 0x3050f4a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4a6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTextRangeMetrics2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getClientRects(
        IHTMLRectCollection **pRectCol) = 0;

    virtual HRESULT STDMETHODCALLTYPE getBoundingClientRect(
        IHTMLRect **pRect) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTextRangeMetrics2, 0x3050f4a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTextRangeMetrics2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTextRangeMetrics2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTextRangeMetrics2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTextRangeMetrics2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTextRangeMetrics2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTextRangeMetrics2 methods ***/
    HRESULT (STDMETHODCALLTYPE *getClientRects)(
        IHTMLTextRangeMetrics2 *This,
        IHTMLRectCollection **pRectCol);

    HRESULT (STDMETHODCALLTYPE *getBoundingClientRect)(
        IHTMLTextRangeMetrics2 *This,
        IHTMLRect **pRect);

    END_INTERFACE
} IHTMLTextRangeMetrics2Vtbl;

interface IHTMLTextRangeMetrics2 {
    CONST_VTBL IHTMLTextRangeMetrics2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTextRangeMetrics2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTextRangeMetrics2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTextRangeMetrics2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTextRangeMetrics2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTextRangeMetrics2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTextRangeMetrics2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTextRangeMetrics2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTextRangeMetrics2 methods ***/
#define IHTMLTextRangeMetrics2_getClientRects(This,pRectCol) (This)->lpVtbl->getClientRects(This,pRectCol)
#define IHTMLTextRangeMetrics2_getBoundingClientRect(This,pRect) (This)->lpVtbl->getBoundingClientRect(This,pRect)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTextRangeMetrics2_QueryInterface(IHTMLTextRangeMetrics2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTextRangeMetrics2_AddRef(IHTMLTextRangeMetrics2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTextRangeMetrics2_Release(IHTMLTextRangeMetrics2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTextRangeMetrics2_GetTypeInfoCount(IHTMLTextRangeMetrics2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTextRangeMetrics2_GetTypeInfo(IHTMLTextRangeMetrics2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTextRangeMetrics2_GetIDsOfNames(IHTMLTextRangeMetrics2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTextRangeMetrics2_Invoke(IHTMLTextRangeMetrics2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTextRangeMetrics2 methods ***/
static inline HRESULT IHTMLTextRangeMetrics2_getClientRects(IHTMLTextRangeMetrics2* This,IHTMLRectCollection **pRectCol) {
    return This->lpVtbl->getClientRects(This,pRectCol);
}
static inline HRESULT IHTMLTextRangeMetrics2_getBoundingClientRect(IHTMLTextRangeMetrics2* This,IHTMLRect **pRect) {
    return This->lpVtbl->getBoundingClientRect(This,pRect);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextRangeMetrics2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTxtRangeCollection interface
 */
#ifndef __IHTMLTxtRangeCollection_INTERFACE_DEFINED__
#define __IHTMLTxtRangeCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTxtRangeCollection, 0x3050f7ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7ed-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTxtRangeCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT *pvarIndex,
        VARIANT *pvarResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTxtRangeCollection, 0x3050f7ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTxtRangeCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTxtRangeCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTxtRangeCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTxtRangeCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTxtRangeCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTxtRangeCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLTxtRangeCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLTxtRangeCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLTxtRangeCollection *This,
        VARIANT *pvarIndex,
        VARIANT *pvarResult);

    END_INTERFACE
} IHTMLTxtRangeCollectionVtbl;

interface IHTMLTxtRangeCollection {
    CONST_VTBL IHTMLTxtRangeCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTxtRangeCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTxtRangeCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTxtRangeCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTxtRangeCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTxtRangeCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTxtRangeCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTxtRangeCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTxtRangeCollection methods ***/
#define IHTMLTxtRangeCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLTxtRangeCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLTxtRangeCollection_item(This,pvarIndex,pvarResult) (This)->lpVtbl->item(This,pvarIndex,pvarResult)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTxtRangeCollection_QueryInterface(IHTMLTxtRangeCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTxtRangeCollection_AddRef(IHTMLTxtRangeCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTxtRangeCollection_Release(IHTMLTxtRangeCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTxtRangeCollection_GetTypeInfoCount(IHTMLTxtRangeCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTxtRangeCollection_GetTypeInfo(IHTMLTxtRangeCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTxtRangeCollection_GetIDsOfNames(IHTMLTxtRangeCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTxtRangeCollection_Invoke(IHTMLTxtRangeCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTxtRangeCollection methods ***/
static inline HRESULT IHTMLTxtRangeCollection_get_length(IHTMLTxtRangeCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLTxtRangeCollection_get__newEnum(IHTMLTxtRangeCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLTxtRangeCollection_item(IHTMLTxtRangeCollection* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLTxtRangeCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMRange interface
 */
#ifndef __IHTMLDOMRange_INTERFACE_DEFINED__
#define __IHTMLDOMRange_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMRange, 0x305104ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ae-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMRange : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_startContainer(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_startOffset(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_endContainer(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_endOffset(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_collapsed(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_commonAncestorContainer(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setStart(
        IDispatch *refNode,
        LONG offset) = 0;

    virtual HRESULT STDMETHODCALLTYPE setEnd(
        IDispatch *refNode,
        LONG offset) = 0;

    virtual HRESULT STDMETHODCALLTYPE setStartBefore(
        IDispatch *refNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE setStartAfter(
        IDispatch *refNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE setEndBefore(
        IDispatch *refNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE setEndAfter(
        IDispatch *refNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE collapse(
        VARIANT_BOOL toStart) = 0;

    virtual HRESULT STDMETHODCALLTYPE selectNode(
        IDispatch *refNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE selectNodeContents(
        IDispatch *refNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE compareBoundaryPoints(
        short how,
        IDispatch *sourceRange,
        LONG *compareResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteContents(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE extractContents(
        IDispatch **ppDocumentFragment) = 0;

    virtual HRESULT STDMETHODCALLTYPE cloneContents(
        IDispatch **ppDocumentFragment) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertNode(
        IDispatch *newNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE surroundContents(
        IDispatch *newParent) = 0;

    virtual HRESULT STDMETHODCALLTYPE cloneRange(
        IHTMLDOMRange **ppClonedRange) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *pRangeString) = 0;

    virtual HRESULT STDMETHODCALLTYPE detach(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE getClientRects(
        IHTMLRectCollection **ppRectCol) = 0;

    virtual HRESULT STDMETHODCALLTYPE getBoundingClientRect(
        IHTMLRect **ppRect) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMRange, 0x305104ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMRangeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMRange *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMRange *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMRange *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMRange *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMRange methods ***/
    HRESULT (STDMETHODCALLTYPE *get_startContainer)(
        IHTMLDOMRange *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_startOffset)(
        IHTMLDOMRange *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_endContainer)(
        IHTMLDOMRange *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_endOffset)(
        IHTMLDOMRange *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_collapsed)(
        IHTMLDOMRange *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_commonAncestorContainer)(
        IHTMLDOMRange *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *setStart)(
        IHTMLDOMRange *This,
        IDispatch *refNode,
        LONG offset);

    HRESULT (STDMETHODCALLTYPE *setEnd)(
        IHTMLDOMRange *This,
        IDispatch *refNode,
        LONG offset);

    HRESULT (STDMETHODCALLTYPE *setStartBefore)(
        IHTMLDOMRange *This,
        IDispatch *refNode);

    HRESULT (STDMETHODCALLTYPE *setStartAfter)(
        IHTMLDOMRange *This,
        IDispatch *refNode);

    HRESULT (STDMETHODCALLTYPE *setEndBefore)(
        IHTMLDOMRange *This,
        IDispatch *refNode);

    HRESULT (STDMETHODCALLTYPE *setEndAfter)(
        IHTMLDOMRange *This,
        IDispatch *refNode);

    HRESULT (STDMETHODCALLTYPE *collapse)(
        IHTMLDOMRange *This,
        VARIANT_BOOL toStart);

    HRESULT (STDMETHODCALLTYPE *selectNode)(
        IHTMLDOMRange *This,
        IDispatch *refNode);

    HRESULT (STDMETHODCALLTYPE *selectNodeContents)(
        IHTMLDOMRange *This,
        IDispatch *refNode);

    HRESULT (STDMETHODCALLTYPE *compareBoundaryPoints)(
        IHTMLDOMRange *This,
        short how,
        IDispatch *sourceRange,
        LONG *compareResult);

    HRESULT (STDMETHODCALLTYPE *deleteContents)(
        IHTMLDOMRange *This);

    HRESULT (STDMETHODCALLTYPE *extractContents)(
        IHTMLDOMRange *This,
        IDispatch **ppDocumentFragment);

    HRESULT (STDMETHODCALLTYPE *cloneContents)(
        IHTMLDOMRange *This,
        IDispatch **ppDocumentFragment);

    HRESULT (STDMETHODCALLTYPE *insertNode)(
        IHTMLDOMRange *This,
        IDispatch *newNode);

    HRESULT (STDMETHODCALLTYPE *surroundContents)(
        IHTMLDOMRange *This,
        IDispatch *newParent);

    HRESULT (STDMETHODCALLTYPE *cloneRange)(
        IHTMLDOMRange *This,
        IHTMLDOMRange **ppClonedRange);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLDOMRange *This,
        BSTR *pRangeString);

    HRESULT (STDMETHODCALLTYPE *detach)(
        IHTMLDOMRange *This);

    HRESULT (STDMETHODCALLTYPE *getClientRects)(
        IHTMLDOMRange *This,
        IHTMLRectCollection **ppRectCol);

    HRESULT (STDMETHODCALLTYPE *getBoundingClientRect)(
        IHTMLDOMRange *This,
        IHTMLRect **ppRect);

    END_INTERFACE
} IHTMLDOMRangeVtbl;

interface IHTMLDOMRange {
    CONST_VTBL IHTMLDOMRangeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMRange_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMRange_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMRange_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMRange methods ***/
#define IHTMLDOMRange_get_startContainer(This,p) (This)->lpVtbl->get_startContainer(This,p)
#define IHTMLDOMRange_get_startOffset(This,p) (This)->lpVtbl->get_startOffset(This,p)
#define IHTMLDOMRange_get_endContainer(This,p) (This)->lpVtbl->get_endContainer(This,p)
#define IHTMLDOMRange_get_endOffset(This,p) (This)->lpVtbl->get_endOffset(This,p)
#define IHTMLDOMRange_get_collapsed(This,p) (This)->lpVtbl->get_collapsed(This,p)
#define IHTMLDOMRange_get_commonAncestorContainer(This,p) (This)->lpVtbl->get_commonAncestorContainer(This,p)
#define IHTMLDOMRange_setStart(This,refNode,offset) (This)->lpVtbl->setStart(This,refNode,offset)
#define IHTMLDOMRange_setEnd(This,refNode,offset) (This)->lpVtbl->setEnd(This,refNode,offset)
#define IHTMLDOMRange_setStartBefore(This,refNode) (This)->lpVtbl->setStartBefore(This,refNode)
#define IHTMLDOMRange_setStartAfter(This,refNode) (This)->lpVtbl->setStartAfter(This,refNode)
#define IHTMLDOMRange_setEndBefore(This,refNode) (This)->lpVtbl->setEndBefore(This,refNode)
#define IHTMLDOMRange_setEndAfter(This,refNode) (This)->lpVtbl->setEndAfter(This,refNode)
#define IHTMLDOMRange_collapse(This,toStart) (This)->lpVtbl->collapse(This,toStart)
#define IHTMLDOMRange_selectNode(This,refNode) (This)->lpVtbl->selectNode(This,refNode)
#define IHTMLDOMRange_selectNodeContents(This,refNode) (This)->lpVtbl->selectNodeContents(This,refNode)
#define IHTMLDOMRange_compareBoundaryPoints(This,how,sourceRange,compareResult) (This)->lpVtbl->compareBoundaryPoints(This,how,sourceRange,compareResult)
#define IHTMLDOMRange_deleteContents(This) (This)->lpVtbl->deleteContents(This)
#define IHTMLDOMRange_extractContents(This,ppDocumentFragment) (This)->lpVtbl->extractContents(This,ppDocumentFragment)
#define IHTMLDOMRange_cloneContents(This,ppDocumentFragment) (This)->lpVtbl->cloneContents(This,ppDocumentFragment)
#define IHTMLDOMRange_insertNode(This,newNode) (This)->lpVtbl->insertNode(This,newNode)
#define IHTMLDOMRange_surroundContents(This,newParent) (This)->lpVtbl->surroundContents(This,newParent)
#define IHTMLDOMRange_cloneRange(This,ppClonedRange) (This)->lpVtbl->cloneRange(This,ppClonedRange)
#define IHTMLDOMRange_toString(This,pRangeString) (This)->lpVtbl->toString(This,pRangeString)
#define IHTMLDOMRange_detach(This) (This)->lpVtbl->detach(This)
#define IHTMLDOMRange_getClientRects(This,ppRectCol) (This)->lpVtbl->getClientRects(This,ppRectCol)
#define IHTMLDOMRange_getBoundingClientRect(This,ppRect) (This)->lpVtbl->getBoundingClientRect(This,ppRect)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMRange_QueryInterface(IHTMLDOMRange* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMRange_AddRef(IHTMLDOMRange* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMRange_Release(IHTMLDOMRange* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMRange_GetTypeInfoCount(IHTMLDOMRange* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMRange_GetTypeInfo(IHTMLDOMRange* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMRange_GetIDsOfNames(IHTMLDOMRange* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMRange_Invoke(IHTMLDOMRange* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMRange methods ***/
static inline HRESULT IHTMLDOMRange_get_startContainer(IHTMLDOMRange* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_startContainer(This,p);
}
static inline HRESULT IHTMLDOMRange_get_startOffset(IHTMLDOMRange* This,LONG *p) {
    return This->lpVtbl->get_startOffset(This,p);
}
static inline HRESULT IHTMLDOMRange_get_endContainer(IHTMLDOMRange* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_endContainer(This,p);
}
static inline HRESULT IHTMLDOMRange_get_endOffset(IHTMLDOMRange* This,LONG *p) {
    return This->lpVtbl->get_endOffset(This,p);
}
static inline HRESULT IHTMLDOMRange_get_collapsed(IHTMLDOMRange* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_collapsed(This,p);
}
static inline HRESULT IHTMLDOMRange_get_commonAncestorContainer(IHTMLDOMRange* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_commonAncestorContainer(This,p);
}
static inline HRESULT IHTMLDOMRange_setStart(IHTMLDOMRange* This,IDispatch *refNode,LONG offset) {
    return This->lpVtbl->setStart(This,refNode,offset);
}
static inline HRESULT IHTMLDOMRange_setEnd(IHTMLDOMRange* This,IDispatch *refNode,LONG offset) {
    return This->lpVtbl->setEnd(This,refNode,offset);
}
static inline HRESULT IHTMLDOMRange_setStartBefore(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setStartBefore(This,refNode);
}
static inline HRESULT IHTMLDOMRange_setStartAfter(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setStartAfter(This,refNode);
}
static inline HRESULT IHTMLDOMRange_setEndBefore(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setEndBefore(This,refNode);
}
static inline HRESULT IHTMLDOMRange_setEndAfter(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setEndAfter(This,refNode);
}
static inline HRESULT IHTMLDOMRange_collapse(IHTMLDOMRange* This,VARIANT_BOOL toStart) {
    return This->lpVtbl->collapse(This,toStart);
}
static inline HRESULT IHTMLDOMRange_selectNode(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->selectNode(This,refNode);
}
static inline HRESULT IHTMLDOMRange_selectNodeContents(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->selectNodeContents(This,refNode);
}
static inline HRESULT IHTMLDOMRange_compareBoundaryPoints(IHTMLDOMRange* This,short how,IDispatch *sourceRange,LONG *compareResult) {
    return This->lpVtbl->compareBoundaryPoints(This,how,sourceRange,compareResult);
}
static inline HRESULT IHTMLDOMRange_deleteContents(IHTMLDOMRange* This) {
    return This->lpVtbl->deleteContents(This);
}
static inline HRESULT IHTMLDOMRange_extractContents(IHTMLDOMRange* This,IDispatch **ppDocumentFragment) {
    return This->lpVtbl->extractContents(This,ppDocumentFragment);
}
static inline HRESULT IHTMLDOMRange_cloneContents(IHTMLDOMRange* This,IDispatch **ppDocumentFragment) {
    return This->lpVtbl->cloneContents(This,ppDocumentFragment);
}
static inline HRESULT IHTMLDOMRange_insertNode(IHTMLDOMRange* This,IDispatch *newNode) {
    return This->lpVtbl->insertNode(This,newNode);
}
static inline HRESULT IHTMLDOMRange_surroundContents(IHTMLDOMRange* This,IDispatch *newParent) {
    return This->lpVtbl->surroundContents(This,newParent);
}
static inline HRESULT IHTMLDOMRange_cloneRange(IHTMLDOMRange* This,IHTMLDOMRange **ppClonedRange) {
    return This->lpVtbl->cloneRange(This,ppClonedRange);
}
static inline HRESULT IHTMLDOMRange_toString(IHTMLDOMRange* This,BSTR *pRangeString) {
    return This->lpVtbl->toString(This,pRangeString);
}
static inline HRESULT IHTMLDOMRange_detach(IHTMLDOMRange* This) {
    return This->lpVtbl->detach(This);
}
static inline HRESULT IHTMLDOMRange_getClientRects(IHTMLDOMRange* This,IHTMLRectCollection **ppRectCol) {
    return This->lpVtbl->getClientRects(This,ppRectCol);
}
static inline HRESULT IHTMLDOMRange_getBoundingClientRect(IHTMLDOMRange* This,IHTMLRect **ppRect) {
    return This->lpVtbl->getBoundingClientRect(This,ppRect);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMRange_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDOMRange dispinterface
 */
#ifndef __DispHTMLDOMRange_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMRange_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDOMRange, 0x3050f5a3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5a3-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDOMRange : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDOMRange, 0x3050f5a3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDOMRangeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDOMRange *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDOMRange *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDOMRange *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDOMRange *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDOMRangeVtbl;

interface DispHTMLDOMRange {
    CONST_VTBL DispHTMLDOMRangeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDOMRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDOMRange_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDOMRange_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDOMRange_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDOMRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDOMRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDOMRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDOMRange_QueryInterface(DispHTMLDOMRange* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDOMRange_AddRef(DispHTMLDOMRange* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDOMRange_Release(DispHTMLDOMRange* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDOMRange_GetTypeInfoCount(DispHTMLDOMRange* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDOMRange_GetTypeInfo(DispHTMLDOMRange* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDOMRange_GetIDsOfNames(DispHTMLDOMRange* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDOMRange_Invoke(DispHTMLDOMRange* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDOMRange_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDOMRange coclass
 */

DEFINE_GUID(CLSID_HTMLDOMRange, 0x305106c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106c3-98b5-11cf-bb82-00aa00bdce0b") HTMLDOMRange;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDOMRange, 0x305106c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDomRange;
/*****************************************************************************
 * HTMLFormElementEvents2 dispinterface
 */
#ifndef __HTMLFormElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLFormElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLFormElementEvents2, 0x3050f614, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f614-98b5-11cf-bb82-00aa00bdce0b")
HTMLFormElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFormElementEvents2, 0x3050f614, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLFormElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLFormElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLFormElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLFormElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLFormElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLFormElementEvents2Vtbl;

interface HTMLFormElementEvents2 {
    CONST_VTBL HTMLFormElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLFormElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLFormElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLFormElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLFormElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLFormElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLFormElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLFormElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLFormElementEvents2_QueryInterface(HTMLFormElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLFormElementEvents2_AddRef(HTMLFormElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLFormElementEvents2_Release(HTMLFormElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLFormElementEvents2_GetTypeInfoCount(HTMLFormElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLFormElementEvents2_GetTypeInfo(HTMLFormElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLFormElementEvents2_GetIDsOfNames(HTMLFormElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLFormElementEvents2_Invoke(HTMLFormElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLFormElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFormElementEvents dispinterface
 */
#ifndef __HTMLFormElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLFormElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLFormElementEvents, 0x3050f364, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f364-98b5-11cf-bb82-00aa00bdce0b")
HTMLFormElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFormElementEvents, 0x3050f364, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLFormElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLFormElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLFormElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLFormElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLFormElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLFormElementEventsVtbl;

interface HTMLFormElementEvents {
    CONST_VTBL HTMLFormElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLFormElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLFormElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLFormElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLFormElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLFormElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLFormElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLFormElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLFormElementEvents_QueryInterface(HTMLFormElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLFormElementEvents_AddRef(HTMLFormElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLFormElementEvents_Release(HTMLFormElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLFormElementEvents_GetTypeInfoCount(HTMLFormElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLFormElementEvents_GetTypeInfo(HTMLFormElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLFormElementEvents_GetIDsOfNames(HTMLFormElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLFormElementEvents_Invoke(HTMLFormElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLFormElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFormElement interface
 */
#ifndef __IHTMLFormElement_INTERFACE_DEFINED__
#define __IHTMLFormElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFormElement, 0x3050f1f7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFormElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_action(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_action(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dir(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dir(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_encoding(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_encoding(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_method(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_method(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_elements(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_target(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsubmit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsubmit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreset(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreset(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE submit(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE reset(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_length(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE tags(
        VARIANT tagName,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFormElement, 0x3050f1f7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFormElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFormElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFormElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFormElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFormElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFormElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_action)(
        IHTMLFormElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_action)(
        IHTMLFormElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dir)(
        IHTMLFormElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dir)(
        IHTMLFormElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_encoding)(
        IHTMLFormElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_encoding)(
        IHTMLFormElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_method)(
        IHTMLFormElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_method)(
        IHTMLFormElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_elements)(
        IHTMLFormElement *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_target)(
        IHTMLFormElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_target)(
        IHTMLFormElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLFormElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLFormElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onsubmit)(
        IHTMLFormElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onsubmit)(
        IHTMLFormElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreset)(
        IHTMLFormElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreset)(
        IHTMLFormElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *submit)(
        IHTMLFormElement *This);

    HRESULT (STDMETHODCALLTYPE *reset)(
        IHTMLFormElement *This);

    HRESULT (STDMETHODCALLTYPE *put_length)(
        IHTMLFormElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLFormElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLFormElement *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLFormElement *This,
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp);

    HRESULT (STDMETHODCALLTYPE *tags)(
        IHTMLFormElement *This,
        VARIANT tagName,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLFormElementVtbl;

interface IHTMLFormElement {
    CONST_VTBL IHTMLFormElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFormElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFormElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFormElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFormElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFormElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFormElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFormElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFormElement methods ***/
#define IHTMLFormElement_put_action(This,v) (This)->lpVtbl->put_action(This,v)
#define IHTMLFormElement_get_action(This,p) (This)->lpVtbl->get_action(This,p)
#define IHTMLFormElement_put_dir(This,v) (This)->lpVtbl->put_dir(This,v)
#define IHTMLFormElement_get_dir(This,p) (This)->lpVtbl->get_dir(This,p)
#define IHTMLFormElement_put_encoding(This,v) (This)->lpVtbl->put_encoding(This,v)
#define IHTMLFormElement_get_encoding(This,p) (This)->lpVtbl->get_encoding(This,p)
#define IHTMLFormElement_put_method(This,v) (This)->lpVtbl->put_method(This,v)
#define IHTMLFormElement_get_method(This,p) (This)->lpVtbl->get_method(This,p)
#define IHTMLFormElement_get_elements(This,p) (This)->lpVtbl->get_elements(This,p)
#define IHTMLFormElement_put_target(This,v) (This)->lpVtbl->put_target(This,v)
#define IHTMLFormElement_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#define IHTMLFormElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLFormElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLFormElement_put_onsubmit(This,v) (This)->lpVtbl->put_onsubmit(This,v)
#define IHTMLFormElement_get_onsubmit(This,p) (This)->lpVtbl->get_onsubmit(This,p)
#define IHTMLFormElement_put_onreset(This,v) (This)->lpVtbl->put_onreset(This,v)
#define IHTMLFormElement_get_onreset(This,p) (This)->lpVtbl->get_onreset(This,p)
#define IHTMLFormElement_submit(This) (This)->lpVtbl->submit(This)
#define IHTMLFormElement_reset(This) (This)->lpVtbl->reset(This)
#define IHTMLFormElement_put_length(This,v) (This)->lpVtbl->put_length(This,v)
#define IHTMLFormElement_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLFormElement_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLFormElement_item(This,name,index,pdisp) (This)->lpVtbl->item(This,name,index,pdisp)
#define IHTMLFormElement_tags(This,tagName,pdisp) (This)->lpVtbl->tags(This,tagName,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFormElement_QueryInterface(IHTMLFormElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFormElement_AddRef(IHTMLFormElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFormElement_Release(IHTMLFormElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFormElement_GetTypeInfoCount(IHTMLFormElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFormElement_GetTypeInfo(IHTMLFormElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFormElement_GetIDsOfNames(IHTMLFormElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFormElement_Invoke(IHTMLFormElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFormElement methods ***/
static inline HRESULT IHTMLFormElement_put_action(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_action(This,v);
}
static inline HRESULT IHTMLFormElement_get_action(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_action(This,p);
}
static inline HRESULT IHTMLFormElement_put_dir(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_dir(This,v);
}
static inline HRESULT IHTMLFormElement_get_dir(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_dir(This,p);
}
static inline HRESULT IHTMLFormElement_put_encoding(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_encoding(This,v);
}
static inline HRESULT IHTMLFormElement_get_encoding(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_encoding(This,p);
}
static inline HRESULT IHTMLFormElement_put_method(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_method(This,v);
}
static inline HRESULT IHTMLFormElement_get_method(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_method(This,p);
}
static inline HRESULT IHTMLFormElement_get_elements(IHTMLFormElement* This,IDispatch **p) {
    return This->lpVtbl->get_elements(This,p);
}
static inline HRESULT IHTMLFormElement_put_target(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static inline HRESULT IHTMLFormElement_get_target(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static inline HRESULT IHTMLFormElement_put_name(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLFormElement_get_name(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLFormElement_put_onsubmit(IHTMLFormElement* This,VARIANT v) {
    return This->lpVtbl->put_onsubmit(This,v);
}
static inline HRESULT IHTMLFormElement_get_onsubmit(IHTMLFormElement* This,VARIANT *p) {
    return This->lpVtbl->get_onsubmit(This,p);
}
static inline HRESULT IHTMLFormElement_put_onreset(IHTMLFormElement* This,VARIANT v) {
    return This->lpVtbl->put_onreset(This,v);
}
static inline HRESULT IHTMLFormElement_get_onreset(IHTMLFormElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreset(This,p);
}
static inline HRESULT IHTMLFormElement_submit(IHTMLFormElement* This) {
    return This->lpVtbl->submit(This);
}
static inline HRESULT IHTMLFormElement_reset(IHTMLFormElement* This) {
    return This->lpVtbl->reset(This);
}
static inline HRESULT IHTMLFormElement_put_length(IHTMLFormElement* This,LONG v) {
    return This->lpVtbl->put_length(This,v);
}
static inline HRESULT IHTMLFormElement_get_length(IHTMLFormElement* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLFormElement_get__newEnum(IHTMLFormElement* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLFormElement_item(IHTMLFormElement* This,VARIANT name,VARIANT index,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,index,pdisp);
}
static inline HRESULT IHTMLFormElement_tags(IHTMLFormElement* This,VARIANT tagName,IDispatch **pdisp) {
    return This->lpVtbl->tags(This,tagName,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLFormElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFormElement2 interface
 */
#ifndef __IHTMLFormElement2_INTERFACE_DEFINED__
#define __IHTMLFormElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFormElement2, 0x3050f4f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4f6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFormElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_acceptCharset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_acceptCharset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE urns(
        VARIANT urn,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFormElement2, 0x3050f4f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFormElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFormElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFormElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFormElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFormElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFormElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_acceptCharset)(
        IHTMLFormElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_acceptCharset)(
        IHTMLFormElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *urns)(
        IHTMLFormElement2 *This,
        VARIANT urn,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLFormElement2Vtbl;

interface IHTMLFormElement2 {
    CONST_VTBL IHTMLFormElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFormElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFormElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFormElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFormElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFormElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFormElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFormElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFormElement2 methods ***/
#define IHTMLFormElement2_put_acceptCharset(This,v) (This)->lpVtbl->put_acceptCharset(This,v)
#define IHTMLFormElement2_get_acceptCharset(This,p) (This)->lpVtbl->get_acceptCharset(This,p)
#define IHTMLFormElement2_urns(This,urn,pdisp) (This)->lpVtbl->urns(This,urn,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFormElement2_QueryInterface(IHTMLFormElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFormElement2_AddRef(IHTMLFormElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFormElement2_Release(IHTMLFormElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFormElement2_GetTypeInfoCount(IHTMLFormElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFormElement2_GetTypeInfo(IHTMLFormElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFormElement2_GetIDsOfNames(IHTMLFormElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFormElement2_Invoke(IHTMLFormElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFormElement2 methods ***/
static inline HRESULT IHTMLFormElement2_put_acceptCharset(IHTMLFormElement2* This,BSTR v) {
    return This->lpVtbl->put_acceptCharset(This,v);
}
static inline HRESULT IHTMLFormElement2_get_acceptCharset(IHTMLFormElement2* This,BSTR *p) {
    return This->lpVtbl->get_acceptCharset(This,p);
}
static inline HRESULT IHTMLFormElement2_urns(IHTMLFormElement2* This,VARIANT urn,IDispatch **pdisp) {
    return This->lpVtbl->urns(This,urn,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLFormElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFormElement3 interface
 */
#ifndef __IHTMLFormElement3_INTERFACE_DEFINED__
#define __IHTMLFormElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFormElement3, 0x3050f836, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f836-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFormElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE namedItem(
        BSTR name,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFormElement3, 0x3050f836, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFormElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFormElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFormElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFormElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFormElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFormElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *namedItem)(
        IHTMLFormElement3 *This,
        BSTR name,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLFormElement3Vtbl;

interface IHTMLFormElement3 {
    CONST_VTBL IHTMLFormElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFormElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFormElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFormElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFormElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFormElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFormElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFormElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFormElement3 methods ***/
#define IHTMLFormElement3_namedItem(This,name,pdisp) (This)->lpVtbl->namedItem(This,name,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFormElement3_QueryInterface(IHTMLFormElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFormElement3_AddRef(IHTMLFormElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFormElement3_Release(IHTMLFormElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFormElement3_GetTypeInfoCount(IHTMLFormElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFormElement3_GetTypeInfo(IHTMLFormElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFormElement3_GetIDsOfNames(IHTMLFormElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFormElement3_Invoke(IHTMLFormElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFormElement3 methods ***/
static inline HRESULT IHTMLFormElement3_namedItem(IHTMLFormElement3* This,BSTR name,IDispatch **pdisp) {
    return This->lpVtbl->namedItem(This,name,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLFormElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSubmitData interface
 */
#ifndef __IHTMLSubmitData_INTERFACE_DEFINED__
#define __IHTMLSubmitData_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSubmitData, 0x3050f645, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f645-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSubmitData : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE appendNameValuePair(
        BSTR name = L"",
        BSTR value = L"") = 0;

    virtual HRESULT STDMETHODCALLTYPE appendNameFilePair(
        BSTR name = L"",
        BSTR filename = L"") = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItemSeparator(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSubmitData, 0x3050f645, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSubmitDataVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSubmitData *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSubmitData *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSubmitData *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSubmitData *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSubmitData methods ***/
    HRESULT (STDMETHODCALLTYPE *appendNameValuePair)(
        IHTMLSubmitData *This,
        BSTR name,
        BSTR value);

    HRESULT (STDMETHODCALLTYPE *appendNameFilePair)(
        IHTMLSubmitData *This,
        BSTR name,
        BSTR filename);

    HRESULT (STDMETHODCALLTYPE *appendItemSeparator)(
        IHTMLSubmitData *This);

    END_INTERFACE
} IHTMLSubmitDataVtbl;

interface IHTMLSubmitData {
    CONST_VTBL IHTMLSubmitDataVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSubmitData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSubmitData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSubmitData_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSubmitData_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSubmitData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSubmitData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSubmitData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSubmitData methods ***/
#define IHTMLSubmitData_appendNameValuePair(This,name,value) (This)->lpVtbl->appendNameValuePair(This,name,value)
#define IHTMLSubmitData_appendNameFilePair(This,name,filename) (This)->lpVtbl->appendNameFilePair(This,name,filename)
#define IHTMLSubmitData_appendItemSeparator(This) (This)->lpVtbl->appendItemSeparator(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSubmitData_QueryInterface(IHTMLSubmitData* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSubmitData_AddRef(IHTMLSubmitData* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSubmitData_Release(IHTMLSubmitData* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSubmitData_GetTypeInfoCount(IHTMLSubmitData* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSubmitData_GetTypeInfo(IHTMLSubmitData* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSubmitData_GetIDsOfNames(IHTMLSubmitData* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSubmitData_Invoke(IHTMLSubmitData* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSubmitData methods ***/
static inline HRESULT IHTMLSubmitData_appendNameValuePair(IHTMLSubmitData* This,BSTR name,BSTR value) {
    return This->lpVtbl->appendNameValuePair(This,name,value);
}
static inline HRESULT IHTMLSubmitData_appendNameFilePair(IHTMLSubmitData* This,BSTR name,BSTR filename) {
    return This->lpVtbl->appendNameFilePair(This,name,filename);
}
static inline HRESULT IHTMLSubmitData_appendItemSeparator(IHTMLSubmitData* This) {
    return This->lpVtbl->appendItemSeparator(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLSubmitData_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFormElement4 interface
 */
#ifndef __IHTMLFormElement4_INTERFACE_DEFINED__
#define __IHTMLFormElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFormElement4, 0x3051042c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051042c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFormElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_action(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_action(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFormElement4, 0x3051042c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFormElement4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFormElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFormElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFormElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFormElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFormElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_action)(
        IHTMLFormElement4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_action)(
        IHTMLFormElement4 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLFormElement4Vtbl;

interface IHTMLFormElement4 {
    CONST_VTBL IHTMLFormElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFormElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFormElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFormElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFormElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFormElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFormElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFormElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFormElement4 methods ***/
#define IHTMLFormElement4_put_action(This,v) (This)->lpVtbl->put_action(This,v)
#define IHTMLFormElement4_get_action(This,p) (This)->lpVtbl->get_action(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFormElement4_QueryInterface(IHTMLFormElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFormElement4_AddRef(IHTMLFormElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFormElement4_Release(IHTMLFormElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFormElement4_GetTypeInfoCount(IHTMLFormElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFormElement4_GetTypeInfo(IHTMLFormElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFormElement4_GetIDsOfNames(IHTMLFormElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFormElement4_Invoke(IHTMLFormElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFormElement4 methods ***/
static inline HRESULT IHTMLFormElement4_put_action(IHTMLFormElement4* This,BSTR v) {
    return This->lpVtbl->put_action(This,v);
}
static inline HRESULT IHTMLFormElement4_get_action(IHTMLFormElement4* This,BSTR *p) {
    return This->lpVtbl->get_action(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFormElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLFormElement dispinterface
 */
#ifndef __DispHTMLFormElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFormElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLFormElement, 0x3050f510, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f510-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLFormElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLFormElement, 0x3050f510, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLFormElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLFormElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLFormElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLFormElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLFormElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLFormElementVtbl;

interface DispHTMLFormElement {
    CONST_VTBL DispHTMLFormElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLFormElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLFormElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLFormElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLFormElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLFormElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLFormElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLFormElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLFormElement_QueryInterface(DispHTMLFormElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLFormElement_AddRef(DispHTMLFormElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLFormElement_Release(DispHTMLFormElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLFormElement_GetTypeInfoCount(DispHTMLFormElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLFormElement_GetTypeInfo(DispHTMLFormElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLFormElement_GetIDsOfNames(DispHTMLFormElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLFormElement_Invoke(DispHTMLFormElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLFormElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFormElement coclass
 */

DEFINE_GUID(CLSID_HTMLFormElement, 0x3050f251, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f251-98b5-11cf-bb82-00aa00bdce0b") HTMLFormElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFormElement, 0x3050f251, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFormElement;
/*****************************************************************************
 * HTMLControlElementEvents2 dispinterface
 */
#ifndef __HTMLControlElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLControlElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLControlElementEvents2, 0x3050f612, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f612-98b5-11cf-bb82-00aa00bdce0b")
HTMLControlElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLControlElementEvents2, 0x3050f612, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLControlElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLControlElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLControlElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLControlElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLControlElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLControlElementEvents2Vtbl;

interface HTMLControlElementEvents2 {
    CONST_VTBL HTMLControlElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLControlElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLControlElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLControlElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLControlElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLControlElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLControlElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLControlElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLControlElementEvents2_QueryInterface(HTMLControlElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLControlElementEvents2_AddRef(HTMLControlElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLControlElementEvents2_Release(HTMLControlElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLControlElementEvents2_GetTypeInfoCount(HTMLControlElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLControlElementEvents2_GetTypeInfo(HTMLControlElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLControlElementEvents2_GetIDsOfNames(HTMLControlElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLControlElementEvents2_Invoke(HTMLControlElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLControlElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLControlElementEvents dispinterface
 */
#ifndef __HTMLControlElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLControlElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLControlElementEvents, 0x3050f4ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ea-98b5-11cf-bb82-00aa00bdce0b")
HTMLControlElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLControlElementEvents, 0x3050f4ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLControlElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLControlElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLControlElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLControlElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLControlElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLControlElementEventsVtbl;

interface HTMLControlElementEvents {
    CONST_VTBL HTMLControlElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLControlElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLControlElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLControlElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLControlElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLControlElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLControlElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLControlElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLControlElementEvents_QueryInterface(HTMLControlElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLControlElementEvents_AddRef(HTMLControlElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLControlElementEvents_Release(HTMLControlElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLControlElementEvents_GetTypeInfoCount(HTMLControlElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLControlElementEvents_GetTypeInfo(HTMLControlElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLControlElementEvents_GetIDsOfNames(HTMLControlElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLControlElementEvents_Invoke(HTMLControlElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLControlElementEvents_DISPINTERFACE_DEFINED__ */

typedef enum _htmlStart {
    htmlStartfileopen = 0,
    htmlStartmouseover = 1,
    htmlStart_Max = 0x7fffffff
} htmlStart;
/*****************************************************************************
 * IHTMLControlElement interface
 */
#ifndef __IHTMLControlElement_INTERFACE_DEFINED__
#define __IHTMLControlElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLControlElement, 0x3050f4e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4e9-98b5-11cf-bb82-00aa00bdce0b")
IHTMLControlElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_tabIndex(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tabIndex(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE focus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accessKey(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accessKey(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onblur(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onblur(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onresize(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onresize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE blur(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE addFilter(
        IUnknown *pUnk) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeFilter(
        IUnknown *pUnk) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientLeft(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLControlElement, 0x3050f4e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLControlElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLControlElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLControlElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLControlElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLControlElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLControlElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_tabIndex)(
        IHTMLControlElement *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_tabIndex)(
        IHTMLControlElement *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *focus)(
        IHTMLControlElement *This);

    HRESULT (STDMETHODCALLTYPE *put_accessKey)(
        IHTMLControlElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accessKey)(
        IHTMLControlElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onblur)(
        IHTMLControlElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onblur)(
        IHTMLControlElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocus)(
        IHTMLControlElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocus)(
        IHTMLControlElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onresize)(
        IHTMLControlElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onresize)(
        IHTMLControlElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *blur)(
        IHTMLControlElement *This);

    HRESULT (STDMETHODCALLTYPE *addFilter)(
        IHTMLControlElement *This,
        IUnknown *pUnk);

    HRESULT (STDMETHODCALLTYPE *removeFilter)(
        IHTMLControlElement *This,
        IUnknown *pUnk);

    HRESULT (STDMETHODCALLTYPE *get_clientHeight)(
        IHTMLControlElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientWidth)(
        IHTMLControlElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientTop)(
        IHTMLControlElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientLeft)(
        IHTMLControlElement *This,
        LONG *p);

    END_INTERFACE
} IHTMLControlElementVtbl;

interface IHTMLControlElement {
    CONST_VTBL IHTMLControlElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLControlElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLControlElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLControlElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLControlElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLControlElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLControlElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLControlElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLControlElement methods ***/
#define IHTMLControlElement_put_tabIndex(This,v) (This)->lpVtbl->put_tabIndex(This,v)
#define IHTMLControlElement_get_tabIndex(This,p) (This)->lpVtbl->get_tabIndex(This,p)
#define IHTMLControlElement_focus(This) (This)->lpVtbl->focus(This)
#define IHTMLControlElement_put_accessKey(This,v) (This)->lpVtbl->put_accessKey(This,v)
#define IHTMLControlElement_get_accessKey(This,p) (This)->lpVtbl->get_accessKey(This,p)
#define IHTMLControlElement_put_onblur(This,v) (This)->lpVtbl->put_onblur(This,v)
#define IHTMLControlElement_get_onblur(This,p) (This)->lpVtbl->get_onblur(This,p)
#define IHTMLControlElement_put_onfocus(This,v) (This)->lpVtbl->put_onfocus(This,v)
#define IHTMLControlElement_get_onfocus(This,p) (This)->lpVtbl->get_onfocus(This,p)
#define IHTMLControlElement_put_onresize(This,v) (This)->lpVtbl->put_onresize(This,v)
#define IHTMLControlElement_get_onresize(This,p) (This)->lpVtbl->get_onresize(This,p)
#define IHTMLControlElement_blur(This) (This)->lpVtbl->blur(This)
#define IHTMLControlElement_addFilter(This,pUnk) (This)->lpVtbl->addFilter(This,pUnk)
#define IHTMLControlElement_removeFilter(This,pUnk) (This)->lpVtbl->removeFilter(This,pUnk)
#define IHTMLControlElement_get_clientHeight(This,p) (This)->lpVtbl->get_clientHeight(This,p)
#define IHTMLControlElement_get_clientWidth(This,p) (This)->lpVtbl->get_clientWidth(This,p)
#define IHTMLControlElement_get_clientTop(This,p) (This)->lpVtbl->get_clientTop(This,p)
#define IHTMLControlElement_get_clientLeft(This,p) (This)->lpVtbl->get_clientLeft(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLControlElement_QueryInterface(IHTMLControlElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLControlElement_AddRef(IHTMLControlElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLControlElement_Release(IHTMLControlElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLControlElement_GetTypeInfoCount(IHTMLControlElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLControlElement_GetTypeInfo(IHTMLControlElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLControlElement_GetIDsOfNames(IHTMLControlElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLControlElement_Invoke(IHTMLControlElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLControlElement methods ***/
static inline HRESULT IHTMLControlElement_put_tabIndex(IHTMLControlElement* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static inline HRESULT IHTMLControlElement_get_tabIndex(IHTMLControlElement* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static inline HRESULT IHTMLControlElement_focus(IHTMLControlElement* This) {
    return This->lpVtbl->focus(This);
}
static inline HRESULT IHTMLControlElement_put_accessKey(IHTMLControlElement* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static inline HRESULT IHTMLControlElement_get_accessKey(IHTMLControlElement* This,BSTR *p) {
    return This->lpVtbl->get_accessKey(This,p);
}
static inline HRESULT IHTMLControlElement_put_onblur(IHTMLControlElement* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static inline HRESULT IHTMLControlElement_get_onblur(IHTMLControlElement* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static inline HRESULT IHTMLControlElement_put_onfocus(IHTMLControlElement* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static inline HRESULT IHTMLControlElement_get_onfocus(IHTMLControlElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static inline HRESULT IHTMLControlElement_put_onresize(IHTMLControlElement* This,VARIANT v) {
    return This->lpVtbl->put_onresize(This,v);
}
static inline HRESULT IHTMLControlElement_get_onresize(IHTMLControlElement* This,VARIANT *p) {
    return This->lpVtbl->get_onresize(This,p);
}
static inline HRESULT IHTMLControlElement_blur(IHTMLControlElement* This) {
    return This->lpVtbl->blur(This);
}
static inline HRESULT IHTMLControlElement_addFilter(IHTMLControlElement* This,IUnknown *pUnk) {
    return This->lpVtbl->addFilter(This,pUnk);
}
static inline HRESULT IHTMLControlElement_removeFilter(IHTMLControlElement* This,IUnknown *pUnk) {
    return This->lpVtbl->removeFilter(This,pUnk);
}
static inline HRESULT IHTMLControlElement_get_clientHeight(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientHeight(This,p);
}
static inline HRESULT IHTMLControlElement_get_clientWidth(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientWidth(This,p);
}
static inline HRESULT IHTMLControlElement_get_clientTop(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientTop(This,p);
}
static inline HRESULT IHTMLControlElement_get_clientLeft(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientLeft(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLControlElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTextElement interface
 */
#ifndef __IHTMLTextElement_INTERFACE_DEFINED__
#define __IHTMLTextElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTextElement, 0x3050f218, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f218-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTextElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTextElement, 0x3050f218, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTextElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTextElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTextElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTextElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTextElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTMLTextElementVtbl;

interface IHTMLTextElement {
    CONST_VTBL IHTMLTextElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTextElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTextElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTextElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTextElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTextElement_QueryInterface(IHTMLTextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTextElement_AddRef(IHTMLTextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTextElement_Release(IHTMLTextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTextElement_GetTypeInfoCount(IHTMLTextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTextElement_GetTypeInfo(IHTMLTextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTextElement_GetIDsOfNames(IHTMLTextElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTextElement_Invoke(IHTMLTextElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLTextElement dispinterface
 */
#ifndef __DispHTMLTextElement_DISPINTERFACE_DEFINED__
#define __DispHTMLTextElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTextElement, 0x3050f537, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f537-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTextElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTextElement, 0x3050f537, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTextElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTextElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTextElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTextElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTextElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTextElementVtbl;

interface DispHTMLTextElement {
    CONST_VTBL DispHTMLTextElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTextElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTextElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTextElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTextElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTextElement_QueryInterface(DispHTMLTextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTextElement_AddRef(DispHTMLTextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTextElement_Release(DispHTMLTextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTextElement_GetTypeInfoCount(DispHTMLTextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTextElement_GetTypeInfo(DispHTMLTextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTextElement_GetIDsOfNames(DispHTMLTextElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTextElement_Invoke(DispHTMLTextElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTextElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTextElement coclass
 */

DEFINE_GUID(CLSID_HTMLTextElement, 0x3050f26a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f26a-98b5-11cf-bb82-00aa00bdce0b") HTMLTextElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTextElement, 0x3050f26a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTextElement;
/*****************************************************************************
 * HTMLTextContainerEvents2 dispinterface
 */
#ifndef __HTMLTextContainerEvents2_DISPINTERFACE_DEFINED__
#define __HTMLTextContainerEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLTextContainerEvents2, 0x3050f624, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f624-98b5-11cf-bb82-00aa00bdce0b")
HTMLTextContainerEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTextContainerEvents2, 0x3050f624, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLTextContainerEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLTextContainerEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLTextContainerEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLTextContainerEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLTextContainerEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLTextContainerEvents2Vtbl;

interface HTMLTextContainerEvents2 {
    CONST_VTBL HTMLTextContainerEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLTextContainerEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLTextContainerEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLTextContainerEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLTextContainerEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLTextContainerEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLTextContainerEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLTextContainerEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLTextContainerEvents2_QueryInterface(HTMLTextContainerEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLTextContainerEvents2_AddRef(HTMLTextContainerEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLTextContainerEvents2_Release(HTMLTextContainerEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLTextContainerEvents2_GetTypeInfoCount(HTMLTextContainerEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLTextContainerEvents2_GetTypeInfo(HTMLTextContainerEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLTextContainerEvents2_GetIDsOfNames(HTMLTextContainerEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLTextContainerEvents2_Invoke(HTMLTextContainerEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLTextContainerEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTextContainerEvents dispinterface
 */
#ifndef __HTMLTextContainerEvents_DISPINTERFACE_DEFINED__
#define __HTMLTextContainerEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLTextContainerEvents, 0x1ff6aa72, 0x5842, 0x11cf, 0xa7,0x07, 0x00,0xaa,0x00,0xc0,0x09,0x8d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1ff6aa72-5842-11cf-a707-00aa00c0098d")
HTMLTextContainerEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTextContainerEvents, 0x1ff6aa72, 0x5842, 0x11cf, 0xa7,0x07, 0x00,0xaa,0x00,0xc0,0x09,0x8d)
#endif
#else
typedef struct HTMLTextContainerEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLTextContainerEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLTextContainerEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLTextContainerEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLTextContainerEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLTextContainerEventsVtbl;

interface HTMLTextContainerEvents {
    CONST_VTBL HTMLTextContainerEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLTextContainerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLTextContainerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLTextContainerEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLTextContainerEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLTextContainerEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLTextContainerEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLTextContainerEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLTextContainerEvents_QueryInterface(HTMLTextContainerEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLTextContainerEvents_AddRef(HTMLTextContainerEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLTextContainerEvents_Release(HTMLTextContainerEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLTextContainerEvents_GetTypeInfoCount(HTMLTextContainerEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLTextContainerEvents_GetTypeInfo(HTMLTextContainerEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLTextContainerEvents_GetIDsOfNames(HTMLTextContainerEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLTextContainerEvents_Invoke(HTMLTextContainerEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLTextContainerEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTextContainer interface
 */
#ifndef __IHTMLTextContainer_INTERFACE_DEFINED__
#define __IHTMLTextContainer_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTextContainer, 0x3050f230, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f230-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTextContainer : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createControlRange(
        IDispatch **range) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollTop(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollLeft(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onscroll(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onscroll(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTextContainer, 0x3050f230, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTextContainerVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTextContainer *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTextContainer *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTextContainer *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTextContainer *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTextContainer methods ***/
    HRESULT (STDMETHODCALLTYPE *createControlRange)(
        IHTMLTextContainer *This,
        IDispatch **range);

    HRESULT (STDMETHODCALLTYPE *get_scrollHeight)(
        IHTMLTextContainer *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_scrollWidth)(
        IHTMLTextContainer *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollTop)(
        IHTMLTextContainer *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollTop)(
        IHTMLTextContainer *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollLeft)(
        IHTMLTextContainer *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollLeft)(
        IHTMLTextContainer *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_onscroll)(
        IHTMLTextContainer *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onscroll)(
        IHTMLTextContainer *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLTextContainerVtbl;

interface IHTMLTextContainer {
    CONST_VTBL IHTMLTextContainerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTextContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTextContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTextContainer_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTextContainer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTextContainer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTextContainer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTextContainer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTextContainer methods ***/
#define IHTMLTextContainer_createControlRange(This,range) (This)->lpVtbl->createControlRange(This,range)
#define IHTMLTextContainer_get_scrollHeight(This,p) (This)->lpVtbl->get_scrollHeight(This,p)
#define IHTMLTextContainer_get_scrollWidth(This,p) (This)->lpVtbl->get_scrollWidth(This,p)
#define IHTMLTextContainer_put_scrollTop(This,v) (This)->lpVtbl->put_scrollTop(This,v)
#define IHTMLTextContainer_get_scrollTop(This,p) (This)->lpVtbl->get_scrollTop(This,p)
#define IHTMLTextContainer_put_scrollLeft(This,v) (This)->lpVtbl->put_scrollLeft(This,v)
#define IHTMLTextContainer_get_scrollLeft(This,p) (This)->lpVtbl->get_scrollLeft(This,p)
#define IHTMLTextContainer_put_onscroll(This,v) (This)->lpVtbl->put_onscroll(This,v)
#define IHTMLTextContainer_get_onscroll(This,p) (This)->lpVtbl->get_onscroll(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTextContainer_QueryInterface(IHTMLTextContainer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTextContainer_AddRef(IHTMLTextContainer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTextContainer_Release(IHTMLTextContainer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTextContainer_GetTypeInfoCount(IHTMLTextContainer* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTextContainer_GetTypeInfo(IHTMLTextContainer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTextContainer_GetIDsOfNames(IHTMLTextContainer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTextContainer_Invoke(IHTMLTextContainer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTextContainer methods ***/
static inline HRESULT IHTMLTextContainer_createControlRange(IHTMLTextContainer* This,IDispatch **range) {
    return This->lpVtbl->createControlRange(This,range);
}
static inline HRESULT IHTMLTextContainer_get_scrollHeight(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollHeight(This,p);
}
static inline HRESULT IHTMLTextContainer_get_scrollWidth(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollWidth(This,p);
}
static inline HRESULT IHTMLTextContainer_put_scrollTop(IHTMLTextContainer* This,LONG v) {
    return This->lpVtbl->put_scrollTop(This,v);
}
static inline HRESULT IHTMLTextContainer_get_scrollTop(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollTop(This,p);
}
static inline HRESULT IHTMLTextContainer_put_scrollLeft(IHTMLTextContainer* This,LONG v) {
    return This->lpVtbl->put_scrollLeft(This,v);
}
static inline HRESULT IHTMLTextContainer_get_scrollLeft(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollLeft(This,p);
}
static inline HRESULT IHTMLTextContainer_put_onscroll(IHTMLTextContainer* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static inline HRESULT IHTMLTextContainer_get_onscroll(IHTMLTextContainer* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextContainer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLControlRange interface
 */
#ifndef __IHTMLControlRange_INTERFACE_DEFINED__
#define __IHTMLControlRange_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLControlRange, 0x3050f29c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f29c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLControlRange : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE select(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE add(
        IHTMLControlElement *item) = 0;

    virtual HRESULT STDMETHODCALLTYPE remove(
        LONG index) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLElement **pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE scrollIntoView(
        VARIANT varargStart) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandSupported(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandEnabled(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandState(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandIndeterm(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandText(
        BSTR cmdID,
        BSTR *pcmdText) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandValue(
        BSTR cmdID,
        VARIANT *pcmdValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE execCommand(
        BSTR cmdID,
        VARIANT_BOOL showUI,
        VARIANT value,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE execCommandShowHelp(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE commonParentElement(
        IHTMLElement **parent) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLControlRange, 0x3050f29c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLControlRangeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLControlRange *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLControlRange *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLControlRange *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLControlRange *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLControlRange methods ***/
    HRESULT (STDMETHODCALLTYPE *select)(
        IHTMLControlRange *This);

    HRESULT (STDMETHODCALLTYPE *add)(
        IHTMLControlRange *This,
        IHTMLControlElement *item);

    HRESULT (STDMETHODCALLTYPE *remove)(
        IHTMLControlRange *This,
        LONG index);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLControlRange *This,
        LONG index,
        IHTMLElement **pdisp);

    HRESULT (STDMETHODCALLTYPE *scrollIntoView)(
        IHTMLControlRange *This,
        VARIANT varargStart);

    HRESULT (STDMETHODCALLTYPE *queryCommandSupported)(
        IHTMLControlRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandEnabled)(
        IHTMLControlRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandState)(
        IHTMLControlRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandIndeterm)(
        IHTMLControlRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandText)(
        IHTMLControlRange *This,
        BSTR cmdID,
        BSTR *pcmdText);

    HRESULT (STDMETHODCALLTYPE *queryCommandValue)(
        IHTMLControlRange *This,
        BSTR cmdID,
        VARIANT *pcmdValue);

    HRESULT (STDMETHODCALLTYPE *execCommand)(
        IHTMLControlRange *This,
        BSTR cmdID,
        VARIANT_BOOL showUI,
        VARIANT value,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *execCommandShowHelp)(
        IHTMLControlRange *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *commonParentElement)(
        IHTMLControlRange *This,
        IHTMLElement **parent);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLControlRange *This,
        LONG *p);

    END_INTERFACE
} IHTMLControlRangeVtbl;

interface IHTMLControlRange {
    CONST_VTBL IHTMLControlRangeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLControlRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLControlRange_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLControlRange_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLControlRange_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLControlRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLControlRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLControlRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLControlRange methods ***/
#define IHTMLControlRange_select(This) (This)->lpVtbl->select(This)
#define IHTMLControlRange_add(This,item) (This)->lpVtbl->add(This,item)
#define IHTMLControlRange_remove(This,index) (This)->lpVtbl->remove(This,index)
#define IHTMLControlRange_item(This,index,pdisp) (This)->lpVtbl->item(This,index,pdisp)
#define IHTMLControlRange_scrollIntoView(This,varargStart) (This)->lpVtbl->scrollIntoView(This,varargStart)
#define IHTMLControlRange_queryCommandSupported(This,cmdID,pfRet) (This)->lpVtbl->queryCommandSupported(This,cmdID,pfRet)
#define IHTMLControlRange_queryCommandEnabled(This,cmdID,pfRet) (This)->lpVtbl->queryCommandEnabled(This,cmdID,pfRet)
#define IHTMLControlRange_queryCommandState(This,cmdID,pfRet) (This)->lpVtbl->queryCommandState(This,cmdID,pfRet)
#define IHTMLControlRange_queryCommandIndeterm(This,cmdID,pfRet) (This)->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet)
#define IHTMLControlRange_queryCommandText(This,cmdID,pcmdText) (This)->lpVtbl->queryCommandText(This,cmdID,pcmdText)
#define IHTMLControlRange_queryCommandValue(This,cmdID,pcmdValue) (This)->lpVtbl->queryCommandValue(This,cmdID,pcmdValue)
#define IHTMLControlRange_execCommand(This,cmdID,showUI,value,pfRet) (This)->lpVtbl->execCommand(This,cmdID,showUI,value,pfRet)
#define IHTMLControlRange_execCommandShowHelp(This,cmdID,pfRet) (This)->lpVtbl->execCommandShowHelp(This,cmdID,pfRet)
#define IHTMLControlRange_commonParentElement(This,parent) (This)->lpVtbl->commonParentElement(This,parent)
#define IHTMLControlRange_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLControlRange_QueryInterface(IHTMLControlRange* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLControlRange_AddRef(IHTMLControlRange* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLControlRange_Release(IHTMLControlRange* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLControlRange_GetTypeInfoCount(IHTMLControlRange* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLControlRange_GetTypeInfo(IHTMLControlRange* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLControlRange_GetIDsOfNames(IHTMLControlRange* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLControlRange_Invoke(IHTMLControlRange* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLControlRange methods ***/
static inline HRESULT IHTMLControlRange_select(IHTMLControlRange* This) {
    return This->lpVtbl->select(This);
}
static inline HRESULT IHTMLControlRange_add(IHTMLControlRange* This,IHTMLControlElement *item) {
    return This->lpVtbl->add(This,item);
}
static inline HRESULT IHTMLControlRange_remove(IHTMLControlRange* This,LONG index) {
    return This->lpVtbl->remove(This,index);
}
static inline HRESULT IHTMLControlRange_item(IHTMLControlRange* This,LONG index,IHTMLElement **pdisp) {
    return This->lpVtbl->item(This,index,pdisp);
}
static inline HRESULT IHTMLControlRange_scrollIntoView(IHTMLControlRange* This,VARIANT varargStart) {
    return This->lpVtbl->scrollIntoView(This,varargStart);
}
static inline HRESULT IHTMLControlRange_queryCommandSupported(IHTMLControlRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandSupported(This,cmdID,pfRet);
}
static inline HRESULT IHTMLControlRange_queryCommandEnabled(IHTMLControlRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandEnabled(This,cmdID,pfRet);
}
static inline HRESULT IHTMLControlRange_queryCommandState(IHTMLControlRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandState(This,cmdID,pfRet);
}
static inline HRESULT IHTMLControlRange_queryCommandIndeterm(IHTMLControlRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet);
}
static inline HRESULT IHTMLControlRange_queryCommandText(IHTMLControlRange* This,BSTR cmdID,BSTR *pcmdText) {
    return This->lpVtbl->queryCommandText(This,cmdID,pcmdText);
}
static inline HRESULT IHTMLControlRange_queryCommandValue(IHTMLControlRange* This,BSTR cmdID,VARIANT *pcmdValue) {
    return This->lpVtbl->queryCommandValue(This,cmdID,pcmdValue);
}
static inline HRESULT IHTMLControlRange_execCommand(IHTMLControlRange* This,BSTR cmdID,VARIANT_BOOL showUI,VARIANT value,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommand(This,cmdID,showUI,value,pfRet);
}
static inline HRESULT IHTMLControlRange_execCommandShowHelp(IHTMLControlRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommandShowHelp(This,cmdID,pfRet);
}
static inline HRESULT IHTMLControlRange_commonParentElement(IHTMLControlRange* This,IHTMLElement **parent) {
    return This->lpVtbl->commonParentElement(This,parent);
}
static inline HRESULT IHTMLControlRange_get_length(IHTMLControlRange* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLControlRange_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLControlRange2 interface
 */
#ifndef __IHTMLControlRange2_INTERFACE_DEFINED__
#define __IHTMLControlRange2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLControlRange2, 0x3050f65e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f65e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLControlRange2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE addElement(
        IHTMLElement *item) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLControlRange2, 0x3050f65e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLControlRange2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLControlRange2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLControlRange2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLControlRange2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLControlRange2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLControlRange2 methods ***/
    HRESULT (STDMETHODCALLTYPE *addElement)(
        IHTMLControlRange2 *This,
        IHTMLElement *item);

    END_INTERFACE
} IHTMLControlRange2Vtbl;

interface IHTMLControlRange2 {
    CONST_VTBL IHTMLControlRange2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLControlRange2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLControlRange2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLControlRange2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLControlRange2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLControlRange2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLControlRange2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLControlRange2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLControlRange2 methods ***/
#define IHTMLControlRange2_addElement(This,item) (This)->lpVtbl->addElement(This,item)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLControlRange2_QueryInterface(IHTMLControlRange2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLControlRange2_AddRef(IHTMLControlRange2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLControlRange2_Release(IHTMLControlRange2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLControlRange2_GetTypeInfoCount(IHTMLControlRange2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLControlRange2_GetTypeInfo(IHTMLControlRange2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLControlRange2_GetIDsOfNames(IHTMLControlRange2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLControlRange2_Invoke(IHTMLControlRange2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLControlRange2 methods ***/
static inline HRESULT IHTMLControlRange2_addElement(IHTMLControlRange2* This,IHTMLElement *item) {
    return This->lpVtbl->addElement(This,item);
}
#endif
#endif

#endif


#endif  /* __IHTMLControlRange2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLImgEvents2 dispinterface
 */
#ifndef __HTMLImgEvents2_DISPINTERFACE_DEFINED__
#define __HTMLImgEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLImgEvents2, 0x3050f616, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f616-98b5-11cf-bb82-00aa00bdce0b")
HTMLImgEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLImgEvents2, 0x3050f616, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLImgEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLImgEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLImgEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLImgEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLImgEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLImgEvents2Vtbl;

interface HTMLImgEvents2 {
    CONST_VTBL HTMLImgEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLImgEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLImgEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLImgEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLImgEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLImgEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLImgEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLImgEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLImgEvents2_QueryInterface(HTMLImgEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLImgEvents2_AddRef(HTMLImgEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLImgEvents2_Release(HTMLImgEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLImgEvents2_GetTypeInfoCount(HTMLImgEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLImgEvents2_GetTypeInfo(HTMLImgEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLImgEvents2_GetIDsOfNames(HTMLImgEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLImgEvents2_Invoke(HTMLImgEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLImgEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLImgEvents dispinterface
 */
#ifndef __HTMLImgEvents_DISPINTERFACE_DEFINED__
#define __HTMLImgEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLImgEvents, 0x3050f25b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f25b-98b5-11cf-bb82-00aa00bdce0b")
HTMLImgEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLImgEvents, 0x3050f25b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLImgEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLImgEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLImgEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLImgEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLImgEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLImgEventsVtbl;

interface HTMLImgEvents {
    CONST_VTBL HTMLImgEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLImgEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLImgEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLImgEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLImgEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLImgEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLImgEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLImgEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLImgEvents_QueryInterface(HTMLImgEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLImgEvents_AddRef(HTMLImgEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLImgEvents_Release(HTMLImgEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLImgEvents_GetTypeInfoCount(HTMLImgEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLImgEvents_GetTypeInfo(HTMLImgEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLImgEvents_GetIDsOfNames(HTMLImgEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLImgEvents_Invoke(HTMLImgEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLImgEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLImgElement interface
 */
#ifndef __IHTMLImgElement_INTERFACE_DEFINED__
#define __IHTMLImgElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLImgElement, 0x3050f240, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f240-98b5-11cf-bb82-00aa00bdce0b")
IHTMLImgElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_isMap(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isMap(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_useMap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_useMap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_mimeType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileSize(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileCreatedDate(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileModifiedDate(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileUpdatedDate(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_protocol(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nameProp(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alt(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alt(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lowsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lowsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vrml(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vrml(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dynsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dynsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_complete(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_loop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onabort(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onabort(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_start(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_start(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLImgElement, 0x3050f240, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLImgElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLImgElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLImgElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLImgElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLImgElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLImgElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_isMap)(
        IHTMLImgElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_isMap)(
        IHTMLImgElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_useMap)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_useMap)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_mimeType)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileSize)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileCreatedDate)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileModifiedDate)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileUpdatedDate)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_protocol)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_nameProp)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLImgElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLImgElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_vspace)(
        IHTMLImgElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_vspace)(
        IHTMLImgElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_hspace)(
        IHTMLImgElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_hspace)(
        IHTMLImgElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_alt)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_alt)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lowsrc)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lowsrc)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vrml)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vrml)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dynsrc)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dynsrc)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_complete)(
        IHTMLImgElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_loop)(
        IHTMLImgElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_loop)(
        IHTMLImgElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLImgElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLImgElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLImgElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLImgElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onabort)(
        IHTMLImgElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onabort)(
        IHTMLImgElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLImgElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLImgElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLImgElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLImgElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLImgElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_start)(
        IHTMLImgElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_start)(
        IHTMLImgElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLImgElementVtbl;

interface IHTMLImgElement {
    CONST_VTBL IHTMLImgElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLImgElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLImgElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLImgElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLImgElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLImgElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLImgElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLImgElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLImgElement methods ***/
#define IHTMLImgElement_put_isMap(This,v) (This)->lpVtbl->put_isMap(This,v)
#define IHTMLImgElement_get_isMap(This,p) (This)->lpVtbl->get_isMap(This,p)
#define IHTMLImgElement_put_useMap(This,v) (This)->lpVtbl->put_useMap(This,v)
#define IHTMLImgElement_get_useMap(This,p) (This)->lpVtbl->get_useMap(This,p)
#define IHTMLImgElement_get_mimeType(This,p) (This)->lpVtbl->get_mimeType(This,p)
#define IHTMLImgElement_get_fileSize(This,p) (This)->lpVtbl->get_fileSize(This,p)
#define IHTMLImgElement_get_fileCreatedDate(This,p) (This)->lpVtbl->get_fileCreatedDate(This,p)
#define IHTMLImgElement_get_fileModifiedDate(This,p) (This)->lpVtbl->get_fileModifiedDate(This,p)
#define IHTMLImgElement_get_fileUpdatedDate(This,p) (This)->lpVtbl->get_fileUpdatedDate(This,p)
#define IHTMLImgElement_get_protocol(This,p) (This)->lpVtbl->get_protocol(This,p)
#define IHTMLImgElement_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLImgElement_get_nameProp(This,p) (This)->lpVtbl->get_nameProp(This,p)
#define IHTMLImgElement_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLImgElement_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLImgElement_put_vspace(This,v) (This)->lpVtbl->put_vspace(This,v)
#define IHTMLImgElement_get_vspace(This,p) (This)->lpVtbl->get_vspace(This,p)
#define IHTMLImgElement_put_hspace(This,v) (This)->lpVtbl->put_hspace(This,v)
#define IHTMLImgElement_get_hspace(This,p) (This)->lpVtbl->get_hspace(This,p)
#define IHTMLImgElement_put_alt(This,v) (This)->lpVtbl->put_alt(This,v)
#define IHTMLImgElement_get_alt(This,p) (This)->lpVtbl->get_alt(This,p)
#define IHTMLImgElement_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLImgElement_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLImgElement_put_lowsrc(This,v) (This)->lpVtbl->put_lowsrc(This,v)
#define IHTMLImgElement_get_lowsrc(This,p) (This)->lpVtbl->get_lowsrc(This,p)
#define IHTMLImgElement_put_vrml(This,v) (This)->lpVtbl->put_vrml(This,v)
#define IHTMLImgElement_get_vrml(This,p) (This)->lpVtbl->get_vrml(This,p)
#define IHTMLImgElement_put_dynsrc(This,v) (This)->lpVtbl->put_dynsrc(This,v)
#define IHTMLImgElement_get_dynsrc(This,p) (This)->lpVtbl->get_dynsrc(This,p)
#define IHTMLImgElement_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLImgElement_get_complete(This,p) (This)->lpVtbl->get_complete(This,p)
#define IHTMLImgElement_put_loop(This,v) (This)->lpVtbl->put_loop(This,v)
#define IHTMLImgElement_get_loop(This,p) (This)->lpVtbl->get_loop(This,p)
#define IHTMLImgElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLImgElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLImgElement_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLImgElement_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLImgElement_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLImgElement_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLImgElement_put_onabort(This,v) (This)->lpVtbl->put_onabort(This,v)
#define IHTMLImgElement_get_onabort(This,p) (This)->lpVtbl->get_onabort(This,p)
#define IHTMLImgElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLImgElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLImgElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLImgElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLImgElement_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLImgElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLImgElement_put_start(This,v) (This)->lpVtbl->put_start(This,v)
#define IHTMLImgElement_get_start(This,p) (This)->lpVtbl->get_start(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLImgElement_QueryInterface(IHTMLImgElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLImgElement_AddRef(IHTMLImgElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLImgElement_Release(IHTMLImgElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLImgElement_GetTypeInfoCount(IHTMLImgElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLImgElement_GetTypeInfo(IHTMLImgElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLImgElement_GetIDsOfNames(IHTMLImgElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLImgElement_Invoke(IHTMLImgElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLImgElement methods ***/
static inline HRESULT IHTMLImgElement_put_isMap(IHTMLImgElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_isMap(This,v);
}
static inline HRESULT IHTMLImgElement_get_isMap(IHTMLImgElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isMap(This,p);
}
static inline HRESULT IHTMLImgElement_put_useMap(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_useMap(This,v);
}
static inline HRESULT IHTMLImgElement_get_useMap(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_useMap(This,p);
}
static inline HRESULT IHTMLImgElement_get_mimeType(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_mimeType(This,p);
}
static inline HRESULT IHTMLImgElement_get_fileSize(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileSize(This,p);
}
static inline HRESULT IHTMLImgElement_get_fileCreatedDate(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileCreatedDate(This,p);
}
static inline HRESULT IHTMLImgElement_get_fileModifiedDate(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileModifiedDate(This,p);
}
static inline HRESULT IHTMLImgElement_get_fileUpdatedDate(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileUpdatedDate(This,p);
}
static inline HRESULT IHTMLImgElement_get_protocol(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static inline HRESULT IHTMLImgElement_get_href(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLImgElement_get_nameProp(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_nameProp(This,p);
}
static inline HRESULT IHTMLImgElement_put_border(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLImgElement_get_border(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLImgElement_put_vspace(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static inline HRESULT IHTMLImgElement_get_vspace(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static inline HRESULT IHTMLImgElement_put_hspace(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static inline HRESULT IHTMLImgElement_get_hspace(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static inline HRESULT IHTMLImgElement_put_alt(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static inline HRESULT IHTMLImgElement_get_alt(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static inline HRESULT IHTMLImgElement_put_src(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLImgElement_get_src(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLImgElement_put_lowsrc(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_lowsrc(This,v);
}
static inline HRESULT IHTMLImgElement_get_lowsrc(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_lowsrc(This,p);
}
static inline HRESULT IHTMLImgElement_put_vrml(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_vrml(This,v);
}
static inline HRESULT IHTMLImgElement_get_vrml(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_vrml(This,p);
}
static inline HRESULT IHTMLImgElement_put_dynsrc(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_dynsrc(This,v);
}
static inline HRESULT IHTMLImgElement_get_dynsrc(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_dynsrc(This,p);
}
static inline HRESULT IHTMLImgElement_get_readyState(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLImgElement_get_complete(IHTMLImgElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_complete(This,p);
}
static inline HRESULT IHTMLImgElement_put_loop(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_loop(This,v);
}
static inline HRESULT IHTMLImgElement_get_loop(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_loop(This,p);
}
static inline HRESULT IHTMLImgElement_put_align(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLImgElement_get_align(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLImgElement_put_onload(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLImgElement_get_onload(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLImgElement_put_onerror(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLImgElement_get_onerror(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLImgElement_put_onabort(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static inline HRESULT IHTMLImgElement_get_onabort(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static inline HRESULT IHTMLImgElement_put_name(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLImgElement_get_name(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLImgElement_put_width(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLImgElement_get_width(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLImgElement_put_height(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLImgElement_get_height(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLImgElement_put_start(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_start(This,v);
}
static inline HRESULT IHTMLImgElement_get_start(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_start(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLImgElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLImgElement2 interface
 */
#ifndef __IHTMLImgElement2_INTERFACE_DEFINED__
#define __IHTMLImgElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLImgElement2, 0x3050f826, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f826-98b5-11cf-bb82-00aa00bdce0b")
IHTMLImgElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_longDesc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_longDesc(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLImgElement2, 0x3050f826, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLImgElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLImgElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLImgElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLImgElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLImgElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLImgElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_longDesc)(
        IHTMLImgElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_longDesc)(
        IHTMLImgElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLImgElement2Vtbl;

interface IHTMLImgElement2 {
    CONST_VTBL IHTMLImgElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLImgElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLImgElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLImgElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLImgElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLImgElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLImgElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLImgElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLImgElement2 methods ***/
#define IHTMLImgElement2_put_longDesc(This,v) (This)->lpVtbl->put_longDesc(This,v)
#define IHTMLImgElement2_get_longDesc(This,p) (This)->lpVtbl->get_longDesc(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLImgElement2_QueryInterface(IHTMLImgElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLImgElement2_AddRef(IHTMLImgElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLImgElement2_Release(IHTMLImgElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLImgElement2_GetTypeInfoCount(IHTMLImgElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLImgElement2_GetTypeInfo(IHTMLImgElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLImgElement2_GetIDsOfNames(IHTMLImgElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLImgElement2_Invoke(IHTMLImgElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLImgElement2 methods ***/
static inline HRESULT IHTMLImgElement2_put_longDesc(IHTMLImgElement2* This,BSTR v) {
    return This->lpVtbl->put_longDesc(This,v);
}
static inline HRESULT IHTMLImgElement2_get_longDesc(IHTMLImgElement2* This,BSTR *p) {
    return This->lpVtbl->get_longDesc(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLImgElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLImgElement3 interface
 */
#ifndef __IHTMLImgElement3_INTERFACE_DEFINED__
#define __IHTMLImgElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLImgElement3, 0x30510434, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510434-98b5-11cf-bb82-00aa00bdce0b")
IHTMLImgElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_longDesc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_longDesc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vrml(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vrml(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lowsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lowsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dynsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dynsrc(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLImgElement3, 0x30510434, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLImgElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLImgElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLImgElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLImgElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLImgElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLImgElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_longDesc)(
        IHTMLImgElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_longDesc)(
        IHTMLImgElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vrml)(
        IHTMLImgElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vrml)(
        IHTMLImgElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lowsrc)(
        IHTMLImgElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lowsrc)(
        IHTMLImgElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dynsrc)(
        IHTMLImgElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dynsrc)(
        IHTMLImgElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLImgElement3Vtbl;

interface IHTMLImgElement3 {
    CONST_VTBL IHTMLImgElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLImgElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLImgElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLImgElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLImgElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLImgElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLImgElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLImgElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLImgElement3 methods ***/
#define IHTMLImgElement3_put_longDesc(This,v) (This)->lpVtbl->put_longDesc(This,v)
#define IHTMLImgElement3_get_longDesc(This,p) (This)->lpVtbl->get_longDesc(This,p)
#define IHTMLImgElement3_put_vrml(This,v) (This)->lpVtbl->put_vrml(This,v)
#define IHTMLImgElement3_get_vrml(This,p) (This)->lpVtbl->get_vrml(This,p)
#define IHTMLImgElement3_put_lowsrc(This,v) (This)->lpVtbl->put_lowsrc(This,v)
#define IHTMLImgElement3_get_lowsrc(This,p) (This)->lpVtbl->get_lowsrc(This,p)
#define IHTMLImgElement3_put_dynsrc(This,v) (This)->lpVtbl->put_dynsrc(This,v)
#define IHTMLImgElement3_get_dynsrc(This,p) (This)->lpVtbl->get_dynsrc(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLImgElement3_QueryInterface(IHTMLImgElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLImgElement3_AddRef(IHTMLImgElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLImgElement3_Release(IHTMLImgElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLImgElement3_GetTypeInfoCount(IHTMLImgElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLImgElement3_GetTypeInfo(IHTMLImgElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLImgElement3_GetIDsOfNames(IHTMLImgElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLImgElement3_Invoke(IHTMLImgElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLImgElement3 methods ***/
static inline HRESULT IHTMLImgElement3_put_longDesc(IHTMLImgElement3* This,BSTR v) {
    return This->lpVtbl->put_longDesc(This,v);
}
static inline HRESULT IHTMLImgElement3_get_longDesc(IHTMLImgElement3* This,BSTR *p) {
    return This->lpVtbl->get_longDesc(This,p);
}
static inline HRESULT IHTMLImgElement3_put_vrml(IHTMLImgElement3* This,BSTR v) {
    return This->lpVtbl->put_vrml(This,v);
}
static inline HRESULT IHTMLImgElement3_get_vrml(IHTMLImgElement3* This,BSTR *p) {
    return This->lpVtbl->get_vrml(This,p);
}
static inline HRESULT IHTMLImgElement3_put_lowsrc(IHTMLImgElement3* This,BSTR v) {
    return This->lpVtbl->put_lowsrc(This,v);
}
static inline HRESULT IHTMLImgElement3_get_lowsrc(IHTMLImgElement3* This,BSTR *p) {
    return This->lpVtbl->get_lowsrc(This,p);
}
static inline HRESULT IHTMLImgElement3_put_dynsrc(IHTMLImgElement3* This,BSTR v) {
    return This->lpVtbl->put_dynsrc(This,v);
}
static inline HRESULT IHTMLImgElement3_get_dynsrc(IHTMLImgElement3* This,BSTR *p) {
    return This->lpVtbl->get_dynsrc(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLImgElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLImgElement4 interface
 */
#ifndef __IHTMLImgElement4_INTERFACE_DEFINED__
#define __IHTMLImgElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLImgElement4, 0x305107f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107f6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLImgElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_naturalWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_naturalHeight(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLImgElement4, 0x305107f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLImgElement4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLImgElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLImgElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLImgElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLImgElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLImgElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_naturalWidth)(
        IHTMLImgElement4 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_naturalHeight)(
        IHTMLImgElement4 *This,
        LONG *p);

    END_INTERFACE
} IHTMLImgElement4Vtbl;

interface IHTMLImgElement4 {
    CONST_VTBL IHTMLImgElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLImgElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLImgElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLImgElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLImgElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLImgElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLImgElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLImgElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLImgElement4 methods ***/
#define IHTMLImgElement4_get_naturalWidth(This,p) (This)->lpVtbl->get_naturalWidth(This,p)
#define IHTMLImgElement4_get_naturalHeight(This,p) (This)->lpVtbl->get_naturalHeight(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLImgElement4_QueryInterface(IHTMLImgElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLImgElement4_AddRef(IHTMLImgElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLImgElement4_Release(IHTMLImgElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLImgElement4_GetTypeInfoCount(IHTMLImgElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLImgElement4_GetTypeInfo(IHTMLImgElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLImgElement4_GetIDsOfNames(IHTMLImgElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLImgElement4_Invoke(IHTMLImgElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLImgElement4 methods ***/
static inline HRESULT IHTMLImgElement4_get_naturalWidth(IHTMLImgElement4* This,LONG *p) {
    return This->lpVtbl->get_naturalWidth(This,p);
}
static inline HRESULT IHTMLImgElement4_get_naturalHeight(IHTMLImgElement4* This,LONG *p) {
    return This->lpVtbl->get_naturalHeight(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLImgElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMSImgElement interface
 */
#ifndef __IHTMLMSImgElement_INTERFACE_DEFINED__
#define __IHTMLMSImgElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMSImgElement, 0x30510793, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510793-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMSImgElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_msPlayToDisabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msPlayToDisabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msPlayToPrimary(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msPlayToPrimary(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMSImgElement, 0x30510793, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMSImgElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMSImgElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMSImgElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMSImgElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMSImgElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMSImgElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_msPlayToDisabled)(
        IHTMLMSImgElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_msPlayToDisabled)(
        IHTMLMSImgElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_msPlayToPrimary)(
        IHTMLMSImgElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_msPlayToPrimary)(
        IHTMLMSImgElement *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLMSImgElementVtbl;

interface IHTMLMSImgElement {
    CONST_VTBL IHTMLMSImgElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMSImgElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMSImgElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMSImgElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMSImgElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMSImgElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMSImgElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMSImgElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMSImgElement methods ***/
#define IHTMLMSImgElement_put_msPlayToDisabled(This,v) (This)->lpVtbl->put_msPlayToDisabled(This,v)
#define IHTMLMSImgElement_get_msPlayToDisabled(This,p) (This)->lpVtbl->get_msPlayToDisabled(This,p)
#define IHTMLMSImgElement_put_msPlayToPrimary(This,v) (This)->lpVtbl->put_msPlayToPrimary(This,v)
#define IHTMLMSImgElement_get_msPlayToPrimary(This,p) (This)->lpVtbl->get_msPlayToPrimary(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMSImgElement_QueryInterface(IHTMLMSImgElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMSImgElement_AddRef(IHTMLMSImgElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMSImgElement_Release(IHTMLMSImgElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMSImgElement_GetTypeInfoCount(IHTMLMSImgElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMSImgElement_GetTypeInfo(IHTMLMSImgElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMSImgElement_GetIDsOfNames(IHTMLMSImgElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMSImgElement_Invoke(IHTMLMSImgElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMSImgElement methods ***/
static inline HRESULT IHTMLMSImgElement_put_msPlayToDisabled(IHTMLMSImgElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_msPlayToDisabled(This,v);
}
static inline HRESULT IHTMLMSImgElement_get_msPlayToDisabled(IHTMLMSImgElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_msPlayToDisabled(This,p);
}
static inline HRESULT IHTMLMSImgElement_put_msPlayToPrimary(IHTMLMSImgElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_msPlayToPrimary(This,v);
}
static inline HRESULT IHTMLMSImgElement_get_msPlayToPrimary(IHTMLMSImgElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_msPlayToPrimary(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMSImgElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLImageElementFactory interface
 */
#ifndef __IHTMLImageElementFactory_INTERFACE_DEFINED__
#define __IHTMLImageElementFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLImageElementFactory, 0x3050f38e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f38e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLImageElementFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE create(
        VARIANT width,
        VARIANT height,
        IHTMLImgElement **a) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLImageElementFactory, 0x3050f38e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLImageElementFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLImageElementFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLImageElementFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLImageElementFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLImageElementFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLImageElementFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *create)(
        IHTMLImageElementFactory *This,
        VARIANT width,
        VARIANT height,
        IHTMLImgElement **a);

    END_INTERFACE
} IHTMLImageElementFactoryVtbl;

interface IHTMLImageElementFactory {
    CONST_VTBL IHTMLImageElementFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLImageElementFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLImageElementFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLImageElementFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLImageElementFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLImageElementFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLImageElementFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLImageElementFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLImageElementFactory methods ***/
#define IHTMLImageElementFactory_create(This,width,height,a) (This)->lpVtbl->create(This,width,height,a)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLImageElementFactory_QueryInterface(IHTMLImageElementFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLImageElementFactory_AddRef(IHTMLImageElementFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLImageElementFactory_Release(IHTMLImageElementFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLImageElementFactory_GetTypeInfoCount(IHTMLImageElementFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLImageElementFactory_GetTypeInfo(IHTMLImageElementFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLImageElementFactory_GetIDsOfNames(IHTMLImageElementFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLImageElementFactory_Invoke(IHTMLImageElementFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLImageElementFactory methods ***/
static inline HRESULT IHTMLImageElementFactory_create(IHTMLImageElementFactory* This,VARIANT width,VARIANT height,IHTMLImgElement **a) {
    return This->lpVtbl->create(This,width,height,a);
}
#endif
#endif

#endif


#endif  /* __IHTMLImageElementFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLImg dispinterface
 */
#ifndef __DispHTMLImg_DISPINTERFACE_DEFINED__
#define __DispHTMLImg_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLImg, 0x3050f51c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f51c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLImg : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLImg, 0x3050f51c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLImgVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLImg *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLImg *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLImg *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLImg *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLImgVtbl;

interface DispHTMLImg {
    CONST_VTBL DispHTMLImgVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLImg_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLImg_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLImg_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLImg_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLImg_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLImg_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLImg_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLImg_QueryInterface(DispHTMLImg* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLImg_AddRef(DispHTMLImg* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLImg_Release(DispHTMLImg* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLImg_GetTypeInfoCount(DispHTMLImg* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLImg_GetTypeInfo(DispHTMLImg* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLImg_GetIDsOfNames(DispHTMLImg* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLImg_Invoke(DispHTMLImg* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLImg_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLImg coclass
 */

DEFINE_GUID(CLSID_HTMLImg, 0x3050f241, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f241-98b5-11cf-bb82-00aa00bdce0b") HTMLImg;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLImg, 0x3050f241, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CImgElement;
/*****************************************************************************
 * HTMLImageElementFactory coclass
 */

DEFINE_GUID(CLSID_HTMLImageElementFactory, 0x3050f38f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f38f-98b5-11cf-bb82-00aa00bdce0b") HTMLImageElementFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLImageElementFactory, 0x3050f38f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CImageElementFactory;
typedef enum _bodyScroll {
    bodyScrollyes = 1,
    bodyScrollno = 2,
    bodyScrollauto = 4,
    bodyScrolldefault = 3,
    bodyScroll_Max = 0x7fffffff
} bodyScroll;
/*****************************************************************************
 * IHTMLBodyElement interface
 */
#ifndef __IHTMLBodyElement_INTERFACE_DEFINED__
#define __IHTMLBodyElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBodyElement, 0x3050f1d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1d8-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBodyElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_background(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_background(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bgProperties(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgProperties(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_leftMargin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_leftMargin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_topMargin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_topMargin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rightMargin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rightMargin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bottomMargin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bottomMargin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_noWrap(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noWrap(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_text(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_link(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_link(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vLink(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vLink(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_aLink(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_aLink(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onunload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onunload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scroll(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scroll(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeunload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeunload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextRange(
        IHTMLTxtRange **range) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBodyElement, 0x3050f1d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBodyElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBodyElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBodyElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBodyElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBodyElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBodyElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_background)(
        IHTMLBodyElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_background)(
        IHTMLBodyElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bgProperties)(
        IHTMLBodyElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_bgProperties)(
        IHTMLBodyElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_leftMargin)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_leftMargin)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_topMargin)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_topMargin)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_rightMargin)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_rightMargin)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_bottomMargin)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bottomMargin)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_noWrap)(
        IHTMLBodyElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noWrap)(
        IHTMLBodyElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_bgColor)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bgColor)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_text)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_text)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_link)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_link)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_vLink)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_vLink)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_aLink)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_aLink)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onunload)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onunload)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scroll)(
        IHTMLBodyElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_scroll)(
        IHTMLBodyElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeunload)(
        IHTMLBodyElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeunload)(
        IHTMLBodyElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *createTextRange)(
        IHTMLBodyElement *This,
        IHTMLTxtRange **range);

    END_INTERFACE
} IHTMLBodyElementVtbl;

interface IHTMLBodyElement {
    CONST_VTBL IHTMLBodyElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBodyElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBodyElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBodyElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBodyElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBodyElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBodyElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBodyElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBodyElement methods ***/
#define IHTMLBodyElement_put_background(This,v) (This)->lpVtbl->put_background(This,v)
#define IHTMLBodyElement_get_background(This,p) (This)->lpVtbl->get_background(This,p)
#define IHTMLBodyElement_put_bgProperties(This,v) (This)->lpVtbl->put_bgProperties(This,v)
#define IHTMLBodyElement_get_bgProperties(This,p) (This)->lpVtbl->get_bgProperties(This,p)
#define IHTMLBodyElement_put_leftMargin(This,v) (This)->lpVtbl->put_leftMargin(This,v)
#define IHTMLBodyElement_get_leftMargin(This,p) (This)->lpVtbl->get_leftMargin(This,p)
#define IHTMLBodyElement_put_topMargin(This,v) (This)->lpVtbl->put_topMargin(This,v)
#define IHTMLBodyElement_get_topMargin(This,p) (This)->lpVtbl->get_topMargin(This,p)
#define IHTMLBodyElement_put_rightMargin(This,v) (This)->lpVtbl->put_rightMargin(This,v)
#define IHTMLBodyElement_get_rightMargin(This,p) (This)->lpVtbl->get_rightMargin(This,p)
#define IHTMLBodyElement_put_bottomMargin(This,v) (This)->lpVtbl->put_bottomMargin(This,v)
#define IHTMLBodyElement_get_bottomMargin(This,p) (This)->lpVtbl->get_bottomMargin(This,p)
#define IHTMLBodyElement_put_noWrap(This,v) (This)->lpVtbl->put_noWrap(This,v)
#define IHTMLBodyElement_get_noWrap(This,p) (This)->lpVtbl->get_noWrap(This,p)
#define IHTMLBodyElement_put_bgColor(This,v) (This)->lpVtbl->put_bgColor(This,v)
#define IHTMLBodyElement_get_bgColor(This,p) (This)->lpVtbl->get_bgColor(This,p)
#define IHTMLBodyElement_put_text(This,v) (This)->lpVtbl->put_text(This,v)
#define IHTMLBodyElement_get_text(This,p) (This)->lpVtbl->get_text(This,p)
#define IHTMLBodyElement_put_link(This,v) (This)->lpVtbl->put_link(This,v)
#define IHTMLBodyElement_get_link(This,p) (This)->lpVtbl->get_link(This,p)
#define IHTMLBodyElement_put_vLink(This,v) (This)->lpVtbl->put_vLink(This,v)
#define IHTMLBodyElement_get_vLink(This,p) (This)->lpVtbl->get_vLink(This,p)
#define IHTMLBodyElement_put_aLink(This,v) (This)->lpVtbl->put_aLink(This,v)
#define IHTMLBodyElement_get_aLink(This,p) (This)->lpVtbl->get_aLink(This,p)
#define IHTMLBodyElement_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLBodyElement_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLBodyElement_put_onunload(This,v) (This)->lpVtbl->put_onunload(This,v)
#define IHTMLBodyElement_get_onunload(This,p) (This)->lpVtbl->get_onunload(This,p)
#define IHTMLBodyElement_put_scroll(This,v) (This)->lpVtbl->put_scroll(This,v)
#define IHTMLBodyElement_get_scroll(This,p) (This)->lpVtbl->get_scroll(This,p)
#define IHTMLBodyElement_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLBodyElement_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLBodyElement_put_onbeforeunload(This,v) (This)->lpVtbl->put_onbeforeunload(This,v)
#define IHTMLBodyElement_get_onbeforeunload(This,p) (This)->lpVtbl->get_onbeforeunload(This,p)
#define IHTMLBodyElement_createTextRange(This,range) (This)->lpVtbl->createTextRange(This,range)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBodyElement_QueryInterface(IHTMLBodyElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBodyElement_AddRef(IHTMLBodyElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBodyElement_Release(IHTMLBodyElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBodyElement_GetTypeInfoCount(IHTMLBodyElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBodyElement_GetTypeInfo(IHTMLBodyElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBodyElement_GetIDsOfNames(IHTMLBodyElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBodyElement_Invoke(IHTMLBodyElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBodyElement methods ***/
static inline HRESULT IHTMLBodyElement_put_background(IHTMLBodyElement* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static inline HRESULT IHTMLBodyElement_get_background(IHTMLBodyElement* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static inline HRESULT IHTMLBodyElement_put_bgProperties(IHTMLBodyElement* This,BSTR v) {
    return This->lpVtbl->put_bgProperties(This,v);
}
static inline HRESULT IHTMLBodyElement_get_bgProperties(IHTMLBodyElement* This,BSTR *p) {
    return This->lpVtbl->get_bgProperties(This,p);
}
static inline HRESULT IHTMLBodyElement_put_leftMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_leftMargin(This,v);
}
static inline HRESULT IHTMLBodyElement_get_leftMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_leftMargin(This,p);
}
static inline HRESULT IHTMLBodyElement_put_topMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_topMargin(This,v);
}
static inline HRESULT IHTMLBodyElement_get_topMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_topMargin(This,p);
}
static inline HRESULT IHTMLBodyElement_put_rightMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_rightMargin(This,v);
}
static inline HRESULT IHTMLBodyElement_get_rightMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_rightMargin(This,p);
}
static inline HRESULT IHTMLBodyElement_put_bottomMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_bottomMargin(This,v);
}
static inline HRESULT IHTMLBodyElement_get_bottomMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_bottomMargin(This,p);
}
static inline HRESULT IHTMLBodyElement_put_noWrap(IHTMLBodyElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static inline HRESULT IHTMLBodyElement_get_noWrap(IHTMLBodyElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noWrap(This,p);
}
static inline HRESULT IHTMLBodyElement_put_bgColor(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static inline HRESULT IHTMLBodyElement_get_bgColor(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static inline HRESULT IHTMLBodyElement_put_text(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_text(This,v);
}
static inline HRESULT IHTMLBodyElement_get_text(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_text(This,p);
}
static inline HRESULT IHTMLBodyElement_put_link(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_link(This,v);
}
static inline HRESULT IHTMLBodyElement_get_link(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_link(This,p);
}
static inline HRESULT IHTMLBodyElement_put_vLink(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_vLink(This,v);
}
static inline HRESULT IHTMLBodyElement_get_vLink(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_vLink(This,p);
}
static inline HRESULT IHTMLBodyElement_put_aLink(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_aLink(This,v);
}
static inline HRESULT IHTMLBodyElement_get_aLink(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_aLink(This,p);
}
static inline HRESULT IHTMLBodyElement_put_onload(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLBodyElement_get_onload(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLBodyElement_put_onunload(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onunload(This,v);
}
static inline HRESULT IHTMLBodyElement_get_onunload(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onunload(This,p);
}
static inline HRESULT IHTMLBodyElement_put_scroll(IHTMLBodyElement* This,BSTR v) {
    return This->lpVtbl->put_scroll(This,v);
}
static inline HRESULT IHTMLBodyElement_get_scroll(IHTMLBodyElement* This,BSTR *p) {
    return This->lpVtbl->get_scroll(This,p);
}
static inline HRESULT IHTMLBodyElement_put_onselect(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLBodyElement_get_onselect(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLBodyElement_put_onbeforeunload(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeunload(This,v);
}
static inline HRESULT IHTMLBodyElement_get_onbeforeunload(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeunload(This,p);
}
static inline HRESULT IHTMLBodyElement_createTextRange(IHTMLBodyElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLBodyElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBodyElement2 interface
 */
#ifndef __IHTMLBodyElement2_INTERFACE_DEFINED__
#define __IHTMLBodyElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBodyElement2, 0x3050f5c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5c5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBodyElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onbeforeprint(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeprint(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onafterprint(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onafterprint(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBodyElement2, 0x3050f5c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBodyElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBodyElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBodyElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBodyElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBodyElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBodyElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onbeforeprint)(
        IHTMLBodyElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeprint)(
        IHTMLBodyElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onafterprint)(
        IHTMLBodyElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onafterprint)(
        IHTMLBodyElement2 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLBodyElement2Vtbl;

interface IHTMLBodyElement2 {
    CONST_VTBL IHTMLBodyElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBodyElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBodyElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBodyElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBodyElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBodyElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBodyElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBodyElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBodyElement2 methods ***/
#define IHTMLBodyElement2_put_onbeforeprint(This,v) (This)->lpVtbl->put_onbeforeprint(This,v)
#define IHTMLBodyElement2_get_onbeforeprint(This,p) (This)->lpVtbl->get_onbeforeprint(This,p)
#define IHTMLBodyElement2_put_onafterprint(This,v) (This)->lpVtbl->put_onafterprint(This,v)
#define IHTMLBodyElement2_get_onafterprint(This,p) (This)->lpVtbl->get_onafterprint(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBodyElement2_QueryInterface(IHTMLBodyElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBodyElement2_AddRef(IHTMLBodyElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBodyElement2_Release(IHTMLBodyElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBodyElement2_GetTypeInfoCount(IHTMLBodyElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBodyElement2_GetTypeInfo(IHTMLBodyElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBodyElement2_GetIDsOfNames(IHTMLBodyElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBodyElement2_Invoke(IHTMLBodyElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBodyElement2 methods ***/
static inline HRESULT IHTMLBodyElement2_put_onbeforeprint(IHTMLBodyElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeprint(This,v);
}
static inline HRESULT IHTMLBodyElement2_get_onbeforeprint(IHTMLBodyElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeprint(This,p);
}
static inline HRESULT IHTMLBodyElement2_put_onafterprint(IHTMLBodyElement2* This,VARIANT v) {
    return This->lpVtbl->put_onafterprint(This,v);
}
static inline HRESULT IHTMLBodyElement2_get_onafterprint(IHTMLBodyElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onafterprint(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBodyElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBodyElement3 interface
 */
#ifndef __IHTMLBodyElement3_INTERFACE_DEFINED__
#define __IHTMLBodyElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBodyElement3, 0x30510422, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510422-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBodyElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_background(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_background(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ononline(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ononline(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onoffline(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onoffline(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onhashchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onhashchange(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBodyElement3, 0x30510422, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBodyElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBodyElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBodyElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBodyElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBodyElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBodyElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_background)(
        IHTMLBodyElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_background)(
        IHTMLBodyElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ononline)(
        IHTMLBodyElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ononline)(
        IHTMLBodyElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onoffline)(
        IHTMLBodyElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onoffline)(
        IHTMLBodyElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onhashchange)(
        IHTMLBodyElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onhashchange)(
        IHTMLBodyElement3 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLBodyElement3Vtbl;

interface IHTMLBodyElement3 {
    CONST_VTBL IHTMLBodyElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBodyElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBodyElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBodyElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBodyElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBodyElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBodyElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBodyElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBodyElement3 methods ***/
#define IHTMLBodyElement3_put_background(This,v) (This)->lpVtbl->put_background(This,v)
#define IHTMLBodyElement3_get_background(This,p) (This)->lpVtbl->get_background(This,p)
#define IHTMLBodyElement3_put_ononline(This,v) (This)->lpVtbl->put_ononline(This,v)
#define IHTMLBodyElement3_get_ononline(This,p) (This)->lpVtbl->get_ononline(This,p)
#define IHTMLBodyElement3_put_onoffline(This,v) (This)->lpVtbl->put_onoffline(This,v)
#define IHTMLBodyElement3_get_onoffline(This,p) (This)->lpVtbl->get_onoffline(This,p)
#define IHTMLBodyElement3_put_onhashchange(This,v) (This)->lpVtbl->put_onhashchange(This,v)
#define IHTMLBodyElement3_get_onhashchange(This,p) (This)->lpVtbl->get_onhashchange(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBodyElement3_QueryInterface(IHTMLBodyElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBodyElement3_AddRef(IHTMLBodyElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBodyElement3_Release(IHTMLBodyElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBodyElement3_GetTypeInfoCount(IHTMLBodyElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBodyElement3_GetTypeInfo(IHTMLBodyElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBodyElement3_GetIDsOfNames(IHTMLBodyElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBodyElement3_Invoke(IHTMLBodyElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBodyElement3 methods ***/
static inline HRESULT IHTMLBodyElement3_put_background(IHTMLBodyElement3* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static inline HRESULT IHTMLBodyElement3_get_background(IHTMLBodyElement3* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static inline HRESULT IHTMLBodyElement3_put_ononline(IHTMLBodyElement3* This,VARIANT v) {
    return This->lpVtbl->put_ononline(This,v);
}
static inline HRESULT IHTMLBodyElement3_get_ononline(IHTMLBodyElement3* This,VARIANT *p) {
    return This->lpVtbl->get_ononline(This,p);
}
static inline HRESULT IHTMLBodyElement3_put_onoffline(IHTMLBodyElement3* This,VARIANT v) {
    return This->lpVtbl->put_onoffline(This,v);
}
static inline HRESULT IHTMLBodyElement3_get_onoffline(IHTMLBodyElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onoffline(This,p);
}
static inline HRESULT IHTMLBodyElement3_put_onhashchange(IHTMLBodyElement3* This,VARIANT v) {
    return This->lpVtbl->put_onhashchange(This,v);
}
static inline HRESULT IHTMLBodyElement3_get_onhashchange(IHTMLBodyElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onhashchange(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBodyElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBodyElement4 interface
 */
#ifndef __IHTMLBodyElement4_INTERFACE_DEFINED__
#define __IHTMLBodyElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBodyElement4, 0x30510795, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510795-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBodyElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onmessage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmessage(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstorage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstorage(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBodyElement4, 0x30510795, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBodyElement4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBodyElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBodyElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBodyElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBodyElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBodyElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onmessage)(
        IHTMLBodyElement4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmessage)(
        IHTMLBodyElement4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstorage)(
        IHTMLBodyElement4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstorage)(
        IHTMLBodyElement4 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLBodyElement4Vtbl;

interface IHTMLBodyElement4 {
    CONST_VTBL IHTMLBodyElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBodyElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBodyElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBodyElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBodyElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBodyElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBodyElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBodyElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBodyElement4 methods ***/
#define IHTMLBodyElement4_put_onmessage(This,v) (This)->lpVtbl->put_onmessage(This,v)
#define IHTMLBodyElement4_get_onmessage(This,p) (This)->lpVtbl->get_onmessage(This,p)
#define IHTMLBodyElement4_put_onstorage(This,v) (This)->lpVtbl->put_onstorage(This,v)
#define IHTMLBodyElement4_get_onstorage(This,p) (This)->lpVtbl->get_onstorage(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBodyElement4_QueryInterface(IHTMLBodyElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBodyElement4_AddRef(IHTMLBodyElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBodyElement4_Release(IHTMLBodyElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBodyElement4_GetTypeInfoCount(IHTMLBodyElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBodyElement4_GetTypeInfo(IHTMLBodyElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBodyElement4_GetIDsOfNames(IHTMLBodyElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBodyElement4_Invoke(IHTMLBodyElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBodyElement4 methods ***/
static inline HRESULT IHTMLBodyElement4_put_onmessage(IHTMLBodyElement4* This,VARIANT v) {
    return This->lpVtbl->put_onmessage(This,v);
}
static inline HRESULT IHTMLBodyElement4_get_onmessage(IHTMLBodyElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onmessage(This,p);
}
static inline HRESULT IHTMLBodyElement4_put_onstorage(IHTMLBodyElement4* This,VARIANT v) {
    return This->lpVtbl->put_onstorage(This,v);
}
static inline HRESULT IHTMLBodyElement4_get_onstorage(IHTMLBodyElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onstorage(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBodyElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBodyElement5 interface
 */
#ifndef __IHTMLBodyElement5_INTERFACE_DEFINED__
#define __IHTMLBodyElement5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBodyElement5, 0x30510822, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510822-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBodyElement5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onpopstate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpopstate(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBodyElement5, 0x30510822, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBodyElement5Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBodyElement5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBodyElement5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBodyElement5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBodyElement5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBodyElement5 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onpopstate)(
        IHTMLBodyElement5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpopstate)(
        IHTMLBodyElement5 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLBodyElement5Vtbl;

interface IHTMLBodyElement5 {
    CONST_VTBL IHTMLBodyElement5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBodyElement5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBodyElement5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBodyElement5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBodyElement5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBodyElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBodyElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBodyElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBodyElement5 methods ***/
#define IHTMLBodyElement5_put_onpopstate(This,v) (This)->lpVtbl->put_onpopstate(This,v)
#define IHTMLBodyElement5_get_onpopstate(This,p) (This)->lpVtbl->get_onpopstate(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBodyElement5_QueryInterface(IHTMLBodyElement5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBodyElement5_AddRef(IHTMLBodyElement5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBodyElement5_Release(IHTMLBodyElement5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBodyElement5_GetTypeInfoCount(IHTMLBodyElement5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBodyElement5_GetTypeInfo(IHTMLBodyElement5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBodyElement5_GetIDsOfNames(IHTMLBodyElement5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBodyElement5_Invoke(IHTMLBodyElement5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBodyElement5 methods ***/
static inline HRESULT IHTMLBodyElement5_put_onpopstate(IHTMLBodyElement5* This,VARIANT v) {
    return This->lpVtbl->put_onpopstate(This,v);
}
static inline HRESULT IHTMLBodyElement5_get_onpopstate(IHTMLBodyElement5* This,VARIANT *p) {
    return This->lpVtbl->get_onpopstate(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBodyElement5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLBody dispinterface
 */
#ifndef __DispHTMLBody_DISPINTERFACE_DEFINED__
#define __DispHTMLBody_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLBody, 0x3050f507, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f507-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLBody : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLBody, 0x3050f507, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLBodyVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLBody *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLBody *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLBody *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLBody *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLBodyVtbl;

interface DispHTMLBody {
    CONST_VTBL DispHTMLBodyVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLBody_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLBody_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLBody_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLBody_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLBody_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLBody_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLBody_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLBody_QueryInterface(DispHTMLBody* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLBody_AddRef(DispHTMLBody* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLBody_Release(DispHTMLBody* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLBody_GetTypeInfoCount(DispHTMLBody* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLBody_GetTypeInfo(DispHTMLBody* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLBody_GetIDsOfNames(DispHTMLBody* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLBody_Invoke(DispHTMLBody* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLBody_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLBody coclass
 */

DEFINE_GUID(CLSID_HTMLBody, 0x3050f24a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f24a-98b5-11cf-bb82-00aa00bdce0b") HTMLBody;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLBody, 0x3050f24a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CBodyElement;
/*****************************************************************************
 * IHTMLFontElement interface
 */
#ifndef __IHTMLFontElement_INTERFACE_DEFINED__
#define __IHTMLFontElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFontElement, 0x3050f1d9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1d9-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFontElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_color(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_face(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_face(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_size(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFontElement, 0x3050f1d9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFontElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFontElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFontElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFontElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFontElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFontElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_color)(
        IHTMLFontElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IHTMLFontElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_face)(
        IHTMLFontElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_face)(
        IHTMLFontElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_size)(
        IHTMLFontElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IHTMLFontElement *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLFontElementVtbl;

interface IHTMLFontElement {
    CONST_VTBL IHTMLFontElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFontElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFontElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFontElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFontElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFontElement methods ***/
#define IHTMLFontElement_put_color(This,v) (This)->lpVtbl->put_color(This,v)
#define IHTMLFontElement_get_color(This,p) (This)->lpVtbl->get_color(This,p)
#define IHTMLFontElement_put_face(This,v) (This)->lpVtbl->put_face(This,v)
#define IHTMLFontElement_get_face(This,p) (This)->lpVtbl->get_face(This,p)
#define IHTMLFontElement_put_size(This,v) (This)->lpVtbl->put_size(This,v)
#define IHTMLFontElement_get_size(This,p) (This)->lpVtbl->get_size(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFontElement_QueryInterface(IHTMLFontElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFontElement_AddRef(IHTMLFontElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFontElement_Release(IHTMLFontElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFontElement_GetTypeInfoCount(IHTMLFontElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFontElement_GetTypeInfo(IHTMLFontElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFontElement_GetIDsOfNames(IHTMLFontElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFontElement_Invoke(IHTMLFontElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFontElement methods ***/
static inline HRESULT IHTMLFontElement_put_color(IHTMLFontElement* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static inline HRESULT IHTMLFontElement_get_color(IHTMLFontElement* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static inline HRESULT IHTMLFontElement_put_face(IHTMLFontElement* This,BSTR v) {
    return This->lpVtbl->put_face(This,v);
}
static inline HRESULT IHTMLFontElement_get_face(IHTMLFontElement* This,BSTR *p) {
    return This->lpVtbl->get_face(This,p);
}
static inline HRESULT IHTMLFontElement_put_size(IHTMLFontElement* This,VARIANT v) {
    return This->lpVtbl->put_size(This,v);
}
static inline HRESULT IHTMLFontElement_get_size(IHTMLFontElement* This,VARIANT *p) {
    return This->lpVtbl->get_size(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFontElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLFontElement dispinterface
 */
#ifndef __DispHTMLFontElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFontElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLFontElement, 0x3050f512, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f512-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLFontElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLFontElement, 0x3050f512, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLFontElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLFontElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLFontElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLFontElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLFontElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLFontElementVtbl;

interface DispHTMLFontElement {
    CONST_VTBL DispHTMLFontElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLFontElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLFontElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLFontElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLFontElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLFontElement_QueryInterface(DispHTMLFontElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLFontElement_AddRef(DispHTMLFontElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLFontElement_Release(DispHTMLFontElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLFontElement_GetTypeInfoCount(DispHTMLFontElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLFontElement_GetTypeInfo(DispHTMLFontElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLFontElement_GetIDsOfNames(DispHTMLFontElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLFontElement_Invoke(DispHTMLFontElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLFontElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFontElement coclass
 */

DEFINE_GUID(CLSID_HTMLFontElement, 0x3050f27b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f27b-98b5-11cf-bb82-00aa00bdce0b") HTMLFontElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFontElement, 0x3050f27b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFontElement;
/*****************************************************************************
 * HTMLAnchorEvents2 dispinterface
 */
#ifndef __HTMLAnchorEvents2_DISPINTERFACE_DEFINED__
#define __HTMLAnchorEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLAnchorEvents2, 0x3050f610, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f610-98b5-11cf-bb82-00aa00bdce0b")
HTMLAnchorEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAnchorEvents2, 0x3050f610, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLAnchorEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLAnchorEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLAnchorEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLAnchorEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLAnchorEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLAnchorEvents2Vtbl;

interface HTMLAnchorEvents2 {
    CONST_VTBL HTMLAnchorEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLAnchorEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLAnchorEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLAnchorEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLAnchorEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLAnchorEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLAnchorEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLAnchorEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLAnchorEvents2_QueryInterface(HTMLAnchorEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLAnchorEvents2_AddRef(HTMLAnchorEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLAnchorEvents2_Release(HTMLAnchorEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLAnchorEvents2_GetTypeInfoCount(HTMLAnchorEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLAnchorEvents2_GetTypeInfo(HTMLAnchorEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLAnchorEvents2_GetIDsOfNames(HTMLAnchorEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLAnchorEvents2_Invoke(HTMLAnchorEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLAnchorEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAnchorEvents dispinterface
 */
#ifndef __HTMLAnchorEvents_DISPINTERFACE_DEFINED__
#define __HTMLAnchorEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLAnchorEvents, 0x3050f29d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f29d-98b5-11cf-bb82-00aa00bdce0b")
HTMLAnchorEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAnchorEvents, 0x3050f29d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLAnchorEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLAnchorEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLAnchorEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLAnchorEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLAnchorEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLAnchorEventsVtbl;

interface HTMLAnchorEvents {
    CONST_VTBL HTMLAnchorEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLAnchorEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLAnchorEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLAnchorEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLAnchorEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLAnchorEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLAnchorEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLAnchorEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLAnchorEvents_QueryInterface(HTMLAnchorEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLAnchorEvents_AddRef(HTMLAnchorEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLAnchorEvents_Release(HTMLAnchorEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLAnchorEvents_GetTypeInfoCount(HTMLAnchorEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLAnchorEvents_GetTypeInfo(HTMLAnchorEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLAnchorEvents_GetIDsOfNames(HTMLAnchorEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLAnchorEvents_Invoke(HTMLAnchorEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLAnchorEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAnchorElement interface
 */
#ifndef __IHTMLAnchorElement_INTERFACE_DEFINED__
#define __IHTMLAnchorElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAnchorElement, 0x3050f1da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1da-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAnchorElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_target(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rel(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rel(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rev(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rev(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_urn(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_urn(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Methods(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Methods(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_host(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_host(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hostname(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hostname(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pathname(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pathname(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_port(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_port(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_protocol(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_protocol(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_search(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_search(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hash(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hash(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onblur(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onblur(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accessKey(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accessKey(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_protocolLong(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_mimeType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nameProp(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_tabIndex(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tabIndex(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE focus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE blur(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAnchorElement, 0x3050f1da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAnchorElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAnchorElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAnchorElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAnchorElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAnchorElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAnchorElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_target)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_target)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rel)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rel)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rev)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rev)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_urn)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_urn)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_Methods)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_Methods)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_host)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_host)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hostname)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hostname)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pathname)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pathname)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_port)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_port)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_protocol)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_protocol)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_search)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_search)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hash)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hash)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onblur)(
        IHTMLAnchorElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onblur)(
        IHTMLAnchorElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocus)(
        IHTMLAnchorElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocus)(
        IHTMLAnchorElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_accessKey)(
        IHTMLAnchorElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accessKey)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_protocolLong)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_mimeType)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_nameProp)(
        IHTMLAnchorElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_tabIndex)(
        IHTMLAnchorElement *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_tabIndex)(
        IHTMLAnchorElement *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *focus)(
        IHTMLAnchorElement *This);

    HRESULT (STDMETHODCALLTYPE *blur)(
        IHTMLAnchorElement *This);

    END_INTERFACE
} IHTMLAnchorElementVtbl;

interface IHTMLAnchorElement {
    CONST_VTBL IHTMLAnchorElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAnchorElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAnchorElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAnchorElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAnchorElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAnchorElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAnchorElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAnchorElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAnchorElement methods ***/
#define IHTMLAnchorElement_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLAnchorElement_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLAnchorElement_put_target(This,v) (This)->lpVtbl->put_target(This,v)
#define IHTMLAnchorElement_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#define IHTMLAnchorElement_put_rel(This,v) (This)->lpVtbl->put_rel(This,v)
#define IHTMLAnchorElement_get_rel(This,p) (This)->lpVtbl->get_rel(This,p)
#define IHTMLAnchorElement_put_rev(This,v) (This)->lpVtbl->put_rev(This,v)
#define IHTMLAnchorElement_get_rev(This,p) (This)->lpVtbl->get_rev(This,p)
#define IHTMLAnchorElement_put_urn(This,v) (This)->lpVtbl->put_urn(This,v)
#define IHTMLAnchorElement_get_urn(This,p) (This)->lpVtbl->get_urn(This,p)
#define IHTMLAnchorElement_put_Methods(This,v) (This)->lpVtbl->put_Methods(This,v)
#define IHTMLAnchorElement_get_Methods(This,p) (This)->lpVtbl->get_Methods(This,p)
#define IHTMLAnchorElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLAnchorElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLAnchorElement_put_host(This,v) (This)->lpVtbl->put_host(This,v)
#define IHTMLAnchorElement_get_host(This,p) (This)->lpVtbl->get_host(This,p)
#define IHTMLAnchorElement_put_hostname(This,v) (This)->lpVtbl->put_hostname(This,v)
#define IHTMLAnchorElement_get_hostname(This,p) (This)->lpVtbl->get_hostname(This,p)
#define IHTMLAnchorElement_put_pathname(This,v) (This)->lpVtbl->put_pathname(This,v)
#define IHTMLAnchorElement_get_pathname(This,p) (This)->lpVtbl->get_pathname(This,p)
#define IHTMLAnchorElement_put_port(This,v) (This)->lpVtbl->put_port(This,v)
#define IHTMLAnchorElement_get_port(This,p) (This)->lpVtbl->get_port(This,p)
#define IHTMLAnchorElement_put_protocol(This,v) (This)->lpVtbl->put_protocol(This,v)
#define IHTMLAnchorElement_get_protocol(This,p) (This)->lpVtbl->get_protocol(This,p)
#define IHTMLAnchorElement_put_search(This,v) (This)->lpVtbl->put_search(This,v)
#define IHTMLAnchorElement_get_search(This,p) (This)->lpVtbl->get_search(This,p)
#define IHTMLAnchorElement_put_hash(This,v) (This)->lpVtbl->put_hash(This,v)
#define IHTMLAnchorElement_get_hash(This,p) (This)->lpVtbl->get_hash(This,p)
#define IHTMLAnchorElement_put_onblur(This,v) (This)->lpVtbl->put_onblur(This,v)
#define IHTMLAnchorElement_get_onblur(This,p) (This)->lpVtbl->get_onblur(This,p)
#define IHTMLAnchorElement_put_onfocus(This,v) (This)->lpVtbl->put_onfocus(This,v)
#define IHTMLAnchorElement_get_onfocus(This,p) (This)->lpVtbl->get_onfocus(This,p)
#define IHTMLAnchorElement_put_accessKey(This,v) (This)->lpVtbl->put_accessKey(This,v)
#define IHTMLAnchorElement_get_accessKey(This,p) (This)->lpVtbl->get_accessKey(This,p)
#define IHTMLAnchorElement_get_protocolLong(This,p) (This)->lpVtbl->get_protocolLong(This,p)
#define IHTMLAnchorElement_get_mimeType(This,p) (This)->lpVtbl->get_mimeType(This,p)
#define IHTMLAnchorElement_get_nameProp(This,p) (This)->lpVtbl->get_nameProp(This,p)
#define IHTMLAnchorElement_put_tabIndex(This,v) (This)->lpVtbl->put_tabIndex(This,v)
#define IHTMLAnchorElement_get_tabIndex(This,p) (This)->lpVtbl->get_tabIndex(This,p)
#define IHTMLAnchorElement_focus(This) (This)->lpVtbl->focus(This)
#define IHTMLAnchorElement_blur(This) (This)->lpVtbl->blur(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAnchorElement_QueryInterface(IHTMLAnchorElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAnchorElement_AddRef(IHTMLAnchorElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAnchorElement_Release(IHTMLAnchorElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAnchorElement_GetTypeInfoCount(IHTMLAnchorElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAnchorElement_GetTypeInfo(IHTMLAnchorElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAnchorElement_GetIDsOfNames(IHTMLAnchorElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAnchorElement_Invoke(IHTMLAnchorElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAnchorElement methods ***/
static inline HRESULT IHTMLAnchorElement_put_href(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_href(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_target(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_target(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_rel(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_rel(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_rel(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_rel(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_rev(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_rev(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_rev(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_rev(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_urn(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_urn(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_urn(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_urn(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_Methods(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_Methods(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_Methods(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_Methods(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_name(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_name(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_host(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_host(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_host(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_host(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_hostname(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_hostname(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_hostname(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_hostname(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_pathname(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_pathname(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_pathname(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_pathname(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_port(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_port(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_port(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_port(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_protocol(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_protocol(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_protocol(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_search(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_search(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_search(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_search(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_hash(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_hash(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_hash(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_hash(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_onblur(IHTMLAnchorElement* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_onblur(IHTMLAnchorElement* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_onfocus(IHTMLAnchorElement* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_onfocus(IHTMLAnchorElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_accessKey(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_accessKey(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_accessKey(This,p);
}
static inline HRESULT IHTMLAnchorElement_get_protocolLong(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_protocolLong(This,p);
}
static inline HRESULT IHTMLAnchorElement_get_mimeType(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_mimeType(This,p);
}
static inline HRESULT IHTMLAnchorElement_get_nameProp(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_nameProp(This,p);
}
static inline HRESULT IHTMLAnchorElement_put_tabIndex(IHTMLAnchorElement* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static inline HRESULT IHTMLAnchorElement_get_tabIndex(IHTMLAnchorElement* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static inline HRESULT IHTMLAnchorElement_focus(IHTMLAnchorElement* This) {
    return This->lpVtbl->focus(This);
}
static inline HRESULT IHTMLAnchorElement_blur(IHTMLAnchorElement* This) {
    return This->lpVtbl->blur(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLAnchorElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAnchorElement2 interface
 */
#ifndef __IHTMLAnchorElement2_INTERFACE_DEFINED__
#define __IHTMLAnchorElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAnchorElement2, 0x3050f825, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f825-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAnchorElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_charset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_charset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_coords(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_coords(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hreflang(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hreflang(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_shape(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shape(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAnchorElement2, 0x3050f825, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAnchorElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAnchorElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAnchorElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAnchorElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAnchorElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAnchorElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_charset)(
        IHTMLAnchorElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_charset)(
        IHTMLAnchorElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_coords)(
        IHTMLAnchorElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_coords)(
        IHTMLAnchorElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hreflang)(
        IHTMLAnchorElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hreflang)(
        IHTMLAnchorElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_shape)(
        IHTMLAnchorElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_shape)(
        IHTMLAnchorElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLAnchorElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLAnchorElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLAnchorElement2Vtbl;

interface IHTMLAnchorElement2 {
    CONST_VTBL IHTMLAnchorElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAnchorElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAnchorElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAnchorElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAnchorElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAnchorElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAnchorElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAnchorElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAnchorElement2 methods ***/
#define IHTMLAnchorElement2_put_charset(This,v) (This)->lpVtbl->put_charset(This,v)
#define IHTMLAnchorElement2_get_charset(This,p) (This)->lpVtbl->get_charset(This,p)
#define IHTMLAnchorElement2_put_coords(This,v) (This)->lpVtbl->put_coords(This,v)
#define IHTMLAnchorElement2_get_coords(This,p) (This)->lpVtbl->get_coords(This,p)
#define IHTMLAnchorElement2_put_hreflang(This,v) (This)->lpVtbl->put_hreflang(This,v)
#define IHTMLAnchorElement2_get_hreflang(This,p) (This)->lpVtbl->get_hreflang(This,p)
#define IHTMLAnchorElement2_put_shape(This,v) (This)->lpVtbl->put_shape(This,v)
#define IHTMLAnchorElement2_get_shape(This,p) (This)->lpVtbl->get_shape(This,p)
#define IHTMLAnchorElement2_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLAnchorElement2_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAnchorElement2_QueryInterface(IHTMLAnchorElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAnchorElement2_AddRef(IHTMLAnchorElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAnchorElement2_Release(IHTMLAnchorElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAnchorElement2_GetTypeInfoCount(IHTMLAnchorElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAnchorElement2_GetTypeInfo(IHTMLAnchorElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAnchorElement2_GetIDsOfNames(IHTMLAnchorElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAnchorElement2_Invoke(IHTMLAnchorElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAnchorElement2 methods ***/
static inline HRESULT IHTMLAnchorElement2_put_charset(IHTMLAnchorElement2* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static inline HRESULT IHTMLAnchorElement2_get_charset(IHTMLAnchorElement2* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
static inline HRESULT IHTMLAnchorElement2_put_coords(IHTMLAnchorElement2* This,BSTR v) {
    return This->lpVtbl->put_coords(This,v);
}
static inline HRESULT IHTMLAnchorElement2_get_coords(IHTMLAnchorElement2* This,BSTR *p) {
    return This->lpVtbl->get_coords(This,p);
}
static inline HRESULT IHTMLAnchorElement2_put_hreflang(IHTMLAnchorElement2* This,BSTR v) {
    return This->lpVtbl->put_hreflang(This,v);
}
static inline HRESULT IHTMLAnchorElement2_get_hreflang(IHTMLAnchorElement2* This,BSTR *p) {
    return This->lpVtbl->get_hreflang(This,p);
}
static inline HRESULT IHTMLAnchorElement2_put_shape(IHTMLAnchorElement2* This,BSTR v) {
    return This->lpVtbl->put_shape(This,v);
}
static inline HRESULT IHTMLAnchorElement2_get_shape(IHTMLAnchorElement2* This,BSTR *p) {
    return This->lpVtbl->get_shape(This,p);
}
static inline HRESULT IHTMLAnchorElement2_put_type(IHTMLAnchorElement2* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLAnchorElement2_get_type(IHTMLAnchorElement2* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAnchorElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAnchorElement3 interface
 */
#ifndef __IHTMLAnchorElement3_INTERFACE_DEFINED__
#define __IHTMLAnchorElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAnchorElement3, 0x3051041d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051041d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAnchorElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_shape(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shape(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_coords(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_coords(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAnchorElement3, 0x3051041d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAnchorElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAnchorElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAnchorElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAnchorElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAnchorElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAnchorElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_shape)(
        IHTMLAnchorElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_shape)(
        IHTMLAnchorElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_coords)(
        IHTMLAnchorElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_coords)(
        IHTMLAnchorElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLAnchorElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLAnchorElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLAnchorElement3Vtbl;

interface IHTMLAnchorElement3 {
    CONST_VTBL IHTMLAnchorElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAnchorElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAnchorElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAnchorElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAnchorElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAnchorElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAnchorElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAnchorElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAnchorElement3 methods ***/
#define IHTMLAnchorElement3_put_shape(This,v) (This)->lpVtbl->put_shape(This,v)
#define IHTMLAnchorElement3_get_shape(This,p) (This)->lpVtbl->get_shape(This,p)
#define IHTMLAnchorElement3_put_coords(This,v) (This)->lpVtbl->put_coords(This,v)
#define IHTMLAnchorElement3_get_coords(This,p) (This)->lpVtbl->get_coords(This,p)
#define IHTMLAnchorElement3_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLAnchorElement3_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAnchorElement3_QueryInterface(IHTMLAnchorElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAnchorElement3_AddRef(IHTMLAnchorElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAnchorElement3_Release(IHTMLAnchorElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAnchorElement3_GetTypeInfoCount(IHTMLAnchorElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAnchorElement3_GetTypeInfo(IHTMLAnchorElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAnchorElement3_GetIDsOfNames(IHTMLAnchorElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAnchorElement3_Invoke(IHTMLAnchorElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAnchorElement3 methods ***/
static inline HRESULT IHTMLAnchorElement3_put_shape(IHTMLAnchorElement3* This,BSTR v) {
    return This->lpVtbl->put_shape(This,v);
}
static inline HRESULT IHTMLAnchorElement3_get_shape(IHTMLAnchorElement3* This,BSTR *p) {
    return This->lpVtbl->get_shape(This,p);
}
static inline HRESULT IHTMLAnchorElement3_put_coords(IHTMLAnchorElement3* This,BSTR v) {
    return This->lpVtbl->put_coords(This,v);
}
static inline HRESULT IHTMLAnchorElement3_get_coords(IHTMLAnchorElement3* This,BSTR *p) {
    return This->lpVtbl->get_coords(This,p);
}
static inline HRESULT IHTMLAnchorElement3_put_href(IHTMLAnchorElement3* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLAnchorElement3_get_href(IHTMLAnchorElement3* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAnchorElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLAnchorElement dispinterface
 */
#ifndef __DispHTMLAnchorElement_DISPINTERFACE_DEFINED__
#define __DispHTMLAnchorElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLAnchorElement, 0x3050f502, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f502-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLAnchorElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLAnchorElement, 0x3050f502, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLAnchorElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLAnchorElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLAnchorElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLAnchorElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLAnchorElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLAnchorElementVtbl;

interface DispHTMLAnchorElement {
    CONST_VTBL DispHTMLAnchorElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLAnchorElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLAnchorElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLAnchorElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLAnchorElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLAnchorElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLAnchorElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLAnchorElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLAnchorElement_QueryInterface(DispHTMLAnchorElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLAnchorElement_AddRef(DispHTMLAnchorElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLAnchorElement_Release(DispHTMLAnchorElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLAnchorElement_GetTypeInfoCount(DispHTMLAnchorElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLAnchorElement_GetTypeInfo(DispHTMLAnchorElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLAnchorElement_GetIDsOfNames(DispHTMLAnchorElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLAnchorElement_Invoke(DispHTMLAnchorElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLAnchorElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAnchorElement coclass
 */

DEFINE_GUID(CLSID_HTMLAnchorElement, 0x3050f248, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f248-98b5-11cf-bb82-00aa00bdce0b") HTMLAnchorElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAnchorElement, 0x3050f248, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CAnchorElement;
/*****************************************************************************
 * HTMLLabelEvents2 dispinterface
 */
#ifndef __HTMLLabelEvents2_DISPINTERFACE_DEFINED__
#define __HTMLLabelEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLLabelEvents2, 0x3050f61c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f61c-98b5-11cf-bb82-00aa00bdce0b")
HTMLLabelEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLabelEvents2, 0x3050f61c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLLabelEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLLabelEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLLabelEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLLabelEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLLabelEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLLabelEvents2Vtbl;

interface HTMLLabelEvents2 {
    CONST_VTBL HTMLLabelEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLLabelEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLLabelEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLLabelEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLLabelEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLLabelEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLLabelEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLLabelEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLLabelEvents2_QueryInterface(HTMLLabelEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLLabelEvents2_AddRef(HTMLLabelEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLLabelEvents2_Release(HTMLLabelEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLLabelEvents2_GetTypeInfoCount(HTMLLabelEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLLabelEvents2_GetTypeInfo(HTMLLabelEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLLabelEvents2_GetIDsOfNames(HTMLLabelEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLLabelEvents2_Invoke(HTMLLabelEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLLabelEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLLabelEvents dispinterface
 */
#ifndef __HTMLLabelEvents_DISPINTERFACE_DEFINED__
#define __HTMLLabelEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLLabelEvents, 0x3050f329, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f329-98b5-11cf-bb82-00aa00bdce0b")
HTMLLabelEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLabelEvents, 0x3050f329, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLLabelEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLLabelEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLLabelEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLLabelEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLLabelEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLLabelEventsVtbl;

interface HTMLLabelEvents {
    CONST_VTBL HTMLLabelEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLLabelEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLLabelEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLLabelEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLLabelEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLLabelEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLLabelEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLLabelEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLLabelEvents_QueryInterface(HTMLLabelEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLLabelEvents_AddRef(HTMLLabelEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLLabelEvents_Release(HTMLLabelEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLLabelEvents_GetTypeInfoCount(HTMLLabelEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLLabelEvents_GetTypeInfo(HTMLLabelEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLLabelEvents_GetIDsOfNames(HTMLLabelEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLLabelEvents_Invoke(HTMLLabelEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLLabelEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLabelElement interface
 */
#ifndef __IHTMLLabelElement_INTERFACE_DEFINED__
#define __IHTMLLabelElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLabelElement, 0x3050f32a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f32a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLabelElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_htmlFor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_htmlFor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accessKey(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accessKey(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLabelElement, 0x3050f32a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLabelElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLabelElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLabelElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLabelElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLabelElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLabelElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_htmlFor)(
        IHTMLLabelElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_htmlFor)(
        IHTMLLabelElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_accessKey)(
        IHTMLLabelElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accessKey)(
        IHTMLLabelElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLLabelElementVtbl;

interface IHTMLLabelElement {
    CONST_VTBL IHTMLLabelElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLabelElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLabelElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLabelElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLabelElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLabelElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLabelElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLabelElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLabelElement methods ***/
#define IHTMLLabelElement_put_htmlFor(This,v) (This)->lpVtbl->put_htmlFor(This,v)
#define IHTMLLabelElement_get_htmlFor(This,p) (This)->lpVtbl->get_htmlFor(This,p)
#define IHTMLLabelElement_put_accessKey(This,v) (This)->lpVtbl->put_accessKey(This,v)
#define IHTMLLabelElement_get_accessKey(This,p) (This)->lpVtbl->get_accessKey(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLabelElement_QueryInterface(IHTMLLabelElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLabelElement_AddRef(IHTMLLabelElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLabelElement_Release(IHTMLLabelElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLabelElement_GetTypeInfoCount(IHTMLLabelElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLabelElement_GetTypeInfo(IHTMLLabelElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLabelElement_GetIDsOfNames(IHTMLLabelElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLabelElement_Invoke(IHTMLLabelElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLabelElement methods ***/
static inline HRESULT IHTMLLabelElement_put_htmlFor(IHTMLLabelElement* This,BSTR v) {
    return This->lpVtbl->put_htmlFor(This,v);
}
static inline HRESULT IHTMLLabelElement_get_htmlFor(IHTMLLabelElement* This,BSTR *p) {
    return This->lpVtbl->get_htmlFor(This,p);
}
static inline HRESULT IHTMLLabelElement_put_accessKey(IHTMLLabelElement* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static inline HRESULT IHTMLLabelElement_get_accessKey(IHTMLLabelElement* This,BSTR *p) {
    return This->lpVtbl->get_accessKey(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLabelElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLabelElement2 interface
 */
#ifndef __IHTMLLabelElement2_INTERFACE_DEFINED__
#define __IHTMLLabelElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLabelElement2, 0x3050f832, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f832-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLabelElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLabelElement2, 0x3050f832, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLabelElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLabelElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLabelElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLabelElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLabelElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLabelElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLLabelElement2 *This,
        IHTMLFormElement **p);

    END_INTERFACE
} IHTMLLabelElement2Vtbl;

interface IHTMLLabelElement2 {
    CONST_VTBL IHTMLLabelElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLabelElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLabelElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLabelElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLabelElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLabelElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLabelElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLabelElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLabelElement2 methods ***/
#define IHTMLLabelElement2_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLabelElement2_QueryInterface(IHTMLLabelElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLabelElement2_AddRef(IHTMLLabelElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLabelElement2_Release(IHTMLLabelElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLabelElement2_GetTypeInfoCount(IHTMLLabelElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLabelElement2_GetTypeInfo(IHTMLLabelElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLabelElement2_GetIDsOfNames(IHTMLLabelElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLabelElement2_Invoke(IHTMLLabelElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLabelElement2 methods ***/
static inline HRESULT IHTMLLabelElement2_get_form(IHTMLLabelElement2* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLabelElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLLabelElement dispinterface
 */
#ifndef __DispHTMLLabelElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLabelElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLLabelElement, 0x3050f522, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f522-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLLabelElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLLabelElement, 0x3050f522, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLLabelElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLLabelElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLLabelElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLLabelElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLLabelElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLLabelElementVtbl;

interface DispHTMLLabelElement {
    CONST_VTBL DispHTMLLabelElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLLabelElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLLabelElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLLabelElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLLabelElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLLabelElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLLabelElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLLabelElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLLabelElement_QueryInterface(DispHTMLLabelElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLLabelElement_AddRef(DispHTMLLabelElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLLabelElement_Release(DispHTMLLabelElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLLabelElement_GetTypeInfoCount(DispHTMLLabelElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLLabelElement_GetTypeInfo(DispHTMLLabelElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLLabelElement_GetIDsOfNames(DispHTMLLabelElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLLabelElement_Invoke(DispHTMLLabelElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLLabelElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLLabelElement coclass
 */

DEFINE_GUID(CLSID_HTMLLabelElement, 0x3050f32b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f32b-98b5-11cf-bb82-00aa00bdce0b") HTMLLabelElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLabelElement, 0x3050f32b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CLabelElement;
/*****************************************************************************
 * IHTMLListElement interface
 */
#ifndef __IHTMLListElement_INTERFACE_DEFINED__
#define __IHTMLListElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLListElement, 0x3050f20e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f20e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLListElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLListElement, 0x3050f20e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTMLListElementVtbl;

interface IHTMLListElement {
    CONST_VTBL IHTMLListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLListElement_QueryInterface(IHTMLListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLListElement_AddRef(IHTMLListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLListElement_Release(IHTMLListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLListElement_GetTypeInfoCount(IHTMLListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLListElement_GetTypeInfo(IHTMLListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLListElement_GetIDsOfNames(IHTMLListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLListElement_Invoke(IHTMLListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTMLListElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLListElement2 interface
 */
#ifndef __IHTMLListElement2_INTERFACE_DEFINED__
#define __IHTMLListElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLListElement2, 0x3050f822, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f822-98b5-11cf-bb82-00aa00bdce0b")
IHTMLListElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_compact(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_compact(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLListElement2, 0x3050f822, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLListElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLListElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLListElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLListElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLListElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLListElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_compact)(
        IHTMLListElement2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_compact)(
        IHTMLListElement2 *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLListElement2Vtbl;

interface IHTMLListElement2 {
    CONST_VTBL IHTMLListElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLListElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLListElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLListElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLListElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLListElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLListElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLListElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLListElement2 methods ***/
#define IHTMLListElement2_put_compact(This,v) (This)->lpVtbl->put_compact(This,v)
#define IHTMLListElement2_get_compact(This,p) (This)->lpVtbl->get_compact(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLListElement2_QueryInterface(IHTMLListElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLListElement2_AddRef(IHTMLListElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLListElement2_Release(IHTMLListElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLListElement2_GetTypeInfoCount(IHTMLListElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLListElement2_GetTypeInfo(IHTMLListElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLListElement2_GetIDsOfNames(IHTMLListElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLListElement2_Invoke(IHTMLListElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLListElement2 methods ***/
static inline HRESULT IHTMLListElement2_put_compact(IHTMLListElement2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_compact(This,v);
}
static inline HRESULT IHTMLListElement2_get_compact(IHTMLListElement2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_compact(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLListElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLListElement dispinterface
 */
#ifndef __DispHTMLListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLListElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLListElement, 0x3050f525, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f525-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLListElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLListElement, 0x3050f525, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLListElementVtbl;

interface DispHTMLListElement {
    CONST_VTBL DispHTMLListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLListElement_QueryInterface(DispHTMLListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLListElement_AddRef(DispHTMLListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLListElement_Release(DispHTMLListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLListElement_GetTypeInfoCount(DispHTMLListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLListElement_GetTypeInfo(DispHTMLListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLListElement_GetIDsOfNames(DispHTMLListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLListElement_Invoke(DispHTMLListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLListElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLListElement coclass
 */

DEFINE_GUID(CLSID_HTMLListElement, 0x3050f272, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f272-98b5-11cf-bb82-00aa00bdce0b") HTMLListElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLListElement, 0x3050f272, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CListElement;
/*****************************************************************************
 * IHTMLUListElement interface
 */
#ifndef __IHTMLUListElement_INTERFACE_DEFINED__
#define __IHTMLUListElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLUListElement, 0x3050f1dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1dd-98b5-11cf-bb82-00aa00bdce0b")
IHTMLUListElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_compact(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_compact(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLUListElement, 0x3050f1dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLUListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLUListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLUListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLUListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLUListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLUListElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_compact)(
        IHTMLUListElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_compact)(
        IHTMLUListElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLUListElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLUListElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLUListElementVtbl;

interface IHTMLUListElement {
    CONST_VTBL IHTMLUListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLUListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLUListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLUListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLUListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLUListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLUListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLUListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLUListElement methods ***/
#define IHTMLUListElement_put_compact(This,v) (This)->lpVtbl->put_compact(This,v)
#define IHTMLUListElement_get_compact(This,p) (This)->lpVtbl->get_compact(This,p)
#define IHTMLUListElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLUListElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLUListElement_QueryInterface(IHTMLUListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLUListElement_AddRef(IHTMLUListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLUListElement_Release(IHTMLUListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLUListElement_GetTypeInfoCount(IHTMLUListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLUListElement_GetTypeInfo(IHTMLUListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLUListElement_GetIDsOfNames(IHTMLUListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLUListElement_Invoke(IHTMLUListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLUListElement methods ***/
static inline HRESULT IHTMLUListElement_put_compact(IHTMLUListElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_compact(This,v);
}
static inline HRESULT IHTMLUListElement_get_compact(IHTMLUListElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_compact(This,p);
}
static inline HRESULT IHTMLUListElement_put_type(IHTMLUListElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLUListElement_get_type(IHTMLUListElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLUListElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLUListElement dispinterface
 */
#ifndef __DispHTMLUListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLUListElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLUListElement, 0x3050f538, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f538-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLUListElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLUListElement, 0x3050f538, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLUListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLUListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLUListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLUListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLUListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLUListElementVtbl;

interface DispHTMLUListElement {
    CONST_VTBL DispHTMLUListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLUListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLUListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLUListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLUListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLUListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLUListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLUListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLUListElement_QueryInterface(DispHTMLUListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLUListElement_AddRef(DispHTMLUListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLUListElement_Release(DispHTMLUListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLUListElement_GetTypeInfoCount(DispHTMLUListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLUListElement_GetTypeInfo(DispHTMLUListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLUListElement_GetIDsOfNames(DispHTMLUListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLUListElement_Invoke(DispHTMLUListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLUListElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLUListElement coclass
 */

DEFINE_GUID(CLSID_HTMLUListElement, 0x3050f269, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f269-98b5-11cf-bb82-00aa00bdce0b") HTMLUListElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLUListElement, 0x3050f269, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CUListElement;
/*****************************************************************************
 * IHTMLOListElement interface
 */
#ifndef __IHTMLOListElement_INTERFACE_DEFINED__
#define __IHTMLOListElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOListElement, 0x3050f1de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1de-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOListElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_compact(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_compact(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_start(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_start(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOListElement, 0x3050f1de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOListElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_compact)(
        IHTMLOListElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_compact)(
        IHTMLOListElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_start)(
        IHTMLOListElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_start)(
        IHTMLOListElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLOListElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLOListElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLOListElementVtbl;

interface IHTMLOListElement {
    CONST_VTBL IHTMLOListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOListElement methods ***/
#define IHTMLOListElement_put_compact(This,v) (This)->lpVtbl->put_compact(This,v)
#define IHTMLOListElement_get_compact(This,p) (This)->lpVtbl->get_compact(This,p)
#define IHTMLOListElement_put_start(This,v) (This)->lpVtbl->put_start(This,v)
#define IHTMLOListElement_get_start(This,p) (This)->lpVtbl->get_start(This,p)
#define IHTMLOListElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLOListElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOListElement_QueryInterface(IHTMLOListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOListElement_AddRef(IHTMLOListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOListElement_Release(IHTMLOListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOListElement_GetTypeInfoCount(IHTMLOListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOListElement_GetTypeInfo(IHTMLOListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOListElement_GetIDsOfNames(IHTMLOListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOListElement_Invoke(IHTMLOListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOListElement methods ***/
static inline HRESULT IHTMLOListElement_put_compact(IHTMLOListElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_compact(This,v);
}
static inline HRESULT IHTMLOListElement_get_compact(IHTMLOListElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_compact(This,p);
}
static inline HRESULT IHTMLOListElement_put_start(IHTMLOListElement* This,LONG v) {
    return This->lpVtbl->put_start(This,v);
}
static inline HRESULT IHTMLOListElement_get_start(IHTMLOListElement* This,LONG *p) {
    return This->lpVtbl->get_start(This,p);
}
static inline HRESULT IHTMLOListElement_put_type(IHTMLOListElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLOListElement_get_type(IHTMLOListElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLOListElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLOListElement dispinterface
 */
#ifndef __DispHTMLOListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLOListElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLOListElement, 0x3050f52a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f52a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLOListElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLOListElement, 0x3050f52a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLOListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLOListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLOListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLOListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLOListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLOListElementVtbl;

interface DispHTMLOListElement {
    CONST_VTBL DispHTMLOListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLOListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLOListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLOListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLOListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLOListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLOListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLOListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLOListElement_QueryInterface(DispHTMLOListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLOListElement_AddRef(DispHTMLOListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLOListElement_Release(DispHTMLOListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLOListElement_GetTypeInfoCount(DispHTMLOListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLOListElement_GetTypeInfo(DispHTMLOListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLOListElement_GetIDsOfNames(DispHTMLOListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLOListElement_Invoke(DispHTMLOListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLOListElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLOListElement coclass
 */

DEFINE_GUID(CLSID_HTMLOListElement, 0x3050f270, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f270-98b5-11cf-bb82-00aa00bdce0b") HTMLOListElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLOListElement, 0x3050f270, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_COListElement;
/*****************************************************************************
 * IHTMLLIElement interface
 */
#ifndef __IHTMLLIElement_INTERFACE_DEFINED__
#define __IHTMLLIElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLIElement, 0x3050f1e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1e0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLIElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLIElement, 0x3050f1e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLIElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLIElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLIElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLIElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLIElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLIElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLLIElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLLIElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLLIElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLLIElement *This,
        LONG *p);

    END_INTERFACE
} IHTMLLIElementVtbl;

interface IHTMLLIElement {
    CONST_VTBL IHTMLLIElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLIElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLIElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLIElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLIElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLIElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLIElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLIElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLIElement methods ***/
#define IHTMLLIElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLLIElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLLIElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLLIElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLIElement_QueryInterface(IHTMLLIElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLIElement_AddRef(IHTMLLIElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLIElement_Release(IHTMLLIElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLIElement_GetTypeInfoCount(IHTMLLIElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLIElement_GetTypeInfo(IHTMLLIElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLIElement_GetIDsOfNames(IHTMLLIElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLIElement_Invoke(IHTMLLIElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLIElement methods ***/
static inline HRESULT IHTMLLIElement_put_type(IHTMLLIElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLLIElement_get_type(IHTMLLIElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLLIElement_put_value(IHTMLLIElement* This,LONG v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLLIElement_get_value(IHTMLLIElement* This,LONG *p) {
    return This->lpVtbl->get_value(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLIElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLLIElement dispinterface
 */
#ifndef __DispHTMLLIElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLIElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLLIElement, 0x3050f523, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f523-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLLIElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLLIElement, 0x3050f523, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLLIElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLLIElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLLIElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLLIElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLLIElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLLIElementVtbl;

interface DispHTMLLIElement {
    CONST_VTBL DispHTMLLIElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLLIElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLLIElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLLIElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLLIElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLLIElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLLIElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLLIElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLLIElement_QueryInterface(DispHTMLLIElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLLIElement_AddRef(DispHTMLLIElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLLIElement_Release(DispHTMLLIElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLLIElement_GetTypeInfoCount(DispHTMLLIElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLLIElement_GetTypeInfo(DispHTMLLIElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLLIElement_GetIDsOfNames(DispHTMLLIElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLLIElement_Invoke(DispHTMLLIElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLLIElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLLIElement coclass
 */

DEFINE_GUID(CLSID_HTMLLIElement, 0x3050f273, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f273-98b5-11cf-bb82-00aa00bdce0b") HTMLLIElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLIElement, 0x3050f273, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CLIElement;
/*****************************************************************************
 * IHTMLBlockElement interface
 */
#ifndef __IHTMLBlockElement_INTERFACE_DEFINED__
#define __IHTMLBlockElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBlockElement, 0x3050f208, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f208-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBlockElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_clear(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clear(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBlockElement, 0x3050f208, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBlockElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBlockElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBlockElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBlockElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBlockElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBlockElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_clear)(
        IHTMLBlockElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clear)(
        IHTMLBlockElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLBlockElementVtbl;

interface IHTMLBlockElement {
    CONST_VTBL IHTMLBlockElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBlockElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBlockElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBlockElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBlockElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBlockElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBlockElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBlockElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBlockElement methods ***/
#define IHTMLBlockElement_put_clear(This,v) (This)->lpVtbl->put_clear(This,v)
#define IHTMLBlockElement_get_clear(This,p) (This)->lpVtbl->get_clear(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBlockElement_QueryInterface(IHTMLBlockElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBlockElement_AddRef(IHTMLBlockElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBlockElement_Release(IHTMLBlockElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBlockElement_GetTypeInfoCount(IHTMLBlockElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBlockElement_GetTypeInfo(IHTMLBlockElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBlockElement_GetIDsOfNames(IHTMLBlockElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBlockElement_Invoke(IHTMLBlockElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBlockElement methods ***/
static inline HRESULT IHTMLBlockElement_put_clear(IHTMLBlockElement* This,BSTR v) {
    return This->lpVtbl->put_clear(This,v);
}
static inline HRESULT IHTMLBlockElement_get_clear(IHTMLBlockElement* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBlockElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBlockElement2 interface
 */
#ifndef __IHTMLBlockElement2_INTERFACE_DEFINED__
#define __IHTMLBlockElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBlockElement2, 0x3050f823, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f823-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBlockElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_cite(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cite(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBlockElement2, 0x3050f823, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBlockElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBlockElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBlockElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBlockElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBlockElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBlockElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_cite)(
        IHTMLBlockElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cite)(
        IHTMLBlockElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLBlockElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLBlockElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLBlockElement2Vtbl;

interface IHTMLBlockElement2 {
    CONST_VTBL IHTMLBlockElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBlockElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBlockElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBlockElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBlockElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBlockElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBlockElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBlockElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBlockElement2 methods ***/
#define IHTMLBlockElement2_put_cite(This,v) (This)->lpVtbl->put_cite(This,v)
#define IHTMLBlockElement2_get_cite(This,p) (This)->lpVtbl->get_cite(This,p)
#define IHTMLBlockElement2_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLBlockElement2_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBlockElement2_QueryInterface(IHTMLBlockElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBlockElement2_AddRef(IHTMLBlockElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBlockElement2_Release(IHTMLBlockElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBlockElement2_GetTypeInfoCount(IHTMLBlockElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBlockElement2_GetTypeInfo(IHTMLBlockElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBlockElement2_GetIDsOfNames(IHTMLBlockElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBlockElement2_Invoke(IHTMLBlockElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBlockElement2 methods ***/
static inline HRESULT IHTMLBlockElement2_put_cite(IHTMLBlockElement2* This,BSTR v) {
    return This->lpVtbl->put_cite(This,v);
}
static inline HRESULT IHTMLBlockElement2_get_cite(IHTMLBlockElement2* This,BSTR *p) {
    return This->lpVtbl->get_cite(This,p);
}
static inline HRESULT IHTMLBlockElement2_put_width(IHTMLBlockElement2* This,BSTR v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLBlockElement2_get_width(IHTMLBlockElement2* This,BSTR *p) {
    return This->lpVtbl->get_width(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBlockElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBlockElement3 interface
 */
#ifndef __IHTMLBlockElement3_INTERFACE_DEFINED__
#define __IHTMLBlockElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBlockElement3, 0x30510494, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510494-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBlockElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_cite(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cite(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBlockElement3, 0x30510494, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBlockElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBlockElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBlockElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBlockElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBlockElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBlockElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_cite)(
        IHTMLBlockElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cite)(
        IHTMLBlockElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLBlockElement3Vtbl;

interface IHTMLBlockElement3 {
    CONST_VTBL IHTMLBlockElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBlockElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBlockElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBlockElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBlockElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBlockElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBlockElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBlockElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBlockElement3 methods ***/
#define IHTMLBlockElement3_put_cite(This,v) (This)->lpVtbl->put_cite(This,v)
#define IHTMLBlockElement3_get_cite(This,p) (This)->lpVtbl->get_cite(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBlockElement3_QueryInterface(IHTMLBlockElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBlockElement3_AddRef(IHTMLBlockElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBlockElement3_Release(IHTMLBlockElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBlockElement3_GetTypeInfoCount(IHTMLBlockElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBlockElement3_GetTypeInfo(IHTMLBlockElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBlockElement3_GetIDsOfNames(IHTMLBlockElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBlockElement3_Invoke(IHTMLBlockElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBlockElement3 methods ***/
static inline HRESULT IHTMLBlockElement3_put_cite(IHTMLBlockElement3* This,BSTR v) {
    return This->lpVtbl->put_cite(This,v);
}
static inline HRESULT IHTMLBlockElement3_get_cite(IHTMLBlockElement3* This,BSTR *p) {
    return This->lpVtbl->get_cite(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBlockElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLBlockElement dispinterface
 */
#ifndef __DispHTMLBlockElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBlockElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLBlockElement, 0x3050f506, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f506-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLBlockElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLBlockElement, 0x3050f506, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLBlockElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLBlockElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLBlockElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLBlockElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLBlockElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLBlockElementVtbl;

interface DispHTMLBlockElement {
    CONST_VTBL DispHTMLBlockElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLBlockElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLBlockElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLBlockElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLBlockElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLBlockElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLBlockElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLBlockElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLBlockElement_QueryInterface(DispHTMLBlockElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLBlockElement_AddRef(DispHTMLBlockElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLBlockElement_Release(DispHTMLBlockElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLBlockElement_GetTypeInfoCount(DispHTMLBlockElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLBlockElement_GetTypeInfo(DispHTMLBlockElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLBlockElement_GetIDsOfNames(DispHTMLBlockElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLBlockElement_Invoke(DispHTMLBlockElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLBlockElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLBlockElement coclass
 */

DEFINE_GUID(CLSID_HTMLBlockElement, 0x3050f281, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f281-98b5-11cf-bb82-00aa00bdce0b") HTMLBlockElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLBlockElement, 0x3050f281, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CBlockElement;
/*****************************************************************************
 * IHTMLDivElement interface
 */
#ifndef __IHTMLDivElement_INTERFACE_DEFINED__
#define __IHTMLDivElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDivElement, 0x3050f200, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f200-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDivElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_noWrap(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noWrap(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDivElement, 0x3050f200, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDivElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDivElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDivElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDivElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDivElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDivElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLDivElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLDivElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_noWrap)(
        IHTMLDivElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noWrap)(
        IHTMLDivElement *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLDivElementVtbl;

interface IHTMLDivElement {
    CONST_VTBL IHTMLDivElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDivElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDivElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDivElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDivElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDivElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDivElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDivElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDivElement methods ***/
#define IHTMLDivElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLDivElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLDivElement_put_noWrap(This,v) (This)->lpVtbl->put_noWrap(This,v)
#define IHTMLDivElement_get_noWrap(This,p) (This)->lpVtbl->get_noWrap(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDivElement_QueryInterface(IHTMLDivElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDivElement_AddRef(IHTMLDivElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDivElement_Release(IHTMLDivElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDivElement_GetTypeInfoCount(IHTMLDivElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDivElement_GetTypeInfo(IHTMLDivElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDivElement_GetIDsOfNames(IHTMLDivElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDivElement_Invoke(IHTMLDivElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDivElement methods ***/
static inline HRESULT IHTMLDivElement_put_align(IHTMLDivElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLDivElement_get_align(IHTMLDivElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLDivElement_put_noWrap(IHTMLDivElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static inline HRESULT IHTMLDivElement_get_noWrap(IHTMLDivElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noWrap(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDivElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDivElement dispinterface
 */
#ifndef __DispHTMLDivElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDivElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDivElement, 0x3050f50c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f50c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDivElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDivElement, 0x3050f50c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDivElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDivElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDivElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDivElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDivElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDivElementVtbl;

interface DispHTMLDivElement {
    CONST_VTBL DispHTMLDivElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDivElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDivElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDivElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDivElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDivElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDivElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDivElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDivElement_QueryInterface(DispHTMLDivElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDivElement_AddRef(DispHTMLDivElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDivElement_Release(DispHTMLDivElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDivElement_GetTypeInfoCount(DispHTMLDivElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDivElement_GetTypeInfo(DispHTMLDivElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDivElement_GetIDsOfNames(DispHTMLDivElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDivElement_Invoke(DispHTMLDivElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDivElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDivElement coclass
 */

DEFINE_GUID(CLSID_HTMLDivElement, 0x3050f27e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f27e-98b5-11cf-bb82-00aa00bdce0b") HTMLDivElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDivElement, 0x3050f27e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDivElement;
/*****************************************************************************
 * IHTMLDDElement interface
 */
#ifndef __IHTMLDDElement_INTERFACE_DEFINED__
#define __IHTMLDDElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDDElement, 0x3050f1f2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDDElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_noWrap(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noWrap(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDDElement, 0x3050f1f2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDDElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDDElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDDElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDDElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDDElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDDElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_noWrap)(
        IHTMLDDElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noWrap)(
        IHTMLDDElement *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLDDElementVtbl;

interface IHTMLDDElement {
    CONST_VTBL IHTMLDDElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDDElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDDElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDDElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDDElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDDElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDDElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDDElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDDElement methods ***/
#define IHTMLDDElement_put_noWrap(This,v) (This)->lpVtbl->put_noWrap(This,v)
#define IHTMLDDElement_get_noWrap(This,p) (This)->lpVtbl->get_noWrap(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDDElement_QueryInterface(IHTMLDDElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDDElement_AddRef(IHTMLDDElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDDElement_Release(IHTMLDDElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDDElement_GetTypeInfoCount(IHTMLDDElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDDElement_GetTypeInfo(IHTMLDDElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDDElement_GetIDsOfNames(IHTMLDDElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDDElement_Invoke(IHTMLDDElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDDElement methods ***/
static inline HRESULT IHTMLDDElement_put_noWrap(IHTMLDDElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static inline HRESULT IHTMLDDElement_get_noWrap(IHTMLDDElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noWrap(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDDElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDDElement dispinterface
 */
#ifndef __DispHTMLDDElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDDElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDDElement, 0x3050f50b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f50b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDDElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDDElement, 0x3050f50b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDDElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDDElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDDElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDDElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDDElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDDElementVtbl;

interface DispHTMLDDElement {
    CONST_VTBL DispHTMLDDElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDDElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDDElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDDElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDDElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDDElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDDElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDDElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDDElement_QueryInterface(DispHTMLDDElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDDElement_AddRef(DispHTMLDDElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDDElement_Release(DispHTMLDDElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDDElement_GetTypeInfoCount(DispHTMLDDElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDDElement_GetTypeInfo(DispHTMLDDElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDDElement_GetIDsOfNames(DispHTMLDDElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDDElement_Invoke(DispHTMLDDElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDDElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDDElement coclass
 */

DEFINE_GUID(CLSID_HTMLDDElement, 0x3050f27f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f27f-98b5-11cf-bb82-00aa00bdce0b") HTMLDDElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDDElement, 0x3050f27f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDDElement;
/*****************************************************************************
 * IHTMLDTElement interface
 */
#ifndef __IHTMLDTElement_INTERFACE_DEFINED__
#define __IHTMLDTElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDTElement, 0x3050f1f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDTElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_noWrap(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noWrap(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDTElement, 0x3050f1f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDTElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDTElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDTElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDTElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDTElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDTElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_noWrap)(
        IHTMLDTElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noWrap)(
        IHTMLDTElement *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLDTElementVtbl;

interface IHTMLDTElement {
    CONST_VTBL IHTMLDTElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDTElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDTElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDTElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDTElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDTElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDTElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDTElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDTElement methods ***/
#define IHTMLDTElement_put_noWrap(This,v) (This)->lpVtbl->put_noWrap(This,v)
#define IHTMLDTElement_get_noWrap(This,p) (This)->lpVtbl->get_noWrap(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDTElement_QueryInterface(IHTMLDTElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDTElement_AddRef(IHTMLDTElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDTElement_Release(IHTMLDTElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDTElement_GetTypeInfoCount(IHTMLDTElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDTElement_GetTypeInfo(IHTMLDTElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDTElement_GetIDsOfNames(IHTMLDTElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDTElement_Invoke(IHTMLDTElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDTElement methods ***/
static inline HRESULT IHTMLDTElement_put_noWrap(IHTMLDTElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static inline HRESULT IHTMLDTElement_get_noWrap(IHTMLDTElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noWrap(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDTElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDTElement dispinterface
 */
#ifndef __DispHTMLDTElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDTElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDTElement, 0x3050f50d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f50d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDTElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDTElement, 0x3050f50d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDTElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDTElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDTElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDTElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDTElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDTElementVtbl;

interface DispHTMLDTElement {
    CONST_VTBL DispHTMLDTElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDTElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDTElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDTElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDTElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDTElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDTElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDTElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDTElement_QueryInterface(DispHTMLDTElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDTElement_AddRef(DispHTMLDTElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDTElement_Release(DispHTMLDTElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDTElement_GetTypeInfoCount(DispHTMLDTElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDTElement_GetTypeInfo(DispHTMLDTElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDTElement_GetIDsOfNames(DispHTMLDTElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDTElement_Invoke(DispHTMLDTElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDTElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDTElement coclass
 */

DEFINE_GUID(CLSID_HTMLDTElement, 0x3050f27c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f27c-98b5-11cf-bb82-00aa00bdce0b") HTMLDTElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDTElement, 0x3050f27c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDTElement;
/*****************************************************************************
 * IHTMLBRElement interface
 */
#ifndef __IHTMLBRElement_INTERFACE_DEFINED__
#define __IHTMLBRElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBRElement, 0x3050f1f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBRElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_clear(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clear(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBRElement, 0x3050f1f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBRElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBRElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBRElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBRElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBRElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBRElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_clear)(
        IHTMLBRElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_clear)(
        IHTMLBRElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLBRElementVtbl;

interface IHTMLBRElement {
    CONST_VTBL IHTMLBRElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBRElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBRElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBRElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBRElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBRElement methods ***/
#define IHTMLBRElement_put_clear(This,v) (This)->lpVtbl->put_clear(This,v)
#define IHTMLBRElement_get_clear(This,p) (This)->lpVtbl->get_clear(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBRElement_QueryInterface(IHTMLBRElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBRElement_AddRef(IHTMLBRElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBRElement_Release(IHTMLBRElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBRElement_GetTypeInfoCount(IHTMLBRElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBRElement_GetTypeInfo(IHTMLBRElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBRElement_GetIDsOfNames(IHTMLBRElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBRElement_Invoke(IHTMLBRElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBRElement methods ***/
static inline HRESULT IHTMLBRElement_put_clear(IHTMLBRElement* This,BSTR v) {
    return This->lpVtbl->put_clear(This,v);
}
static inline HRESULT IHTMLBRElement_get_clear(IHTMLBRElement* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBRElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLBRElement dispinterface
 */
#ifndef __DispHTMLBRElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBRElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLBRElement, 0x3050f53a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f53a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLBRElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLBRElement, 0x3050f53a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLBRElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLBRElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLBRElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLBRElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLBRElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLBRElementVtbl;

interface DispHTMLBRElement {
    CONST_VTBL DispHTMLBRElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLBRElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLBRElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLBRElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLBRElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLBRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLBRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLBRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLBRElement_QueryInterface(DispHTMLBRElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLBRElement_AddRef(DispHTMLBRElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLBRElement_Release(DispHTMLBRElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLBRElement_GetTypeInfoCount(DispHTMLBRElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLBRElement_GetTypeInfo(DispHTMLBRElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLBRElement_GetIDsOfNames(DispHTMLBRElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLBRElement_Invoke(DispHTMLBRElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLBRElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLBRElement coclass
 */

DEFINE_GUID(CLSID_HTMLBRElement, 0x3050f280, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f280-98b5-11cf-bb82-00aa00bdce0b") HTMLBRElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLBRElement, 0x3050f280, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CBRElement;
/*****************************************************************************
 * IHTMLDListElement interface
 */
#ifndef __IHTMLDListElement_INTERFACE_DEFINED__
#define __IHTMLDListElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDListElement, 0x3050f1f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDListElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_compact(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_compact(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDListElement, 0x3050f1f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDListElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_compact)(
        IHTMLDListElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_compact)(
        IHTMLDListElement *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLDListElementVtbl;

interface IHTMLDListElement {
    CONST_VTBL IHTMLDListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDListElement methods ***/
#define IHTMLDListElement_put_compact(This,v) (This)->lpVtbl->put_compact(This,v)
#define IHTMLDListElement_get_compact(This,p) (This)->lpVtbl->get_compact(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDListElement_QueryInterface(IHTMLDListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDListElement_AddRef(IHTMLDListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDListElement_Release(IHTMLDListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDListElement_GetTypeInfoCount(IHTMLDListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDListElement_GetTypeInfo(IHTMLDListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDListElement_GetIDsOfNames(IHTMLDListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDListElement_Invoke(IHTMLDListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDListElement methods ***/
static inline HRESULT IHTMLDListElement_put_compact(IHTMLDListElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_compact(This,v);
}
static inline HRESULT IHTMLDListElement_get_compact(IHTMLDListElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_compact(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDListElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDListElement dispinterface
 */
#ifndef __DispHTMLDListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDListElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDListElement, 0x3050f53b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f53b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDListElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDListElement, 0x3050f53b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDListElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDListElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDListElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDListElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDListElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDListElementVtbl;

interface DispHTMLDListElement {
    CONST_VTBL DispHTMLDListElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDListElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDListElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDListElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDListElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDListElement_QueryInterface(DispHTMLDListElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDListElement_AddRef(DispHTMLDListElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDListElement_Release(DispHTMLDListElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDListElement_GetTypeInfoCount(DispHTMLDListElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDListElement_GetTypeInfo(DispHTMLDListElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDListElement_GetIDsOfNames(DispHTMLDListElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDListElement_Invoke(DispHTMLDListElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDListElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDListElement coclass
 */

DEFINE_GUID(CLSID_HTMLDListElement, 0x3050f27d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f27d-98b5-11cf-bb82-00aa00bdce0b") HTMLDListElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDListElement, 0x3050f27d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDListElement;
/*****************************************************************************
 * IHTMLHRElement interface
 */
#ifndef __IHTMLHRElement_INTERFACE_DEFINED__
#define __IHTMLHRElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLHRElement, 0x3050f1f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLHRElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_color(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_noShade(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noShade(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_size(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLHRElement, 0x3050f1f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLHRElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLHRElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLHRElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLHRElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLHRElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLHRElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLHRElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLHRElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_color)(
        IHTMLHRElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IHTMLHRElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_noShade)(
        IHTMLHRElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noShade)(
        IHTMLHRElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLHRElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLHRElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_size)(
        IHTMLHRElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IHTMLHRElement *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLHRElementVtbl;

interface IHTMLHRElement {
    CONST_VTBL IHTMLHRElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLHRElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLHRElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLHRElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLHRElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLHRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLHRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLHRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLHRElement methods ***/
#define IHTMLHRElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLHRElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLHRElement_put_color(This,v) (This)->lpVtbl->put_color(This,v)
#define IHTMLHRElement_get_color(This,p) (This)->lpVtbl->get_color(This,p)
#define IHTMLHRElement_put_noShade(This,v) (This)->lpVtbl->put_noShade(This,v)
#define IHTMLHRElement_get_noShade(This,p) (This)->lpVtbl->get_noShade(This,p)
#define IHTMLHRElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLHRElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLHRElement_put_size(This,v) (This)->lpVtbl->put_size(This,v)
#define IHTMLHRElement_get_size(This,p) (This)->lpVtbl->get_size(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLHRElement_QueryInterface(IHTMLHRElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLHRElement_AddRef(IHTMLHRElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLHRElement_Release(IHTMLHRElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLHRElement_GetTypeInfoCount(IHTMLHRElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLHRElement_GetTypeInfo(IHTMLHRElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLHRElement_GetIDsOfNames(IHTMLHRElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLHRElement_Invoke(IHTMLHRElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLHRElement methods ***/
static inline HRESULT IHTMLHRElement_put_align(IHTMLHRElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLHRElement_get_align(IHTMLHRElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLHRElement_put_color(IHTMLHRElement* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static inline HRESULT IHTMLHRElement_get_color(IHTMLHRElement* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static inline HRESULT IHTMLHRElement_put_noShade(IHTMLHRElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noShade(This,v);
}
static inline HRESULT IHTMLHRElement_get_noShade(IHTMLHRElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noShade(This,p);
}
static inline HRESULT IHTMLHRElement_put_width(IHTMLHRElement* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLHRElement_get_width(IHTMLHRElement* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLHRElement_put_size(IHTMLHRElement* This,VARIANT v) {
    return This->lpVtbl->put_size(This,v);
}
static inline HRESULT IHTMLHRElement_get_size(IHTMLHRElement* This,VARIANT *p) {
    return This->lpVtbl->get_size(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLHRElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLHRElement dispinterface
 */
#ifndef __DispHTMLHRElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHRElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLHRElement, 0x3050f53d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f53d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLHRElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLHRElement, 0x3050f53d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLHRElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLHRElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLHRElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLHRElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLHRElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLHRElementVtbl;

interface DispHTMLHRElement {
    CONST_VTBL DispHTMLHRElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLHRElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLHRElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLHRElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLHRElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLHRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLHRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLHRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLHRElement_QueryInterface(DispHTMLHRElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLHRElement_AddRef(DispHTMLHRElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLHRElement_Release(DispHTMLHRElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLHRElement_GetTypeInfoCount(DispHTMLHRElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLHRElement_GetTypeInfo(DispHTMLHRElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLHRElement_GetIDsOfNames(DispHTMLHRElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLHRElement_Invoke(DispHTMLHRElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLHRElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLHRElement coclass
 */

DEFINE_GUID(CLSID_HTMLHRElement, 0x3050f252, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f252-98b5-11cf-bb82-00aa00bdce0b") HTMLHRElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLHRElement, 0x3050f252, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHRElement;
/*****************************************************************************
 * IHTMLParaElement interface
 */
#ifndef __IHTMLParaElement_INTERFACE_DEFINED__
#define __IHTMLParaElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLParaElement, 0x3050f1f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLParaElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLParaElement, 0x3050f1f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLParaElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLParaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLParaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLParaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLParaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLParaElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLParaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLParaElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLParaElementVtbl;

interface IHTMLParaElement {
    CONST_VTBL IHTMLParaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLParaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLParaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLParaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLParaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLParaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLParaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLParaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLParaElement methods ***/
#define IHTMLParaElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLParaElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLParaElement_QueryInterface(IHTMLParaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLParaElement_AddRef(IHTMLParaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLParaElement_Release(IHTMLParaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLParaElement_GetTypeInfoCount(IHTMLParaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLParaElement_GetTypeInfo(IHTMLParaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLParaElement_GetIDsOfNames(IHTMLParaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLParaElement_Invoke(IHTMLParaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLParaElement methods ***/
static inline HRESULT IHTMLParaElement_put_align(IHTMLParaElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLParaElement_get_align(IHTMLParaElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLParaElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLParaElement dispinterface
 */
#ifndef __DispHTMLParaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLParaElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLParaElement, 0x3050f52c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f52c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLParaElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLParaElement, 0x3050f52c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLParaElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLParaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLParaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLParaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLParaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLParaElementVtbl;

interface DispHTMLParaElement {
    CONST_VTBL DispHTMLParaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLParaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLParaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLParaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLParaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLParaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLParaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLParaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLParaElement_QueryInterface(DispHTMLParaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLParaElement_AddRef(DispHTMLParaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLParaElement_Release(DispHTMLParaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLParaElement_GetTypeInfoCount(DispHTMLParaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLParaElement_GetTypeInfo(DispHTMLParaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLParaElement_GetIDsOfNames(DispHTMLParaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLParaElement_Invoke(DispHTMLParaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLParaElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLParaElement coclass
 */

DEFINE_GUID(CLSID_HTMLParaElement, 0x3050f26f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f26f-98b5-11cf-bb82-00aa00bdce0b") HTMLParaElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLParaElement, 0x3050f26f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CParaElement;
/*****************************************************************************
 * IHTMLElementCollection interface
 */
#ifndef __IHTMLElementCollection_INTERFACE_DEFINED__
#define __IHTMLElementCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElementCollection, 0x3050f21f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f21f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElementCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *String) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_length(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE tags(
        VARIANT tagName,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElementCollection, 0x3050f21f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElementCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElementCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElementCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElementCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElementCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLElementCollection *This,
        BSTR *String);

    HRESULT (STDMETHODCALLTYPE *put_length)(
        IHTMLElementCollection *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLElementCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLElementCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLElementCollection *This,
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp);

    HRESULT (STDMETHODCALLTYPE *tags)(
        IHTMLElementCollection *This,
        VARIANT tagName,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLElementCollectionVtbl;

interface IHTMLElementCollection {
    CONST_VTBL IHTMLElementCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElementCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElementCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElementCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElementCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElementCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElementCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElementCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElementCollection methods ***/
#define IHTMLElementCollection_toString(This,String) (This)->lpVtbl->toString(This,String)
#define IHTMLElementCollection_put_length(This,v) (This)->lpVtbl->put_length(This,v)
#define IHTMLElementCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLElementCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLElementCollection_item(This,name,index,pdisp) (This)->lpVtbl->item(This,name,index,pdisp)
#define IHTMLElementCollection_tags(This,tagName,pdisp) (This)->lpVtbl->tags(This,tagName,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElementCollection_QueryInterface(IHTMLElementCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElementCollection_AddRef(IHTMLElementCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElementCollection_Release(IHTMLElementCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElementCollection_GetTypeInfoCount(IHTMLElementCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElementCollection_GetTypeInfo(IHTMLElementCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElementCollection_GetIDsOfNames(IHTMLElementCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElementCollection_Invoke(IHTMLElementCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElementCollection methods ***/
static inline HRESULT IHTMLElementCollection_toString(IHTMLElementCollection* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static inline HRESULT IHTMLElementCollection_put_length(IHTMLElementCollection* This,LONG v) {
    return This->lpVtbl->put_length(This,v);
}
static inline HRESULT IHTMLElementCollection_get_length(IHTMLElementCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLElementCollection_get__newEnum(IHTMLElementCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLElementCollection_item(IHTMLElementCollection* This,VARIANT name,VARIANT index,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,index,pdisp);
}
static inline HRESULT IHTMLElementCollection_tags(IHTMLElementCollection* This,VARIANT tagName,IDispatch **pdisp) {
    return This->lpVtbl->tags(This,tagName,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElementCollection2 interface
 */
#ifndef __IHTMLElementCollection2_INTERFACE_DEFINED__
#define __IHTMLElementCollection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElementCollection2, 0x3050f5ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5ee-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElementCollection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE urns(
        VARIANT urn,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElementCollection2, 0x3050f5ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementCollection2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElementCollection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElementCollection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElementCollection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElementCollection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElementCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *urns)(
        IHTMLElementCollection2 *This,
        VARIANT urn,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLElementCollection2Vtbl;

interface IHTMLElementCollection2 {
    CONST_VTBL IHTMLElementCollection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElementCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElementCollection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElementCollection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElementCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElementCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElementCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElementCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElementCollection2 methods ***/
#define IHTMLElementCollection2_urns(This,urn,pdisp) (This)->lpVtbl->urns(This,urn,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElementCollection2_QueryInterface(IHTMLElementCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElementCollection2_AddRef(IHTMLElementCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElementCollection2_Release(IHTMLElementCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElementCollection2_GetTypeInfoCount(IHTMLElementCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElementCollection2_GetTypeInfo(IHTMLElementCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElementCollection2_GetIDsOfNames(IHTMLElementCollection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElementCollection2_Invoke(IHTMLElementCollection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElementCollection2 methods ***/
static inline HRESULT IHTMLElementCollection2_urns(IHTMLElementCollection2* This,VARIANT urn,IDispatch **pdisp) {
    return This->lpVtbl->urns(This,urn,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementCollection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElementCollection3 interface
 */
#ifndef __IHTMLElementCollection3_INTERFACE_DEFINED__
#define __IHTMLElementCollection3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElementCollection3, 0x3050f835, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f835-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElementCollection3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE namedItem(
        BSTR name,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElementCollection3, 0x3050f835, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementCollection3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElementCollection3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElementCollection3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElementCollection3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElementCollection3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElementCollection3 methods ***/
    HRESULT (STDMETHODCALLTYPE *namedItem)(
        IHTMLElementCollection3 *This,
        BSTR name,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLElementCollection3Vtbl;

interface IHTMLElementCollection3 {
    CONST_VTBL IHTMLElementCollection3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElementCollection3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElementCollection3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElementCollection3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElementCollection3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElementCollection3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElementCollection3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElementCollection3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElementCollection3 methods ***/
#define IHTMLElementCollection3_namedItem(This,name,pdisp) (This)->lpVtbl->namedItem(This,name,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElementCollection3_QueryInterface(IHTMLElementCollection3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElementCollection3_AddRef(IHTMLElementCollection3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElementCollection3_Release(IHTMLElementCollection3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElementCollection3_GetTypeInfoCount(IHTMLElementCollection3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElementCollection3_GetTypeInfo(IHTMLElementCollection3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElementCollection3_GetIDsOfNames(IHTMLElementCollection3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElementCollection3_Invoke(IHTMLElementCollection3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElementCollection3 methods ***/
static inline HRESULT IHTMLElementCollection3_namedItem(IHTMLElementCollection3* This,BSTR name,IDispatch **pdisp) {
    return This->lpVtbl->namedItem(This,name,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementCollection3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLElementCollection4 interface
 */
#ifndef __IHTMLElementCollection4_INTERFACE_DEFINED__
#define __IHTMLElementCollection4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLElementCollection4, 0x30510425, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510425-98b5-11cf-bb82-00aa00bdce0b")
IHTMLElementCollection4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLElement2 **pNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE namedItem(
        BSTR name,
        IHTMLElement2 **pNode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLElementCollection4, 0x30510425, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLElementCollection4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLElementCollection4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLElementCollection4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLElementCollection4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLElementCollection4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLElementCollection4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLElementCollection4 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLElementCollection4 *This,
        LONG index,
        IHTMLElement2 **pNode);

    HRESULT (STDMETHODCALLTYPE *namedItem)(
        IHTMLElementCollection4 *This,
        BSTR name,
        IHTMLElement2 **pNode);

    END_INTERFACE
} IHTMLElementCollection4Vtbl;

interface IHTMLElementCollection4 {
    CONST_VTBL IHTMLElementCollection4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLElementCollection4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLElementCollection4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLElementCollection4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLElementCollection4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLElementCollection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLElementCollection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLElementCollection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLElementCollection4 methods ***/
#define IHTMLElementCollection4_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLElementCollection4_item(This,index,pNode) (This)->lpVtbl->item(This,index,pNode)
#define IHTMLElementCollection4_namedItem(This,name,pNode) (This)->lpVtbl->namedItem(This,name,pNode)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLElementCollection4_QueryInterface(IHTMLElementCollection4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLElementCollection4_AddRef(IHTMLElementCollection4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLElementCollection4_Release(IHTMLElementCollection4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLElementCollection4_GetTypeInfoCount(IHTMLElementCollection4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLElementCollection4_GetTypeInfo(IHTMLElementCollection4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLElementCollection4_GetIDsOfNames(IHTMLElementCollection4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLElementCollection4_Invoke(IHTMLElementCollection4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLElementCollection4 methods ***/
static inline HRESULT IHTMLElementCollection4_get_length(IHTMLElementCollection4* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLElementCollection4_item(IHTMLElementCollection4* This,LONG index,IHTMLElement2 **pNode) {
    return This->lpVtbl->item(This,index,pNode);
}
static inline HRESULT IHTMLElementCollection4_namedItem(IHTMLElementCollection4* This,BSTR name,IHTMLElement2 **pNode) {
    return This->lpVtbl->namedItem(This,name,pNode);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementCollection4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLElementCollection dispinterface
 */
#ifndef __DispHTMLElementCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLElementCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLElementCollection, 0x3050f56b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f56b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLElementCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLElementCollection, 0x3050f56b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLElementCollectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLElementCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLElementCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLElementCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLElementCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLElementCollectionVtbl;

interface DispHTMLElementCollection {
    CONST_VTBL DispHTMLElementCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLElementCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLElementCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLElementCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLElementCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLElementCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLElementCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLElementCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLElementCollection_QueryInterface(DispHTMLElementCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLElementCollection_AddRef(DispHTMLElementCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLElementCollection_Release(DispHTMLElementCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLElementCollection_GetTypeInfoCount(DispHTMLElementCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLElementCollection_GetTypeInfo(DispHTMLElementCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLElementCollection_GetIDsOfNames(DispHTMLElementCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLElementCollection_Invoke(DispHTMLElementCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLElementCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLElementCollection coclass
 */

DEFINE_GUID(CLSID_HTMLElementCollection, 0x3050f4cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4cb-98b5-11cf-bb82-00aa00bdce0b") HTMLElementCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLElementCollection, 0x3050f4cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CElementCollection;
/*****************************************************************************
 * IHTMLHeaderElement interface
 */
#ifndef __IHTMLHeaderElement_INTERFACE_DEFINED__
#define __IHTMLHeaderElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLHeaderElement, 0x3050f1f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f1f6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLHeaderElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLHeaderElement, 0x3050f1f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLHeaderElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLHeaderElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLHeaderElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLHeaderElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLHeaderElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLHeaderElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLHeaderElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLHeaderElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLHeaderElementVtbl;

interface IHTMLHeaderElement {
    CONST_VTBL IHTMLHeaderElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLHeaderElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLHeaderElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLHeaderElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLHeaderElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLHeaderElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLHeaderElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLHeaderElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLHeaderElement methods ***/
#define IHTMLHeaderElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLHeaderElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLHeaderElement_QueryInterface(IHTMLHeaderElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLHeaderElement_AddRef(IHTMLHeaderElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLHeaderElement_Release(IHTMLHeaderElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLHeaderElement_GetTypeInfoCount(IHTMLHeaderElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLHeaderElement_GetTypeInfo(IHTMLHeaderElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLHeaderElement_GetIDsOfNames(IHTMLHeaderElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLHeaderElement_Invoke(IHTMLHeaderElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLHeaderElement methods ***/
static inline HRESULT IHTMLHeaderElement_put_align(IHTMLHeaderElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLHeaderElement_get_align(IHTMLHeaderElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLHeaderElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLHeaderElement dispinterface
 */
#ifndef __DispHTMLHeaderElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHeaderElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLHeaderElement, 0x3050f515, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f515-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLHeaderElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLHeaderElement, 0x3050f515, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLHeaderElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLHeaderElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLHeaderElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLHeaderElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLHeaderElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLHeaderElementVtbl;

interface DispHTMLHeaderElement {
    CONST_VTBL DispHTMLHeaderElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLHeaderElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLHeaderElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLHeaderElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLHeaderElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLHeaderElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLHeaderElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLHeaderElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLHeaderElement_QueryInterface(DispHTMLHeaderElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLHeaderElement_AddRef(DispHTMLHeaderElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLHeaderElement_Release(DispHTMLHeaderElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLHeaderElement_GetTypeInfoCount(DispHTMLHeaderElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLHeaderElement_GetTypeInfo(DispHTMLHeaderElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLHeaderElement_GetIDsOfNames(DispHTMLHeaderElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLHeaderElement_Invoke(DispHTMLHeaderElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLHeaderElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLHeaderElement coclass
 */

DEFINE_GUID(CLSID_HTMLHeaderElement, 0x3050f27a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f27a-98b5-11cf-bb82-00aa00bdce0b") HTMLHeaderElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLHeaderElement, 0x3050f27a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHeaderElement;
/*****************************************************************************
 * HTMLSelectElementEvents2 dispinterface
 */
#ifndef __HTMLSelectElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLSelectElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLSelectElementEvents2, 0x3050f622, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f622-98b5-11cf-bb82-00aa00bdce0b")
HTMLSelectElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLSelectElementEvents2, 0x3050f622, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLSelectElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLSelectElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLSelectElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLSelectElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLSelectElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLSelectElementEvents2Vtbl;

interface HTMLSelectElementEvents2 {
    CONST_VTBL HTMLSelectElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLSelectElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLSelectElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLSelectElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLSelectElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLSelectElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLSelectElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLSelectElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLSelectElementEvents2_QueryInterface(HTMLSelectElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLSelectElementEvents2_AddRef(HTMLSelectElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLSelectElementEvents2_Release(HTMLSelectElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLSelectElementEvents2_GetTypeInfoCount(HTMLSelectElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLSelectElementEvents2_GetTypeInfo(HTMLSelectElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLSelectElementEvents2_GetIDsOfNames(HTMLSelectElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLSelectElementEvents2_Invoke(HTMLSelectElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLSelectElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLSelectElementEvents dispinterface
 */
#ifndef __HTMLSelectElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLSelectElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLSelectElementEvents, 0x3050f302, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f302-98b5-11cf-bb82-00aa00bdce0b")
HTMLSelectElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLSelectElementEvents, 0x3050f302, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLSelectElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLSelectElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLSelectElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLSelectElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLSelectElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLSelectElementEventsVtbl;

interface HTMLSelectElementEvents {
    CONST_VTBL HTMLSelectElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLSelectElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLSelectElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLSelectElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLSelectElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLSelectElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLSelectElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLSelectElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLSelectElementEvents_QueryInterface(HTMLSelectElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLSelectElementEvents_AddRef(HTMLSelectElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLSelectElementEvents_Release(HTMLSelectElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLSelectElementEvents_GetTypeInfoCount(HTMLSelectElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLSelectElementEvents_GetTypeInfo(HTMLSelectElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLSelectElementEvents_GetIDsOfNames(HTMLSelectElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLSelectElementEvents_Invoke(HTMLSelectElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLSelectElementEvents_DISPINTERFACE_DEFINED__ */

typedef enum _htmlSelectType {
    htmlSelectTypeSelectOne = 1,
    htmlSelectTypeSelectMultiple = 2,
    htmlSelectType_Max = 0x7fffffff
} htmlSelectType;
typedef enum _htmlSelectExFlag {
    htmlSelectExFlagNone = 0,
    htmlSelectExFlagHideSelectionInDesign = 0x1,
    htmlSelectExFlag_Max = 0x7fffffff
} htmlSelectExFlag;
#ifndef __IHTMLOptionElement_FWD_DEFINED__
#define __IHTMLOptionElement_FWD_DEFINED__
typedef interface IHTMLOptionElement IHTMLOptionElement;
#ifdef __cplusplus
interface IHTMLOptionElement;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLSelectElementEx interface
 */
#ifndef __IHTMLSelectElementEx_INTERFACE_DEFINED__
#define __IHTMLSelectElementEx_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectElementEx, 0x3050f2d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2d1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectElementEx : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE ShowDropdown(
        WINBOOL fShow) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetSelectExFlags(
        DWORD lFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSelectExFlags(
        DWORD *pFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDropdownOpen(
        WINBOOL *pfOpen) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectElementEx, 0x3050f2d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectElementExVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IHTMLSelectElementEx methods ***/
    HRESULT (STDMETHODCALLTYPE *ShowDropdown)(
        IHTMLSelectElementEx *This,
        WINBOOL fShow);

    HRESULT (STDMETHODCALLTYPE *SetSelectExFlags)(
        IHTMLSelectElementEx *This,
        DWORD lFlags);

    HRESULT (STDMETHODCALLTYPE *GetSelectExFlags)(
        IHTMLSelectElementEx *This,
        DWORD *pFlags);

    HRESULT (STDMETHODCALLTYPE *GetDropdownOpen)(
        IHTMLSelectElementEx *This,
        WINBOOL *pfOpen);

    END_INTERFACE
} IHTMLSelectElementExVtbl;

interface IHTMLSelectElementEx {
    CONST_VTBL IHTMLSelectElementExVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectElementEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectElementEx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectElementEx_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLSelectElementEx methods ***/
#define IHTMLSelectElementEx_ShowDropdown(This,fShow) (This)->lpVtbl->ShowDropdown(This,fShow)
#define IHTMLSelectElementEx_SetSelectExFlags(This,lFlags) (This)->lpVtbl->SetSelectExFlags(This,lFlags)
#define IHTMLSelectElementEx_GetSelectExFlags(This,pFlags) (This)->lpVtbl->GetSelectExFlags(This,pFlags)
#define IHTMLSelectElementEx_GetDropdownOpen(This,pfOpen) (This)->lpVtbl->GetDropdownOpen(This,pfOpen)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectElementEx_QueryInterface(IHTMLSelectElementEx* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectElementEx_AddRef(IHTMLSelectElementEx* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectElementEx_Release(IHTMLSelectElementEx* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLSelectElementEx methods ***/
static inline HRESULT IHTMLSelectElementEx_ShowDropdown(IHTMLSelectElementEx* This,WINBOOL fShow) {
    return This->lpVtbl->ShowDropdown(This,fShow);
}
static inline HRESULT IHTMLSelectElementEx_SetSelectExFlags(IHTMLSelectElementEx* This,DWORD lFlags) {
    return This->lpVtbl->SetSelectExFlags(This,lFlags);
}
static inline HRESULT IHTMLSelectElementEx_GetSelectExFlags(IHTMLSelectElementEx* This,DWORD *pFlags) {
    return This->lpVtbl->GetSelectExFlags(This,pFlags);
}
static inline HRESULT IHTMLSelectElementEx_GetDropdownOpen(IHTMLSelectElementEx* This,WINBOOL *pfOpen) {
    return This->lpVtbl->GetDropdownOpen(This,pfOpen);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectElementEx_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSelectElement interface
 */
#ifndef __IHTMLSelectElement_INTERFACE_DEFINED__
#define __IHTMLSelectElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectElement, 0x3050f244, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f244-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_size(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_multiple(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_multiple(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_options(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_selectedIndex(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectedIndex(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE add(
        IHTMLElement *element,
        VARIANT before) = 0;

    virtual HRESULT STDMETHODCALLTYPE remove(
        LONG index = -1) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_length(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE tags(
        VARIANT tagName,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectElement, 0x3050f244, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelectElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelectElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelectElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelectElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelectElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_size)(
        IHTMLSelectElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IHTMLSelectElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_multiple)(
        IHTMLSelectElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_multiple)(
        IHTMLSelectElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLSelectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLSelectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_options)(
        IHTMLSelectElement *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLSelectElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLSelectElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_selectedIndex)(
        IHTMLSelectElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_selectedIndex)(
        IHTMLSelectElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLSelectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLSelectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLSelectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLSelectElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLSelectElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLSelectElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *add)(
        IHTMLSelectElement *This,
        IHTMLElement *element,
        VARIANT before);

    HRESULT (STDMETHODCALLTYPE *remove)(
        IHTMLSelectElement *This,
        LONG index);

    HRESULT (STDMETHODCALLTYPE *put_length)(
        IHTMLSelectElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLSelectElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLSelectElement *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLSelectElement *This,
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp);

    HRESULT (STDMETHODCALLTYPE *tags)(
        IHTMLSelectElement *This,
        VARIANT tagName,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLSelectElementVtbl;

interface IHTMLSelectElement {
    CONST_VTBL IHTMLSelectElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelectElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelectElement methods ***/
#define IHTMLSelectElement_put_size(This,v) (This)->lpVtbl->put_size(This,v)
#define IHTMLSelectElement_get_size(This,p) (This)->lpVtbl->get_size(This,p)
#define IHTMLSelectElement_put_multiple(This,v) (This)->lpVtbl->put_multiple(This,v)
#define IHTMLSelectElement_get_multiple(This,p) (This)->lpVtbl->get_multiple(This,p)
#define IHTMLSelectElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLSelectElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLSelectElement_get_options(This,p) (This)->lpVtbl->get_options(This,p)
#define IHTMLSelectElement_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLSelectElement_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLSelectElement_put_selectedIndex(This,v) (This)->lpVtbl->put_selectedIndex(This,v)
#define IHTMLSelectElement_get_selectedIndex(This,p) (This)->lpVtbl->get_selectedIndex(This,p)
#define IHTMLSelectElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLSelectElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLSelectElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLSelectElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLSelectElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLSelectElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLSelectElement_add(This,element,before) (This)->lpVtbl->add(This,element,before)
#define IHTMLSelectElement_remove(This,index) (This)->lpVtbl->remove(This,index)
#define IHTMLSelectElement_put_length(This,v) (This)->lpVtbl->put_length(This,v)
#define IHTMLSelectElement_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLSelectElement_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLSelectElement_item(This,name,index,pdisp) (This)->lpVtbl->item(This,name,index,pdisp)
#define IHTMLSelectElement_tags(This,tagName,pdisp) (This)->lpVtbl->tags(This,tagName,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectElement_QueryInterface(IHTMLSelectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectElement_AddRef(IHTMLSelectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectElement_Release(IHTMLSelectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelectElement_GetTypeInfoCount(IHTMLSelectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelectElement_GetTypeInfo(IHTMLSelectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelectElement_GetIDsOfNames(IHTMLSelectElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelectElement_Invoke(IHTMLSelectElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelectElement methods ***/
static inline HRESULT IHTMLSelectElement_put_size(IHTMLSelectElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static inline HRESULT IHTMLSelectElement_get_size(IHTMLSelectElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
static inline HRESULT IHTMLSelectElement_put_multiple(IHTMLSelectElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_multiple(This,v);
}
static inline HRESULT IHTMLSelectElement_get_multiple(IHTMLSelectElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_multiple(This,p);
}
static inline HRESULT IHTMLSelectElement_put_name(IHTMLSelectElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLSelectElement_get_name(IHTMLSelectElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLSelectElement_get_options(IHTMLSelectElement* This,IDispatch **p) {
    return This->lpVtbl->get_options(This,p);
}
static inline HRESULT IHTMLSelectElement_put_onchange(IHTMLSelectElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLSelectElement_get_onchange(IHTMLSelectElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLSelectElement_put_selectedIndex(IHTMLSelectElement* This,LONG v) {
    return This->lpVtbl->put_selectedIndex(This,v);
}
static inline HRESULT IHTMLSelectElement_get_selectedIndex(IHTMLSelectElement* This,LONG *p) {
    return This->lpVtbl->get_selectedIndex(This,p);
}
static inline HRESULT IHTMLSelectElement_get_type(IHTMLSelectElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLSelectElement_put_value(IHTMLSelectElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLSelectElement_get_value(IHTMLSelectElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLSelectElement_put_disabled(IHTMLSelectElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLSelectElement_get_disabled(IHTMLSelectElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLSelectElement_get_form(IHTMLSelectElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLSelectElement_add(IHTMLSelectElement* This,IHTMLElement *element,VARIANT before) {
    return This->lpVtbl->add(This,element,before);
}
static inline HRESULT IHTMLSelectElement_remove(IHTMLSelectElement* This,LONG index) {
    return This->lpVtbl->remove(This,index);
}
static inline HRESULT IHTMLSelectElement_put_length(IHTMLSelectElement* This,LONG v) {
    return This->lpVtbl->put_length(This,v);
}
static inline HRESULT IHTMLSelectElement_get_length(IHTMLSelectElement* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLSelectElement_get__newEnum(IHTMLSelectElement* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLSelectElement_item(IHTMLSelectElement* This,VARIANT name,VARIANT index,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,index,pdisp);
}
static inline HRESULT IHTMLSelectElement_tags(IHTMLSelectElement* This,VARIANT tagName,IDispatch **pdisp) {
    return This->lpVtbl->tags(This,tagName,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSelectElement2 interface
 */
#ifndef __IHTMLSelectElement2_INTERFACE_DEFINED__
#define __IHTMLSelectElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectElement2, 0x3050f5ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5ed-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE urns(
        VARIANT urn,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectElement2, 0x3050f5ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelectElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelectElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelectElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelectElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelectElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *urns)(
        IHTMLSelectElement2 *This,
        VARIANT urn,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLSelectElement2Vtbl;

interface IHTMLSelectElement2 {
    CONST_VTBL IHTMLSelectElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelectElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelectElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelectElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelectElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelectElement2 methods ***/
#define IHTMLSelectElement2_urns(This,urn,pdisp) (This)->lpVtbl->urns(This,urn,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectElement2_QueryInterface(IHTMLSelectElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectElement2_AddRef(IHTMLSelectElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectElement2_Release(IHTMLSelectElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelectElement2_GetTypeInfoCount(IHTMLSelectElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelectElement2_GetTypeInfo(IHTMLSelectElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelectElement2_GetIDsOfNames(IHTMLSelectElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelectElement2_Invoke(IHTMLSelectElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelectElement2 methods ***/
static inline HRESULT IHTMLSelectElement2_urns(IHTMLSelectElement2* This,VARIANT urn,IDispatch **pdisp) {
    return This->lpVtbl->urns(This,urn,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSelectElement4 interface
 */
#ifndef __IHTMLSelectElement4_INTERFACE_DEFINED__
#define __IHTMLSelectElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectElement4, 0x3050f838, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f838-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE namedItem(
        BSTR name,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectElement4, 0x3050f838, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectElement4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelectElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelectElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelectElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelectElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelectElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *namedItem)(
        IHTMLSelectElement4 *This,
        BSTR name,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLSelectElement4Vtbl;

interface IHTMLSelectElement4 {
    CONST_VTBL IHTMLSelectElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelectElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelectElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelectElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelectElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelectElement4 methods ***/
#define IHTMLSelectElement4_namedItem(This,name,pdisp) (This)->lpVtbl->namedItem(This,name,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectElement4_QueryInterface(IHTMLSelectElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectElement4_AddRef(IHTMLSelectElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectElement4_Release(IHTMLSelectElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelectElement4_GetTypeInfoCount(IHTMLSelectElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelectElement4_GetTypeInfo(IHTMLSelectElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelectElement4_GetIDsOfNames(IHTMLSelectElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelectElement4_Invoke(IHTMLSelectElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelectElement4 methods ***/
static inline HRESULT IHTMLSelectElement4_namedItem(IHTMLSelectElement4* This,BSTR name,IDispatch **pdisp) {
    return This->lpVtbl->namedItem(This,name,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSelectElement5 interface
 */
#ifndef __IHTMLSelectElement5_INTERFACE_DEFINED__
#define __IHTMLSelectElement5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectElement5, 0x3051049d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051049d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectElement5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE add(
        IHTMLOptionElement *pElem,
        VARIANT *pvarBefore) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectElement5, 0x3051049d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectElement5Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelectElement5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelectElement5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelectElement5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelectElement5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelectElement5 methods ***/
    HRESULT (STDMETHODCALLTYPE *add)(
        IHTMLSelectElement5 *This,
        IHTMLOptionElement *pElem,
        VARIANT *pvarBefore);

    END_INTERFACE
} IHTMLSelectElement5Vtbl;

interface IHTMLSelectElement5 {
    CONST_VTBL IHTMLSelectElement5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectElement5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectElement5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectElement5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelectElement5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelectElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelectElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelectElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelectElement5 methods ***/
#define IHTMLSelectElement5_add(This,pElem,pvarBefore) (This)->lpVtbl->add(This,pElem,pvarBefore)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectElement5_QueryInterface(IHTMLSelectElement5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectElement5_AddRef(IHTMLSelectElement5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectElement5_Release(IHTMLSelectElement5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelectElement5_GetTypeInfoCount(IHTMLSelectElement5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelectElement5_GetTypeInfo(IHTMLSelectElement5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelectElement5_GetIDsOfNames(IHTMLSelectElement5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelectElement5_Invoke(IHTMLSelectElement5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelectElement5 methods ***/
static inline HRESULT IHTMLSelectElement5_add(IHTMLSelectElement5* This,IHTMLOptionElement *pElem,VARIANT *pvarBefore) {
    return This->lpVtbl->add(This,pElem,pvarBefore);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectElement5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSelectElement6 interface
 */
#ifndef __IHTMLSelectElement6_INTERFACE_DEFINED__
#define __IHTMLSelectElement6_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectElement6, 0x30510760, 0x98b6, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510760-98b6-11cf-bb82-00aa00bdce0b")
IHTMLSelectElement6 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE add(
        IHTMLOptionElement *pElem,
        VARIANT *pvarBefore) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectElement6, 0x30510760, 0x98b6, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectElement6Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelectElement6 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelectElement6 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelectElement6 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelectElement6 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelectElement6 methods ***/
    HRESULT (STDMETHODCALLTYPE *add)(
        IHTMLSelectElement6 *This,
        IHTMLOptionElement *pElem,
        VARIANT *pvarBefore);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLSelectElement6 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLSelectElement6 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLSelectElement6Vtbl;

interface IHTMLSelectElement6 {
    CONST_VTBL IHTMLSelectElement6Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectElement6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectElement6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectElement6_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelectElement6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelectElement6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelectElement6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelectElement6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelectElement6 methods ***/
#define IHTMLSelectElement6_add(This,pElem,pvarBefore) (This)->lpVtbl->add(This,pElem,pvarBefore)
#define IHTMLSelectElement6_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLSelectElement6_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectElement6_QueryInterface(IHTMLSelectElement6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectElement6_AddRef(IHTMLSelectElement6* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectElement6_Release(IHTMLSelectElement6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelectElement6_GetTypeInfoCount(IHTMLSelectElement6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelectElement6_GetTypeInfo(IHTMLSelectElement6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelectElement6_GetIDsOfNames(IHTMLSelectElement6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelectElement6_Invoke(IHTMLSelectElement6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelectElement6 methods ***/
static inline HRESULT IHTMLSelectElement6_add(IHTMLSelectElement6* This,IHTMLOptionElement *pElem,VARIANT *pvarBefore) {
    return This->lpVtbl->add(This,pElem,pvarBefore);
}
static inline HRESULT IHTMLSelectElement6_put_value(IHTMLSelectElement6* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLSelectElement6_get_value(IHTMLSelectElement6* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectElement6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLSelectElement dispinterface
 */
#ifndef __DispHTMLSelectElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSelectElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLSelectElement, 0x3050f531, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f531-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLSelectElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLSelectElement, 0x3050f531, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLSelectElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLSelectElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLSelectElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLSelectElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLSelectElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLSelectElementVtbl;

interface DispHTMLSelectElement {
    CONST_VTBL DispHTMLSelectElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLSelectElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLSelectElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLSelectElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLSelectElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLSelectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLSelectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLSelectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLSelectElement_QueryInterface(DispHTMLSelectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLSelectElement_AddRef(DispHTMLSelectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLSelectElement_Release(DispHTMLSelectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLSelectElement_GetTypeInfoCount(DispHTMLSelectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLSelectElement_GetTypeInfo(DispHTMLSelectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLSelectElement_GetIDsOfNames(DispHTMLSelectElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLSelectElement_Invoke(DispHTMLSelectElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLSelectElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLSelectElement coclass
 */

DEFINE_GUID(CLSID_HTMLSelectElement, 0x3050f245, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f245-98b5-11cf-bb82-00aa00bdce0b") HTMLSelectElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLSelectElement, 0x3050f245, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSelectElement;
/*****************************************************************************
 * DispHTMLWndSelectElement dispinterface
 */
#ifndef __DispHTMLWndSelectElement_DISPINTERFACE_DEFINED__
#define __DispHTMLWndSelectElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLWndSelectElement, 0x3050f597, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f597-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLWndSelectElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLWndSelectElement, 0x3050f597, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLWndSelectElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLWndSelectElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLWndSelectElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLWndSelectElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLWndSelectElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLWndSelectElementVtbl;

interface DispHTMLWndSelectElement {
    CONST_VTBL DispHTMLWndSelectElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLWndSelectElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLWndSelectElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLWndSelectElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLWndSelectElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLWndSelectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLWndSelectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLWndSelectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLWndSelectElement_QueryInterface(DispHTMLWndSelectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLWndSelectElement_AddRef(DispHTMLWndSelectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLWndSelectElement_Release(DispHTMLWndSelectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLWndSelectElement_GetTypeInfoCount(DispHTMLWndSelectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLWndSelectElement_GetTypeInfo(DispHTMLWndSelectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLWndSelectElement_GetIDsOfNames(DispHTMLWndSelectElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLWndSelectElement_Invoke(DispHTMLWndSelectElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLWndSelectElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLWndSelectElement coclass
 */

DEFINE_GUID(CLSID_HTMLWndSelectElement, 0x3050f2cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2cf-98b5-11cf-bb82-00aa00bdce0b") HTMLWndSelectElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLWndSelectElement, 0x3050f2cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CWndSelectElement;
typedef enum _htmlSelection {
    htmlSelectionNone = 0,
    htmlSelectionText = 1,
    htmlSelectionControl = 2,
    htmlSelectionTable = 3,
    htmlSelection_Max = 0x7fffffff
} htmlSelection;
/*****************************************************************************
 * IHTMLSelectionObject interface
 */
#ifndef __IHTMLSelectionObject_INTERFACE_DEFINED__
#define __IHTMLSelectionObject_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectionObject, 0x3050f25a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f25a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectionObject : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createRange(
        IDispatch **range) = 0;

    virtual HRESULT STDMETHODCALLTYPE empty(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectionObject, 0x3050f25a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectionObjectVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelectionObject *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelectionObject *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelectionObject *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelectionObject *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelectionObject methods ***/
    HRESULT (STDMETHODCALLTYPE *createRange)(
        IHTMLSelectionObject *This,
        IDispatch **range);

    HRESULT (STDMETHODCALLTYPE *empty)(
        IHTMLSelectionObject *This);

    HRESULT (STDMETHODCALLTYPE *clear)(
        IHTMLSelectionObject *This);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLSelectionObject *This,
        BSTR *p);

    END_INTERFACE
} IHTMLSelectionObjectVtbl;

interface IHTMLSelectionObject {
    CONST_VTBL IHTMLSelectionObjectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectionObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectionObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectionObject_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelectionObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelectionObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelectionObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelectionObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelectionObject methods ***/
#define IHTMLSelectionObject_createRange(This,range) (This)->lpVtbl->createRange(This,range)
#define IHTMLSelectionObject_empty(This) (This)->lpVtbl->empty(This)
#define IHTMLSelectionObject_clear(This) (This)->lpVtbl->clear(This)
#define IHTMLSelectionObject_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectionObject_QueryInterface(IHTMLSelectionObject* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectionObject_AddRef(IHTMLSelectionObject* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectionObject_Release(IHTMLSelectionObject* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelectionObject_GetTypeInfoCount(IHTMLSelectionObject* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelectionObject_GetTypeInfo(IHTMLSelectionObject* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelectionObject_GetIDsOfNames(IHTMLSelectionObject* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelectionObject_Invoke(IHTMLSelectionObject* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelectionObject methods ***/
static inline HRESULT IHTMLSelectionObject_createRange(IHTMLSelectionObject* This,IDispatch **range) {
    return This->lpVtbl->createRange(This,range);
}
static inline HRESULT IHTMLSelectionObject_empty(IHTMLSelectionObject* This) {
    return This->lpVtbl->empty(This);
}
static inline HRESULT IHTMLSelectionObject_clear(IHTMLSelectionObject* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT IHTMLSelectionObject_get_type(IHTMLSelectionObject* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectionObject_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSelectionObject2 interface
 */
#ifndef __IHTMLSelectionObject2_INTERFACE_DEFINED__
#define __IHTMLSelectionObject2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelectionObject2, 0x3050f7ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7ec-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectionObject2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createRangeCollection(
        IDispatch **rangeCollection) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_typeDetail(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelectionObject2, 0x3050f7ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectionObject2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelectionObject2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelectionObject2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelectionObject2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelectionObject2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelectionObject2 methods ***/
    HRESULT (STDMETHODCALLTYPE *createRangeCollection)(
        IHTMLSelectionObject2 *This,
        IDispatch **rangeCollection);

    HRESULT (STDMETHODCALLTYPE *get_typeDetail)(
        IHTMLSelectionObject2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLSelectionObject2Vtbl;

interface IHTMLSelectionObject2 {
    CONST_VTBL IHTMLSelectionObject2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelectionObject2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelectionObject2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelectionObject2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelectionObject2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelectionObject2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelectionObject2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelectionObject2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelectionObject2 methods ***/
#define IHTMLSelectionObject2_createRangeCollection(This,rangeCollection) (This)->lpVtbl->createRangeCollection(This,rangeCollection)
#define IHTMLSelectionObject2_get_typeDetail(This,p) (This)->lpVtbl->get_typeDetail(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelectionObject2_QueryInterface(IHTMLSelectionObject2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelectionObject2_AddRef(IHTMLSelectionObject2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelectionObject2_Release(IHTMLSelectionObject2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelectionObject2_GetTypeInfoCount(IHTMLSelectionObject2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelectionObject2_GetTypeInfo(IHTMLSelectionObject2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelectionObject2_GetIDsOfNames(IHTMLSelectionObject2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelectionObject2_Invoke(IHTMLSelectionObject2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelectionObject2 methods ***/
static inline HRESULT IHTMLSelectionObject2_createRangeCollection(IHTMLSelectionObject2* This,IDispatch **rangeCollection) {
    return This->lpVtbl->createRangeCollection(This,rangeCollection);
}
static inline HRESULT IHTMLSelectionObject2_get_typeDetail(IHTMLSelectionObject2* This,BSTR *p) {
    return This->lpVtbl->get_typeDetail(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectionObject2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSelection interface
 */
#ifndef __IHTMLSelection_INTERFACE_DEFINED__
#define __IHTMLSelection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSelection, 0x305104b6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104b6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_anchorNode(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_anchorOffset(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_focusNode(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_focusOffset(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isCollapsed(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE collapse(
        IDispatch *parentNode,
        LONG offfset) = 0;

    virtual HRESULT STDMETHODCALLTYPE collapseToStart(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE collapseToEnd(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE selectAllChildren(
        IDispatch *parentNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteFromDocument(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rangeCount(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getRangeAt(
        LONG index,
        IHTMLDOMRange **ppRange) = 0;

    virtual HRESULT STDMETHODCALLTYPE addRange(
        IDispatch *range) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeRange(
        IDispatch *range) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAllRanges(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *pSelectionString) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSelection, 0x305104b6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSelectionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSelection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSelection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSelection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSelection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSelection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_anchorNode)(
        IHTMLSelection *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_anchorOffset)(
        IHTMLSelection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_focusNode)(
        IHTMLSelection *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_focusOffset)(
        IHTMLSelection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_isCollapsed)(
        IHTMLSelection *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *collapse)(
        IHTMLSelection *This,
        IDispatch *parentNode,
        LONG offfset);

    HRESULT (STDMETHODCALLTYPE *collapseToStart)(
        IHTMLSelection *This);

    HRESULT (STDMETHODCALLTYPE *collapseToEnd)(
        IHTMLSelection *This);

    HRESULT (STDMETHODCALLTYPE *selectAllChildren)(
        IHTMLSelection *This,
        IDispatch *parentNode);

    HRESULT (STDMETHODCALLTYPE *deleteFromDocument)(
        IHTMLSelection *This);

    HRESULT (STDMETHODCALLTYPE *get_rangeCount)(
        IHTMLSelection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *getRangeAt)(
        IHTMLSelection *This,
        LONG index,
        IHTMLDOMRange **ppRange);

    HRESULT (STDMETHODCALLTYPE *addRange)(
        IHTMLSelection *This,
        IDispatch *range);

    HRESULT (STDMETHODCALLTYPE *removeRange)(
        IHTMLSelection *This,
        IDispatch *range);

    HRESULT (STDMETHODCALLTYPE *removeAllRanges)(
        IHTMLSelection *This);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLSelection *This,
        BSTR *pSelectionString);

    END_INTERFACE
} IHTMLSelectionVtbl;

interface IHTMLSelection {
    CONST_VTBL IHTMLSelectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSelection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSelection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSelection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSelection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSelection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSelection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSelection methods ***/
#define IHTMLSelection_get_anchorNode(This,p) (This)->lpVtbl->get_anchorNode(This,p)
#define IHTMLSelection_get_anchorOffset(This,p) (This)->lpVtbl->get_anchorOffset(This,p)
#define IHTMLSelection_get_focusNode(This,p) (This)->lpVtbl->get_focusNode(This,p)
#define IHTMLSelection_get_focusOffset(This,p) (This)->lpVtbl->get_focusOffset(This,p)
#define IHTMLSelection_get_isCollapsed(This,p) (This)->lpVtbl->get_isCollapsed(This,p)
#define IHTMLSelection_collapse(This,parentNode,offfset) (This)->lpVtbl->collapse(This,parentNode,offfset)
#define IHTMLSelection_collapseToStart(This) (This)->lpVtbl->collapseToStart(This)
#define IHTMLSelection_collapseToEnd(This) (This)->lpVtbl->collapseToEnd(This)
#define IHTMLSelection_selectAllChildren(This,parentNode) (This)->lpVtbl->selectAllChildren(This,parentNode)
#define IHTMLSelection_deleteFromDocument(This) (This)->lpVtbl->deleteFromDocument(This)
#define IHTMLSelection_get_rangeCount(This,p) (This)->lpVtbl->get_rangeCount(This,p)
#define IHTMLSelection_getRangeAt(This,index,ppRange) (This)->lpVtbl->getRangeAt(This,index,ppRange)
#define IHTMLSelection_addRange(This,range) (This)->lpVtbl->addRange(This,range)
#define IHTMLSelection_removeRange(This,range) (This)->lpVtbl->removeRange(This,range)
#define IHTMLSelection_removeAllRanges(This) (This)->lpVtbl->removeAllRanges(This)
#define IHTMLSelection_toString(This,pSelectionString) (This)->lpVtbl->toString(This,pSelectionString)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSelection_QueryInterface(IHTMLSelection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSelection_AddRef(IHTMLSelection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSelection_Release(IHTMLSelection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSelection_GetTypeInfoCount(IHTMLSelection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSelection_GetTypeInfo(IHTMLSelection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSelection_GetIDsOfNames(IHTMLSelection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSelection_Invoke(IHTMLSelection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSelection methods ***/
static inline HRESULT IHTMLSelection_get_anchorNode(IHTMLSelection* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_anchorNode(This,p);
}
static inline HRESULT IHTMLSelection_get_anchorOffset(IHTMLSelection* This,LONG *p) {
    return This->lpVtbl->get_anchorOffset(This,p);
}
static inline HRESULT IHTMLSelection_get_focusNode(IHTMLSelection* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_focusNode(This,p);
}
static inline HRESULT IHTMLSelection_get_focusOffset(IHTMLSelection* This,LONG *p) {
    return This->lpVtbl->get_focusOffset(This,p);
}
static inline HRESULT IHTMLSelection_get_isCollapsed(IHTMLSelection* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isCollapsed(This,p);
}
static inline HRESULT IHTMLSelection_collapse(IHTMLSelection* This,IDispatch *parentNode,LONG offfset) {
    return This->lpVtbl->collapse(This,parentNode,offfset);
}
static inline HRESULT IHTMLSelection_collapseToStart(IHTMLSelection* This) {
    return This->lpVtbl->collapseToStart(This);
}
static inline HRESULT IHTMLSelection_collapseToEnd(IHTMLSelection* This) {
    return This->lpVtbl->collapseToEnd(This);
}
static inline HRESULT IHTMLSelection_selectAllChildren(IHTMLSelection* This,IDispatch *parentNode) {
    return This->lpVtbl->selectAllChildren(This,parentNode);
}
static inline HRESULT IHTMLSelection_deleteFromDocument(IHTMLSelection* This) {
    return This->lpVtbl->deleteFromDocument(This);
}
static inline HRESULT IHTMLSelection_get_rangeCount(IHTMLSelection* This,LONG *p) {
    return This->lpVtbl->get_rangeCount(This,p);
}
static inline HRESULT IHTMLSelection_getRangeAt(IHTMLSelection* This,LONG index,IHTMLDOMRange **ppRange) {
    return This->lpVtbl->getRangeAt(This,index,ppRange);
}
static inline HRESULT IHTMLSelection_addRange(IHTMLSelection* This,IDispatch *range) {
    return This->lpVtbl->addRange(This,range);
}
static inline HRESULT IHTMLSelection_removeRange(IHTMLSelection* This,IDispatch *range) {
    return This->lpVtbl->removeRange(This,range);
}
static inline HRESULT IHTMLSelection_removeAllRanges(IHTMLSelection* This) {
    return This->lpVtbl->removeAllRanges(This);
}
static inline HRESULT IHTMLSelection_toString(IHTMLSelection* This,BSTR *pSelectionString) {
    return This->lpVtbl->toString(This,pSelectionString);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLOptionElement interface
 */
#ifndef __IHTMLOptionElement_INTERFACE_DEFINED__
#define __IHTMLOptionElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOptionElement, 0x3050f211, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f211-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_selected(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selected(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultSelected(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultSelected(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_index(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_index(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_text(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOptionElement, 0x3050f211, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOptionElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOptionElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOptionElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOptionElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOptionElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOptionElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selected)(
        IHTMLOptionElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selected)(
        IHTMLOptionElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLOptionElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLOptionElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultSelected)(
        IHTMLOptionElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_defaultSelected)(
        IHTMLOptionElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_index)(
        IHTMLOptionElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_index)(
        IHTMLOptionElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_text)(
        IHTMLOptionElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_text)(
        IHTMLOptionElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLOptionElement *This,
        IHTMLFormElement **p);

    END_INTERFACE
} IHTMLOptionElementVtbl;

interface IHTMLOptionElement {
    CONST_VTBL IHTMLOptionElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOptionElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOptionElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOptionElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOptionElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOptionElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOptionElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOptionElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOptionElement methods ***/
#define IHTMLOptionElement_put_selected(This,v) (This)->lpVtbl->put_selected(This,v)
#define IHTMLOptionElement_get_selected(This,p) (This)->lpVtbl->get_selected(This,p)
#define IHTMLOptionElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLOptionElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLOptionElement_put_defaultSelected(This,v) (This)->lpVtbl->put_defaultSelected(This,v)
#define IHTMLOptionElement_get_defaultSelected(This,p) (This)->lpVtbl->get_defaultSelected(This,p)
#define IHTMLOptionElement_put_index(This,v) (This)->lpVtbl->put_index(This,v)
#define IHTMLOptionElement_get_index(This,p) (This)->lpVtbl->get_index(This,p)
#define IHTMLOptionElement_put_text(This,v) (This)->lpVtbl->put_text(This,v)
#define IHTMLOptionElement_get_text(This,p) (This)->lpVtbl->get_text(This,p)
#define IHTMLOptionElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOptionElement_QueryInterface(IHTMLOptionElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOptionElement_AddRef(IHTMLOptionElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOptionElement_Release(IHTMLOptionElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOptionElement_GetTypeInfoCount(IHTMLOptionElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOptionElement_GetTypeInfo(IHTMLOptionElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOptionElement_GetIDsOfNames(IHTMLOptionElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOptionElement_Invoke(IHTMLOptionElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOptionElement methods ***/
static inline HRESULT IHTMLOptionElement_put_selected(IHTMLOptionElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selected(This,v);
}
static inline HRESULT IHTMLOptionElement_get_selected(IHTMLOptionElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selected(This,p);
}
static inline HRESULT IHTMLOptionElement_put_value(IHTMLOptionElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLOptionElement_get_value(IHTMLOptionElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLOptionElement_put_defaultSelected(IHTMLOptionElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_defaultSelected(This,v);
}
static inline HRESULT IHTMLOptionElement_get_defaultSelected(IHTMLOptionElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defaultSelected(This,p);
}
static inline HRESULT IHTMLOptionElement_put_index(IHTMLOptionElement* This,LONG v) {
    return This->lpVtbl->put_index(This,v);
}
static inline HRESULT IHTMLOptionElement_get_index(IHTMLOptionElement* This,LONG *p) {
    return This->lpVtbl->get_index(This,p);
}
static inline HRESULT IHTMLOptionElement_put_text(IHTMLOptionElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static inline HRESULT IHTMLOptionElement_get_text(IHTMLOptionElement* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static inline HRESULT IHTMLOptionElement_get_form(IHTMLOptionElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLOptionElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLOptionElement3 interface
 */
#ifndef __IHTMLOptionElement3_INTERFACE_DEFINED__
#define __IHTMLOptionElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOptionElement3, 0x3050f820, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f820-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_label(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_label(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOptionElement3, 0x3050f820, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOptionElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOptionElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOptionElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOptionElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOptionElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOptionElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_label)(
        IHTMLOptionElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_label)(
        IHTMLOptionElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLOptionElement3Vtbl;

interface IHTMLOptionElement3 {
    CONST_VTBL IHTMLOptionElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOptionElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOptionElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOptionElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOptionElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOptionElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOptionElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOptionElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOptionElement3 methods ***/
#define IHTMLOptionElement3_put_label(This,v) (This)->lpVtbl->put_label(This,v)
#define IHTMLOptionElement3_get_label(This,p) (This)->lpVtbl->get_label(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOptionElement3_QueryInterface(IHTMLOptionElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOptionElement3_AddRef(IHTMLOptionElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOptionElement3_Release(IHTMLOptionElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOptionElement3_GetTypeInfoCount(IHTMLOptionElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOptionElement3_GetTypeInfo(IHTMLOptionElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOptionElement3_GetIDsOfNames(IHTMLOptionElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOptionElement3_Invoke(IHTMLOptionElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOptionElement3 methods ***/
static inline HRESULT IHTMLOptionElement3_put_label(IHTMLOptionElement3* This,BSTR v) {
    return This->lpVtbl->put_label(This,v);
}
static inline HRESULT IHTMLOptionElement3_get_label(IHTMLOptionElement3* This,BSTR *p) {
    return This->lpVtbl->get_label(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLOptionElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLOptionElement4 interface
 */
#ifndef __IHTMLOptionElement4_INTERFACE_DEFINED__
#define __IHTMLOptionElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOptionElement4, 0x305107b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107b4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOptionElement4, 0x305107b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOptionElement4Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOptionElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOptionElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOptionElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOptionElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOptionElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLOptionElement4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLOptionElement4 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLOptionElement4Vtbl;

interface IHTMLOptionElement4 {
    CONST_VTBL IHTMLOptionElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOptionElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOptionElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOptionElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOptionElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOptionElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOptionElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOptionElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOptionElement4 methods ***/
#define IHTMLOptionElement4_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLOptionElement4_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOptionElement4_QueryInterface(IHTMLOptionElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOptionElement4_AddRef(IHTMLOptionElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOptionElement4_Release(IHTMLOptionElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOptionElement4_GetTypeInfoCount(IHTMLOptionElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOptionElement4_GetTypeInfo(IHTMLOptionElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOptionElement4_GetIDsOfNames(IHTMLOptionElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOptionElement4_Invoke(IHTMLOptionElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOptionElement4 methods ***/
static inline HRESULT IHTMLOptionElement4_put_value(IHTMLOptionElement4* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLOptionElement4_get_value(IHTMLOptionElement4* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLOptionElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLOptionElementFactory interface
 */
#ifndef __IHTMLOptionElementFactory_INTERFACE_DEFINED__
#define __IHTMLOptionElementFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOptionElementFactory, 0x3050f38c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f38c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionElementFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE create(
        VARIANT text,
        VARIANT value,
        VARIANT defaultselected,
        VARIANT selected,
        IHTMLOptionElement **a) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOptionElementFactory, 0x3050f38c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOptionElementFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOptionElementFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOptionElementFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOptionElementFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOptionElementFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOptionElementFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *create)(
        IHTMLOptionElementFactory *This,
        VARIANT text,
        VARIANT value,
        VARIANT defaultselected,
        VARIANT selected,
        IHTMLOptionElement **a);

    END_INTERFACE
} IHTMLOptionElementFactoryVtbl;

interface IHTMLOptionElementFactory {
    CONST_VTBL IHTMLOptionElementFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOptionElementFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOptionElementFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOptionElementFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOptionElementFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOptionElementFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOptionElementFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOptionElementFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOptionElementFactory methods ***/
#define IHTMLOptionElementFactory_create(This,text,value,defaultselected,selected,a) (This)->lpVtbl->create(This,text,value,defaultselected,selected,a)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOptionElementFactory_QueryInterface(IHTMLOptionElementFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOptionElementFactory_AddRef(IHTMLOptionElementFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOptionElementFactory_Release(IHTMLOptionElementFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOptionElementFactory_GetTypeInfoCount(IHTMLOptionElementFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOptionElementFactory_GetTypeInfo(IHTMLOptionElementFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOptionElementFactory_GetIDsOfNames(IHTMLOptionElementFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOptionElementFactory_Invoke(IHTMLOptionElementFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOptionElementFactory methods ***/
static inline HRESULT IHTMLOptionElementFactory_create(IHTMLOptionElementFactory* This,VARIANT text,VARIANT value,VARIANT defaultselected,VARIANT selected,IHTMLOptionElement **a) {
    return This->lpVtbl->create(This,text,value,defaultselected,selected,a);
}
#endif
#endif

#endif


#endif  /* __IHTMLOptionElementFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLOptionElement dispinterface
 */
#ifndef __DispHTMLOptionElement_DISPINTERFACE_DEFINED__
#define __DispHTMLOptionElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLOptionElement, 0x3050f52b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f52b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLOptionElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLOptionElement, 0x3050f52b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLOptionElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLOptionElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLOptionElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLOptionElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLOptionElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLOptionElementVtbl;

interface DispHTMLOptionElement {
    CONST_VTBL DispHTMLOptionElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLOptionElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLOptionElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLOptionElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLOptionElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLOptionElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLOptionElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLOptionElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLOptionElement_QueryInterface(DispHTMLOptionElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLOptionElement_AddRef(DispHTMLOptionElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLOptionElement_Release(DispHTMLOptionElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLOptionElement_GetTypeInfoCount(DispHTMLOptionElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLOptionElement_GetTypeInfo(DispHTMLOptionElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLOptionElement_GetIDsOfNames(DispHTMLOptionElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLOptionElement_Invoke(DispHTMLOptionElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLOptionElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLOptionElement coclass
 */

DEFINE_GUID(CLSID_HTMLOptionElement, 0x3050f24d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f24d-98b5-11cf-bb82-00aa00bdce0b") HTMLOptionElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLOptionElement, 0x3050f24d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_COptionElement;
/*****************************************************************************
 * HTMLOptionElementFactory coclass
 */

DEFINE_GUID(CLSID_HTMLOptionElementFactory, 0x3050f38d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f38d-98b5-11cf-bb82-00aa00bdce0b") HTMLOptionElementFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLOptionElementFactory, 0x3050f38d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_COptionElementFactory;
/*****************************************************************************
 * DispHTMLWndOptionElement dispinterface
 */
#ifndef __DispHTMLWndOptionElement_DISPINTERFACE_DEFINED__
#define __DispHTMLWndOptionElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLWndOptionElement, 0x3050f598, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f598-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLWndOptionElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLWndOptionElement, 0x3050f598, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLWndOptionElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLWndOptionElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLWndOptionElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLWndOptionElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLWndOptionElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLWndOptionElementVtbl;

interface DispHTMLWndOptionElement {
    CONST_VTBL DispHTMLWndOptionElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLWndOptionElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLWndOptionElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLWndOptionElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLWndOptionElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLWndOptionElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLWndOptionElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLWndOptionElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLWndOptionElement_QueryInterface(DispHTMLWndOptionElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLWndOptionElement_AddRef(DispHTMLWndOptionElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLWndOptionElement_Release(DispHTMLWndOptionElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLWndOptionElement_GetTypeInfoCount(DispHTMLWndOptionElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLWndOptionElement_GetTypeInfo(DispHTMLWndOptionElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLWndOptionElement_GetIDsOfNames(DispHTMLWndOptionElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLWndOptionElement_Invoke(DispHTMLWndOptionElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLWndOptionElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLWndOptionElement coclass
 */

DEFINE_GUID(CLSID_HTMLWndOptionElement, 0x3050f2d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2d0-98b5-11cf-bb82-00aa00bdce0b") HTMLWndOptionElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLWndOptionElement, 0x3050f2d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CWndOptionElement;
/*****************************************************************************
 * HTMLButtonElementEvents2 dispinterface
 */
#ifndef __HTMLButtonElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLButtonElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLButtonElementEvents2, 0x3050f617, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f617-98b5-11cf-bb82-00aa00bdce0b")
HTMLButtonElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLButtonElementEvents2, 0x3050f617, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLButtonElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLButtonElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLButtonElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLButtonElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLButtonElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLButtonElementEvents2Vtbl;

interface HTMLButtonElementEvents2 {
    CONST_VTBL HTMLButtonElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLButtonElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLButtonElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLButtonElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLButtonElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLButtonElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLButtonElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLButtonElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLButtonElementEvents2_QueryInterface(HTMLButtonElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLButtonElementEvents2_AddRef(HTMLButtonElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLButtonElementEvents2_Release(HTMLButtonElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLButtonElementEvents2_GetTypeInfoCount(HTMLButtonElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLButtonElementEvents2_GetTypeInfo(HTMLButtonElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLButtonElementEvents2_GetIDsOfNames(HTMLButtonElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLButtonElementEvents2_Invoke(HTMLButtonElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLButtonElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLButtonElementEvents dispinterface
 */
#ifndef __HTMLButtonElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLButtonElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLButtonElementEvents, 0x3050f2b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2b3-98b5-11cf-bb82-00aa00bdce0b")
HTMLButtonElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLButtonElementEvents, 0x3050f2b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLButtonElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLButtonElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLButtonElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLButtonElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLButtonElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLButtonElementEventsVtbl;

interface HTMLButtonElementEvents {
    CONST_VTBL HTMLButtonElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLButtonElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLButtonElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLButtonElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLButtonElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLButtonElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLButtonElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLButtonElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLButtonElementEvents_QueryInterface(HTMLButtonElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLButtonElementEvents_AddRef(HTMLButtonElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLButtonElementEvents_Release(HTMLButtonElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLButtonElementEvents_GetTypeInfoCount(HTMLButtonElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLButtonElementEvents_GetTypeInfo(HTMLButtonElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLButtonElementEvents_GetIDsOfNames(HTMLButtonElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLButtonElementEvents_Invoke(HTMLButtonElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLButtonElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputTextElementEvents2 dispinterface
 */
#ifndef __HTMLInputTextElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLInputTextElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLInputTextElementEvents2, 0x3050f618, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f618-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputTextElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputTextElementEvents2, 0x3050f618, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLInputTextElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLInputTextElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLInputTextElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLInputTextElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLInputTextElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLInputTextElementEvents2Vtbl;

interface HTMLInputTextElementEvents2 {
    CONST_VTBL HTMLInputTextElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLInputTextElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLInputTextElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLInputTextElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLInputTextElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLInputTextElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLInputTextElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLInputTextElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLInputTextElementEvents2_QueryInterface(HTMLInputTextElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLInputTextElementEvents2_AddRef(HTMLInputTextElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLInputTextElementEvents2_Release(HTMLInputTextElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLInputTextElementEvents2_GetTypeInfoCount(HTMLInputTextElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLInputTextElementEvents2_GetTypeInfo(HTMLInputTextElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLInputTextElementEvents2_GetIDsOfNames(HTMLInputTextElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLInputTextElementEvents2_Invoke(HTMLInputTextElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLInputTextElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLOptionButtonElementEvents2 dispinterface
 */
#ifndef __HTMLOptionButtonElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLOptionButtonElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLOptionButtonElementEvents2, 0x3050f619, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f619-98b5-11cf-bb82-00aa00bdce0b")
HTMLOptionButtonElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLOptionButtonElementEvents2, 0x3050f619, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLOptionButtonElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLOptionButtonElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLOptionButtonElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLOptionButtonElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLOptionButtonElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLOptionButtonElementEvents2Vtbl;

interface HTMLOptionButtonElementEvents2 {
    CONST_VTBL HTMLOptionButtonElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLOptionButtonElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLOptionButtonElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLOptionButtonElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLOptionButtonElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLOptionButtonElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLOptionButtonElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLOptionButtonElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLOptionButtonElementEvents2_QueryInterface(HTMLOptionButtonElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLOptionButtonElementEvents2_AddRef(HTMLOptionButtonElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLOptionButtonElementEvents2_Release(HTMLOptionButtonElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLOptionButtonElementEvents2_GetTypeInfoCount(HTMLOptionButtonElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLOptionButtonElementEvents2_GetTypeInfo(HTMLOptionButtonElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLOptionButtonElementEvents2_GetIDsOfNames(HTMLOptionButtonElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLOptionButtonElementEvents2_Invoke(HTMLOptionButtonElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLOptionButtonElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputFileElementEvents2 dispinterface
 */
#ifndef __HTMLInputFileElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLInputFileElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLInputFileElementEvents2, 0x3050f61a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f61a-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputFileElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputFileElementEvents2, 0x3050f61a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLInputFileElementEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLInputFileElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLInputFileElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLInputFileElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLInputFileElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLInputFileElementEvents2Vtbl;

interface HTMLInputFileElementEvents2 {
    CONST_VTBL HTMLInputFileElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLInputFileElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLInputFileElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLInputFileElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLInputFileElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLInputFileElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLInputFileElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLInputFileElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLInputFileElementEvents2_QueryInterface(HTMLInputFileElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLInputFileElementEvents2_AddRef(HTMLInputFileElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLInputFileElementEvents2_Release(HTMLInputFileElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLInputFileElementEvents2_GetTypeInfoCount(HTMLInputFileElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLInputFileElementEvents2_GetTypeInfo(HTMLInputFileElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLInputFileElementEvents2_GetIDsOfNames(HTMLInputFileElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLInputFileElementEvents2_Invoke(HTMLInputFileElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLInputFileElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputImageEvents2 dispinterface
 */
#ifndef __HTMLInputImageEvents2_DISPINTERFACE_DEFINED__
#define __HTMLInputImageEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLInputImageEvents2, 0x3050f61b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f61b-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputImageEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputImageEvents2, 0x3050f61b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLInputImageEvents2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLInputImageEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLInputImageEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLInputImageEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLInputImageEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLInputImageEvents2Vtbl;

interface HTMLInputImageEvents2 {
    CONST_VTBL HTMLInputImageEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLInputImageEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLInputImageEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLInputImageEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLInputImageEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLInputImageEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLInputImageEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLInputImageEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLInputImageEvents2_QueryInterface(HTMLInputImageEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLInputImageEvents2_AddRef(HTMLInputImageEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLInputImageEvents2_Release(HTMLInputImageEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLInputImageEvents2_GetTypeInfoCount(HTMLInputImageEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLInputImageEvents2_GetTypeInfo(HTMLInputImageEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLInputImageEvents2_GetIDsOfNames(HTMLInputImageEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLInputImageEvents2_Invoke(HTMLInputImageEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLInputImageEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputTextElementEvents dispinterface
 */
#ifndef __HTMLInputTextElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLInputTextElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLInputTextElementEvents, 0x3050f2a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2a7-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputTextElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputTextElementEvents, 0x3050f2a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLInputTextElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLInputTextElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLInputTextElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLInputTextElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLInputTextElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLInputTextElementEventsVtbl;

interface HTMLInputTextElementEvents {
    CONST_VTBL HTMLInputTextElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLInputTextElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLInputTextElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLInputTextElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLInputTextElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLInputTextElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLInputTextElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLInputTextElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLInputTextElementEvents_QueryInterface(HTMLInputTextElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLInputTextElementEvents_AddRef(HTMLInputTextElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLInputTextElementEvents_Release(HTMLInputTextElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLInputTextElementEvents_GetTypeInfoCount(HTMLInputTextElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLInputTextElementEvents_GetTypeInfo(HTMLInputTextElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLInputTextElementEvents_GetIDsOfNames(HTMLInputTextElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLInputTextElementEvents_Invoke(HTMLInputTextElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLInputTextElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLOptionButtonElementEvents dispinterface
 */
#ifndef __HTMLOptionButtonElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLOptionButtonElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLOptionButtonElementEvents, 0x3050f2bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2bd-98b5-11cf-bb82-00aa00bdce0b")
HTMLOptionButtonElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLOptionButtonElementEvents, 0x3050f2bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLOptionButtonElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLOptionButtonElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLOptionButtonElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLOptionButtonElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLOptionButtonElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLOptionButtonElementEventsVtbl;

interface HTMLOptionButtonElementEvents {
    CONST_VTBL HTMLOptionButtonElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLOptionButtonElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLOptionButtonElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLOptionButtonElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLOptionButtonElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLOptionButtonElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLOptionButtonElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLOptionButtonElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLOptionButtonElementEvents_QueryInterface(HTMLOptionButtonElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLOptionButtonElementEvents_AddRef(HTMLOptionButtonElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLOptionButtonElementEvents_Release(HTMLOptionButtonElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLOptionButtonElementEvents_GetTypeInfoCount(HTMLOptionButtonElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLOptionButtonElementEvents_GetTypeInfo(HTMLOptionButtonElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLOptionButtonElementEvents_GetIDsOfNames(HTMLOptionButtonElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLOptionButtonElementEvents_Invoke(HTMLOptionButtonElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLOptionButtonElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputFileElementEvents dispinterface
 */
#ifndef __HTMLInputFileElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLInputFileElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLInputFileElementEvents, 0x3050f2af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2af-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputFileElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputFileElementEvents, 0x3050f2af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLInputFileElementEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLInputFileElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLInputFileElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLInputFileElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLInputFileElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLInputFileElementEventsVtbl;

interface HTMLInputFileElementEvents {
    CONST_VTBL HTMLInputFileElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLInputFileElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLInputFileElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLInputFileElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLInputFileElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLInputFileElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLInputFileElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLInputFileElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLInputFileElementEvents_QueryInterface(HTMLInputFileElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLInputFileElementEvents_AddRef(HTMLInputFileElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLInputFileElementEvents_Release(HTMLInputFileElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLInputFileElementEvents_GetTypeInfoCount(HTMLInputFileElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLInputFileElementEvents_GetTypeInfo(HTMLInputFileElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLInputFileElementEvents_GetIDsOfNames(HTMLInputFileElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLInputFileElementEvents_Invoke(HTMLInputFileElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLInputFileElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputImageEvents dispinterface
 */
#ifndef __HTMLInputImageEvents_DISPINTERFACE_DEFINED__
#define __HTMLInputImageEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLInputImageEvents, 0x3050f2c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2c3-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputImageEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputImageEvents, 0x3050f2c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLInputImageEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLInputImageEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLInputImageEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLInputImageEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLInputImageEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLInputImageEventsVtbl;

interface HTMLInputImageEvents {
    CONST_VTBL HTMLInputImageEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLInputImageEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLInputImageEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLInputImageEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLInputImageEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLInputImageEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLInputImageEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLInputImageEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLInputImageEvents_QueryInterface(HTMLInputImageEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLInputImageEvents_AddRef(HTMLInputImageEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLInputImageEvents_Release(HTMLInputImageEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLInputImageEvents_GetTypeInfoCount(HTMLInputImageEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLInputImageEvents_GetTypeInfo(HTMLInputImageEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLInputImageEvents_GetIDsOfNames(HTMLInputImageEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLInputImageEvents_Invoke(HTMLInputImageEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLInputImageEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputElement interface
 */
#ifndef __IHTMLInputElement_INTERFACE_DEFINED__
#define __IHTMLInputElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputElement, 0x3050f5d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5d2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_size(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxLength(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxLength(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE select(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultValue(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultValue(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_readOnly(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readOnly(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextRange(
        IHTMLTxtRange **range) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_indeterminate(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_indeterminate(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultChecked(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultChecked(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_checked(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_checked(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alt(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alt(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lowsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lowsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vrml(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vrml(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dynsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dynsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_complete(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_loop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onabort(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onabort(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_start(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_start(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputElement, 0x3050f5d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLInputElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLInputElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLInputElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLInputElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLInputElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *put_size)(
        IHTMLInputElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IHTMLInputElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_maxLength)(
        IHTMLInputElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_maxLength)(
        IHTMLInputElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *select)(
        IHTMLInputElement *This);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLInputElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLInputElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLInputElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLInputElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultValue)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_defaultValue)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_readOnly)(
        IHTMLInputElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_readOnly)(
        IHTMLInputElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *createTextRange)(
        IHTMLInputElement *This,
        IHTMLTxtRange **range);

    HRESULT (STDMETHODCALLTYPE *put_indeterminate)(
        IHTMLInputElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_indeterminate)(
        IHTMLInputElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultChecked)(
        IHTMLInputElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_defaultChecked)(
        IHTMLInputElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_checked)(
        IHTMLInputElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_checked)(
        IHTMLInputElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLInputElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLInputElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_vspace)(
        IHTMLInputElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_vspace)(
        IHTMLInputElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_hspace)(
        IHTMLInputElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_hspace)(
        IHTMLInputElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_alt)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_alt)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lowsrc)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lowsrc)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vrml)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vrml)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dynsrc)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dynsrc)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_complete)(
        IHTMLInputElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_loop)(
        IHTMLInputElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_loop)(
        IHTMLInputElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLInputElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLInputElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLInputElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLInputElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLInputElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onabort)(
        IHTMLInputElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onabort)(
        IHTMLInputElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLInputElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLInputElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLInputElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLInputElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_start)(
        IHTMLInputElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_start)(
        IHTMLInputElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLInputElementVtbl;

interface IHTMLInputElement {
    CONST_VTBL IHTMLInputElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputElement methods ***/
#define IHTMLInputElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLInputElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLInputElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLInputElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLInputElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLInputElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLInputElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLInputElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLInputElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLInputElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLInputElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLInputElement_put_size(This,v) (This)->lpVtbl->put_size(This,v)
#define IHTMLInputElement_get_size(This,p) (This)->lpVtbl->get_size(This,p)
#define IHTMLInputElement_put_maxLength(This,v) (This)->lpVtbl->put_maxLength(This,v)
#define IHTMLInputElement_get_maxLength(This,p) (This)->lpVtbl->get_maxLength(This,p)
#define IHTMLInputElement_select(This) (This)->lpVtbl->select(This)
#define IHTMLInputElement_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLInputElement_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLInputElement_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLInputElement_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLInputElement_put_defaultValue(This,v) (This)->lpVtbl->put_defaultValue(This,v)
#define IHTMLInputElement_get_defaultValue(This,p) (This)->lpVtbl->get_defaultValue(This,p)
#define IHTMLInputElement_put_readOnly(This,v) (This)->lpVtbl->put_readOnly(This,v)
#define IHTMLInputElement_get_readOnly(This,p) (This)->lpVtbl->get_readOnly(This,p)
#define IHTMLInputElement_createTextRange(This,range) (This)->lpVtbl->createTextRange(This,range)
#define IHTMLInputElement_put_indeterminate(This,v) (This)->lpVtbl->put_indeterminate(This,v)
#define IHTMLInputElement_get_indeterminate(This,p) (This)->lpVtbl->get_indeterminate(This,p)
#define IHTMLInputElement_put_defaultChecked(This,v) (This)->lpVtbl->put_defaultChecked(This,v)
#define IHTMLInputElement_get_defaultChecked(This,p) (This)->lpVtbl->get_defaultChecked(This,p)
#define IHTMLInputElement_put_checked(This,v) (This)->lpVtbl->put_checked(This,v)
#define IHTMLInputElement_get_checked(This,p) (This)->lpVtbl->get_checked(This,p)
#define IHTMLInputElement_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLInputElement_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLInputElement_put_vspace(This,v) (This)->lpVtbl->put_vspace(This,v)
#define IHTMLInputElement_get_vspace(This,p) (This)->lpVtbl->get_vspace(This,p)
#define IHTMLInputElement_put_hspace(This,v) (This)->lpVtbl->put_hspace(This,v)
#define IHTMLInputElement_get_hspace(This,p) (This)->lpVtbl->get_hspace(This,p)
#define IHTMLInputElement_put_alt(This,v) (This)->lpVtbl->put_alt(This,v)
#define IHTMLInputElement_get_alt(This,p) (This)->lpVtbl->get_alt(This,p)
#define IHTMLInputElement_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLInputElement_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLInputElement_put_lowsrc(This,v) (This)->lpVtbl->put_lowsrc(This,v)
#define IHTMLInputElement_get_lowsrc(This,p) (This)->lpVtbl->get_lowsrc(This,p)
#define IHTMLInputElement_put_vrml(This,v) (This)->lpVtbl->put_vrml(This,v)
#define IHTMLInputElement_get_vrml(This,p) (This)->lpVtbl->get_vrml(This,p)
#define IHTMLInputElement_put_dynsrc(This,v) (This)->lpVtbl->put_dynsrc(This,v)
#define IHTMLInputElement_get_dynsrc(This,p) (This)->lpVtbl->get_dynsrc(This,p)
#define IHTMLInputElement_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLInputElement_get_complete(This,p) (This)->lpVtbl->get_complete(This,p)
#define IHTMLInputElement_put_loop(This,v) (This)->lpVtbl->put_loop(This,v)
#define IHTMLInputElement_get_loop(This,p) (This)->lpVtbl->get_loop(This,p)
#define IHTMLInputElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLInputElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLInputElement_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLInputElement_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLInputElement_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLInputElement_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLInputElement_put_onabort(This,v) (This)->lpVtbl->put_onabort(This,v)
#define IHTMLInputElement_get_onabort(This,p) (This)->lpVtbl->get_onabort(This,p)
#define IHTMLInputElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLInputElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLInputElement_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLInputElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLInputElement_put_start(This,v) (This)->lpVtbl->put_start(This,v)
#define IHTMLInputElement_get_start(This,p) (This)->lpVtbl->get_start(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputElement_QueryInterface(IHTMLInputElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputElement_AddRef(IHTMLInputElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputElement_Release(IHTMLInputElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputElement_GetTypeInfoCount(IHTMLInputElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputElement_GetTypeInfo(IHTMLInputElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputElement_GetIDsOfNames(IHTMLInputElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputElement_Invoke(IHTMLInputElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputElement methods ***/
static inline HRESULT IHTMLInputElement_put_type(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLInputElement_get_type(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLInputElement_put_value(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLInputElement_get_value(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLInputElement_put_name(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLInputElement_get_name(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLInputElement_put_status(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLInputElement_get_status(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLInputElement_put_disabled(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLInputElement_get_disabled(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLInputElement_get_form(IHTMLInputElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLInputElement_put_size(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static inline HRESULT IHTMLInputElement_get_size(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
static inline HRESULT IHTMLInputElement_put_maxLength(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_maxLength(This,v);
}
static inline HRESULT IHTMLInputElement_get_maxLength(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_maxLength(This,p);
}
static inline HRESULT IHTMLInputElement_select(IHTMLInputElement* This) {
    return This->lpVtbl->select(This);
}
static inline HRESULT IHTMLInputElement_put_onchange(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLInputElement_get_onchange(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLInputElement_put_onselect(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLInputElement_get_onselect(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLInputElement_put_defaultValue(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_defaultValue(This,v);
}
static inline HRESULT IHTMLInputElement_get_defaultValue(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_defaultValue(This,p);
}
static inline HRESULT IHTMLInputElement_put_readOnly(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_readOnly(This,v);
}
static inline HRESULT IHTMLInputElement_get_readOnly(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static inline HRESULT IHTMLInputElement_createTextRange(IHTMLInputElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
static inline HRESULT IHTMLInputElement_put_indeterminate(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_indeterminate(This,v);
}
static inline HRESULT IHTMLInputElement_get_indeterminate(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_indeterminate(This,p);
}
static inline HRESULT IHTMLInputElement_put_defaultChecked(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_defaultChecked(This,v);
}
static inline HRESULT IHTMLInputElement_get_defaultChecked(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defaultChecked(This,p);
}
static inline HRESULT IHTMLInputElement_put_checked(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_checked(This,v);
}
static inline HRESULT IHTMLInputElement_get_checked(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_checked(This,p);
}
static inline HRESULT IHTMLInputElement_put_border(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLInputElement_get_border(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLInputElement_put_vspace(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static inline HRESULT IHTMLInputElement_get_vspace(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static inline HRESULT IHTMLInputElement_put_hspace(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static inline HRESULT IHTMLInputElement_get_hspace(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static inline HRESULT IHTMLInputElement_put_alt(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static inline HRESULT IHTMLInputElement_get_alt(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static inline HRESULT IHTMLInputElement_put_src(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLInputElement_get_src(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLInputElement_put_lowsrc(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_lowsrc(This,v);
}
static inline HRESULT IHTMLInputElement_get_lowsrc(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_lowsrc(This,p);
}
static inline HRESULT IHTMLInputElement_put_vrml(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_vrml(This,v);
}
static inline HRESULT IHTMLInputElement_get_vrml(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_vrml(This,p);
}
static inline HRESULT IHTMLInputElement_put_dynsrc(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_dynsrc(This,v);
}
static inline HRESULT IHTMLInputElement_get_dynsrc(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_dynsrc(This,p);
}
static inline HRESULT IHTMLInputElement_get_readyState(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLInputElement_get_complete(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_complete(This,p);
}
static inline HRESULT IHTMLInputElement_put_loop(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_loop(This,v);
}
static inline HRESULT IHTMLInputElement_get_loop(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_loop(This,p);
}
static inline HRESULT IHTMLInputElement_put_align(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLInputElement_get_align(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLInputElement_put_onload(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLInputElement_get_onload(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLInputElement_put_onerror(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLInputElement_get_onerror(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLInputElement_put_onabort(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static inline HRESULT IHTMLInputElement_get_onabort(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static inline HRESULT IHTMLInputElement_put_width(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLInputElement_get_width(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLInputElement_put_height(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLInputElement_get_height(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLInputElement_put_start(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_start(This,v);
}
static inline HRESULT IHTMLInputElement_get_start(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_start(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputElement2 interface
 */
#ifndef __IHTMLInputElement2_INTERFACE_DEFINED__
#define __IHTMLInputElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputElement2, 0x3050f821, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f821-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_accept(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accept(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_useMap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_useMap(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputElement2, 0x3050f821, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_accept)(
        IHTMLInputElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_accept)(
        IHTMLInputElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_useMap)(
        IHTMLInputElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_useMap)(
        IHTMLInputElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLInputElement2Vtbl;

interface IHTMLInputElement2 {
    CONST_VTBL IHTMLInputElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputElement2 methods ***/
#define IHTMLInputElement2_put_accept(This,v) (This)->lpVtbl->put_accept(This,v)
#define IHTMLInputElement2_get_accept(This,p) (This)->lpVtbl->get_accept(This,p)
#define IHTMLInputElement2_put_useMap(This,v) (This)->lpVtbl->put_useMap(This,v)
#define IHTMLInputElement2_get_useMap(This,p) (This)->lpVtbl->get_useMap(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputElement2_QueryInterface(IHTMLInputElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputElement2_AddRef(IHTMLInputElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputElement2_Release(IHTMLInputElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputElement2_GetTypeInfoCount(IHTMLInputElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputElement2_GetTypeInfo(IHTMLInputElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputElement2_GetIDsOfNames(IHTMLInputElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputElement2_Invoke(IHTMLInputElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputElement2 methods ***/
static inline HRESULT IHTMLInputElement2_put_accept(IHTMLInputElement2* This,BSTR v) {
    return This->lpVtbl->put_accept(This,v);
}
static inline HRESULT IHTMLInputElement2_get_accept(IHTMLInputElement2* This,BSTR *p) {
    return This->lpVtbl->get_accept(This,p);
}
static inline HRESULT IHTMLInputElement2_put_useMap(IHTMLInputElement2* This,BSTR v) {
    return This->lpVtbl->put_useMap(This,v);
}
static inline HRESULT IHTMLInputElement2_get_useMap(IHTMLInputElement2* This,BSTR *p) {
    return This->lpVtbl->get_useMap(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputElement3 interface
 */
#ifndef __IHTMLInputElement3_INTERFACE_DEFINED__
#define __IHTMLInputElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputElement3, 0x30510435, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510435-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lowsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lowsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vrml(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vrml(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dynsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dynsrc(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputElement3, 0x30510435, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputElement3Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLInputElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLInputElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lowsrc)(
        IHTMLInputElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lowsrc)(
        IHTMLInputElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vrml)(
        IHTMLInputElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vrml)(
        IHTMLInputElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dynsrc)(
        IHTMLInputElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dynsrc)(
        IHTMLInputElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLInputElement3Vtbl;

interface IHTMLInputElement3 {
    CONST_VTBL IHTMLInputElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputElement3 methods ***/
#define IHTMLInputElement3_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLInputElement3_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLInputElement3_put_lowsrc(This,v) (This)->lpVtbl->put_lowsrc(This,v)
#define IHTMLInputElement3_get_lowsrc(This,p) (This)->lpVtbl->get_lowsrc(This,p)
#define IHTMLInputElement3_put_vrml(This,v) (This)->lpVtbl->put_vrml(This,v)
#define IHTMLInputElement3_get_vrml(This,p) (This)->lpVtbl->get_vrml(This,p)
#define IHTMLInputElement3_put_dynsrc(This,v) (This)->lpVtbl->put_dynsrc(This,v)
#define IHTMLInputElement3_get_dynsrc(This,p) (This)->lpVtbl->get_dynsrc(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputElement3_QueryInterface(IHTMLInputElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputElement3_AddRef(IHTMLInputElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputElement3_Release(IHTMLInputElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputElement3_GetTypeInfoCount(IHTMLInputElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputElement3_GetTypeInfo(IHTMLInputElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputElement3_GetIDsOfNames(IHTMLInputElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputElement3_Invoke(IHTMLInputElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputElement3 methods ***/
static inline HRESULT IHTMLInputElement3_put_src(IHTMLInputElement3* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLInputElement3_get_src(IHTMLInputElement3* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLInputElement3_put_lowsrc(IHTMLInputElement3* This,BSTR v) {
    return This->lpVtbl->put_lowsrc(This,v);
}
static inline HRESULT IHTMLInputElement3_get_lowsrc(IHTMLInputElement3* This,BSTR *p) {
    return This->lpVtbl->get_lowsrc(This,p);
}
static inline HRESULT IHTMLInputElement3_put_vrml(IHTMLInputElement3* This,BSTR v) {
    return This->lpVtbl->put_vrml(This,v);
}
static inline HRESULT IHTMLInputElement3_get_vrml(IHTMLInputElement3* This,BSTR *p) {
    return This->lpVtbl->get_vrml(This,p);
}
static inline HRESULT IHTMLInputElement3_put_dynsrc(IHTMLInputElement3* This,BSTR v) {
    return This->lpVtbl->put_dynsrc(This,v);
}
static inline HRESULT IHTMLInputElement3_get_dynsrc(IHTMLInputElement3* This,BSTR *p) {
    return This->lpVtbl->get_dynsrc(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputButtonElement interface
 */
#ifndef __IHTMLInputButtonElement_INTERFACE_DEFINED__
#define __IHTMLInputButtonElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputButtonElement, 0x3050f2b2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2b2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputButtonElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextRange(
        IHTMLTxtRange **range) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputButtonElement, 0x3050f2b2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputButtonElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputButtonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputButtonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputButtonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputButtonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputButtonElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLInputButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLInputButtonElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLInputButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLInputButtonElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLInputButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLInputButtonElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLInputButtonElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLInputButtonElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLInputButtonElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLInputButtonElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *createTextRange)(
        IHTMLInputButtonElement *This,
        IHTMLTxtRange **range);

    END_INTERFACE
} IHTMLInputButtonElementVtbl;

interface IHTMLInputButtonElement {
    CONST_VTBL IHTMLInputButtonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputButtonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputButtonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputButtonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputButtonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputButtonElement methods ***/
#define IHTMLInputButtonElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLInputButtonElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLInputButtonElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLInputButtonElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLInputButtonElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLInputButtonElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLInputButtonElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLInputButtonElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLInputButtonElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLInputButtonElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLInputButtonElement_createTextRange(This,range) (This)->lpVtbl->createTextRange(This,range)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputButtonElement_QueryInterface(IHTMLInputButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputButtonElement_AddRef(IHTMLInputButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputButtonElement_Release(IHTMLInputButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputButtonElement_GetTypeInfoCount(IHTMLInputButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputButtonElement_GetTypeInfo(IHTMLInputButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputButtonElement_GetIDsOfNames(IHTMLInputButtonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputButtonElement_Invoke(IHTMLInputButtonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputButtonElement methods ***/
static inline HRESULT IHTMLInputButtonElement_get_type(IHTMLInputButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLInputButtonElement_put_value(IHTMLInputButtonElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLInputButtonElement_get_value(IHTMLInputButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLInputButtonElement_put_name(IHTMLInputButtonElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLInputButtonElement_get_name(IHTMLInputButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLInputButtonElement_put_status(IHTMLInputButtonElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLInputButtonElement_get_status(IHTMLInputButtonElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLInputButtonElement_put_disabled(IHTMLInputButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLInputButtonElement_get_disabled(IHTMLInputButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLInputButtonElement_get_form(IHTMLInputButtonElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLInputButtonElement_createTextRange(IHTMLInputButtonElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputButtonElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputHiddenElement interface
 */
#ifndef __IHTMLInputHiddenElement_INTERFACE_DEFINED__
#define __IHTMLInputHiddenElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputHiddenElement, 0x3050f2a4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2a4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputHiddenElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextRange(
        IHTMLTxtRange **range) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputHiddenElement, 0x3050f2a4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputHiddenElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputHiddenElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputHiddenElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputHiddenElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputHiddenElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputHiddenElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLInputHiddenElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLInputHiddenElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLInputHiddenElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLInputHiddenElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLInputHiddenElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLInputHiddenElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLInputHiddenElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLInputHiddenElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLInputHiddenElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLInputHiddenElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *createTextRange)(
        IHTMLInputHiddenElement *This,
        IHTMLTxtRange **range);

    END_INTERFACE
} IHTMLInputHiddenElementVtbl;

interface IHTMLInputHiddenElement {
    CONST_VTBL IHTMLInputHiddenElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputHiddenElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputHiddenElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputHiddenElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputHiddenElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputHiddenElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputHiddenElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputHiddenElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputHiddenElement methods ***/
#define IHTMLInputHiddenElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLInputHiddenElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLInputHiddenElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLInputHiddenElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLInputHiddenElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLInputHiddenElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLInputHiddenElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLInputHiddenElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLInputHiddenElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLInputHiddenElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLInputHiddenElement_createTextRange(This,range) (This)->lpVtbl->createTextRange(This,range)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputHiddenElement_QueryInterface(IHTMLInputHiddenElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputHiddenElement_AddRef(IHTMLInputHiddenElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputHiddenElement_Release(IHTMLInputHiddenElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputHiddenElement_GetTypeInfoCount(IHTMLInputHiddenElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputHiddenElement_GetTypeInfo(IHTMLInputHiddenElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputHiddenElement_GetIDsOfNames(IHTMLInputHiddenElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputHiddenElement_Invoke(IHTMLInputHiddenElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputHiddenElement methods ***/
static inline HRESULT IHTMLInputHiddenElement_get_type(IHTMLInputHiddenElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLInputHiddenElement_put_value(IHTMLInputHiddenElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLInputHiddenElement_get_value(IHTMLInputHiddenElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLInputHiddenElement_put_name(IHTMLInputHiddenElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLInputHiddenElement_get_name(IHTMLInputHiddenElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLInputHiddenElement_put_status(IHTMLInputHiddenElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLInputHiddenElement_get_status(IHTMLInputHiddenElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLInputHiddenElement_put_disabled(IHTMLInputHiddenElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLInputHiddenElement_get_disabled(IHTMLInputHiddenElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLInputHiddenElement_get_form(IHTMLInputHiddenElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLInputHiddenElement_createTextRange(IHTMLInputHiddenElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputHiddenElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputTextElement interface
 */
#ifndef __IHTMLInputTextElement_INTERFACE_DEFINED__
#define __IHTMLInputTextElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputTextElement, 0x3050f2a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2a6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputTextElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultValue(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultValue(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_size(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxLength(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxLength(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE select(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_readOnly(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readOnly(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextRange(
        IHTMLTxtRange **range) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputTextElement, 0x3050f2a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputTextElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputTextElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputTextElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputTextElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputTextElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputTextElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLInputTextElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLInputTextElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLInputTextElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLInputTextElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLInputTextElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLInputTextElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLInputTextElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLInputTextElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLInputTextElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLInputTextElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *put_defaultValue)(
        IHTMLInputTextElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_defaultValue)(
        IHTMLInputTextElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_size)(
        IHTMLInputTextElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IHTMLInputTextElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_maxLength)(
        IHTMLInputTextElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_maxLength)(
        IHTMLInputTextElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *select)(
        IHTMLInputTextElement *This);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLInputTextElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLInputTextElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLInputTextElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLInputTextElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_readOnly)(
        IHTMLInputTextElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_readOnly)(
        IHTMLInputTextElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *createTextRange)(
        IHTMLInputTextElement *This,
        IHTMLTxtRange **range);

    END_INTERFACE
} IHTMLInputTextElementVtbl;

interface IHTMLInputTextElement {
    CONST_VTBL IHTMLInputTextElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputTextElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputTextElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputTextElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputTextElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputTextElement methods ***/
#define IHTMLInputTextElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLInputTextElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLInputTextElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLInputTextElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLInputTextElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLInputTextElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLInputTextElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLInputTextElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLInputTextElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLInputTextElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLInputTextElement_put_defaultValue(This,v) (This)->lpVtbl->put_defaultValue(This,v)
#define IHTMLInputTextElement_get_defaultValue(This,p) (This)->lpVtbl->get_defaultValue(This,p)
#define IHTMLInputTextElement_put_size(This,v) (This)->lpVtbl->put_size(This,v)
#define IHTMLInputTextElement_get_size(This,p) (This)->lpVtbl->get_size(This,p)
#define IHTMLInputTextElement_put_maxLength(This,v) (This)->lpVtbl->put_maxLength(This,v)
#define IHTMLInputTextElement_get_maxLength(This,p) (This)->lpVtbl->get_maxLength(This,p)
#define IHTMLInputTextElement_select(This) (This)->lpVtbl->select(This)
#define IHTMLInputTextElement_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLInputTextElement_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLInputTextElement_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLInputTextElement_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLInputTextElement_put_readOnly(This,v) (This)->lpVtbl->put_readOnly(This,v)
#define IHTMLInputTextElement_get_readOnly(This,p) (This)->lpVtbl->get_readOnly(This,p)
#define IHTMLInputTextElement_createTextRange(This,range) (This)->lpVtbl->createTextRange(This,range)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputTextElement_QueryInterface(IHTMLInputTextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputTextElement_AddRef(IHTMLInputTextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputTextElement_Release(IHTMLInputTextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputTextElement_GetTypeInfoCount(IHTMLInputTextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputTextElement_GetTypeInfo(IHTMLInputTextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputTextElement_GetIDsOfNames(IHTMLInputTextElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputTextElement_Invoke(IHTMLInputTextElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputTextElement methods ***/
static inline HRESULT IHTMLInputTextElement_get_type(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_value(IHTMLInputTextElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_value(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_name(IHTMLInputTextElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_name(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_status(IHTMLInputTextElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_status(IHTMLInputTextElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_disabled(IHTMLInputTextElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_disabled(IHTMLInputTextElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLInputTextElement_get_form(IHTMLInputTextElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_defaultValue(IHTMLInputTextElement* This,BSTR v) {
    return This->lpVtbl->put_defaultValue(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_defaultValue(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_defaultValue(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_size(IHTMLInputTextElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_size(IHTMLInputTextElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_maxLength(IHTMLInputTextElement* This,LONG v) {
    return This->lpVtbl->put_maxLength(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_maxLength(IHTMLInputTextElement* This,LONG *p) {
    return This->lpVtbl->get_maxLength(This,p);
}
static inline HRESULT IHTMLInputTextElement_select(IHTMLInputTextElement* This) {
    return This->lpVtbl->select(This);
}
static inline HRESULT IHTMLInputTextElement_put_onchange(IHTMLInputTextElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_onchange(IHTMLInputTextElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_onselect(IHTMLInputTextElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_onselect(IHTMLInputTextElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLInputTextElement_put_readOnly(IHTMLInputTextElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_readOnly(This,v);
}
static inline HRESULT IHTMLInputTextElement_get_readOnly(IHTMLInputTextElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static inline HRESULT IHTMLInputTextElement_createTextRange(IHTMLInputTextElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputTextElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputTextElement2 interface
 */
#ifndef __IHTMLInputTextElement2_INTERFACE_DEFINED__
#define __IHTMLInputTextElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputTextElement2, 0x3050f2d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2d2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputTextElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_selectionStart(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectionStart(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_selectionEnd(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectionEnd(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setSelectionRange(
        LONG start,
        LONG end) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputTextElement2, 0x3050f2d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputTextElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputTextElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputTextElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputTextElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputTextElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputTextElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selectionStart)(
        IHTMLInputTextElement2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_selectionStart)(
        IHTMLInputTextElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_selectionEnd)(
        IHTMLInputTextElement2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_selectionEnd)(
        IHTMLInputTextElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *setSelectionRange)(
        IHTMLInputTextElement2 *This,
        LONG start,
        LONG end);

    END_INTERFACE
} IHTMLInputTextElement2Vtbl;

interface IHTMLInputTextElement2 {
    CONST_VTBL IHTMLInputTextElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputTextElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputTextElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputTextElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputTextElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputTextElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputTextElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputTextElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputTextElement2 methods ***/
#define IHTMLInputTextElement2_put_selectionStart(This,v) (This)->lpVtbl->put_selectionStart(This,v)
#define IHTMLInputTextElement2_get_selectionStart(This,p) (This)->lpVtbl->get_selectionStart(This,p)
#define IHTMLInputTextElement2_put_selectionEnd(This,v) (This)->lpVtbl->put_selectionEnd(This,v)
#define IHTMLInputTextElement2_get_selectionEnd(This,p) (This)->lpVtbl->get_selectionEnd(This,p)
#define IHTMLInputTextElement2_setSelectionRange(This,start,end) (This)->lpVtbl->setSelectionRange(This,start,end)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputTextElement2_QueryInterface(IHTMLInputTextElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputTextElement2_AddRef(IHTMLInputTextElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputTextElement2_Release(IHTMLInputTextElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputTextElement2_GetTypeInfoCount(IHTMLInputTextElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputTextElement2_GetTypeInfo(IHTMLInputTextElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputTextElement2_GetIDsOfNames(IHTMLInputTextElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputTextElement2_Invoke(IHTMLInputTextElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputTextElement2 methods ***/
static inline HRESULT IHTMLInputTextElement2_put_selectionStart(IHTMLInputTextElement2* This,LONG v) {
    return This->lpVtbl->put_selectionStart(This,v);
}
static inline HRESULT IHTMLInputTextElement2_get_selectionStart(IHTMLInputTextElement2* This,LONG *p) {
    return This->lpVtbl->get_selectionStart(This,p);
}
static inline HRESULT IHTMLInputTextElement2_put_selectionEnd(IHTMLInputTextElement2* This,LONG v) {
    return This->lpVtbl->put_selectionEnd(This,v);
}
static inline HRESULT IHTMLInputTextElement2_get_selectionEnd(IHTMLInputTextElement2* This,LONG *p) {
    return This->lpVtbl->get_selectionEnd(This,p);
}
static inline HRESULT IHTMLInputTextElement2_setSelectionRange(IHTMLInputTextElement2* This,LONG start,LONG end) {
    return This->lpVtbl->setSelectionRange(This,start,end);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputTextElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputFileElement interface
 */
#ifndef __IHTMLInputFileElement_INTERFACE_DEFINED__
#define __IHTMLInputFileElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputFileElement, 0x3050f2ad, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2ad-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputFileElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_size(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maxLength(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxLength(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE select(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputFileElement, 0x3050f2ad, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputFileElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputFileElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputFileElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputFileElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputFileElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputFileElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLInputFileElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLInputFileElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLInputFileElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLInputFileElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLInputFileElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLInputFileElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLInputFileElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLInputFileElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *put_size)(
        IHTMLInputFileElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IHTMLInputFileElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_maxLength)(
        IHTMLInputFileElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_maxLength)(
        IHTMLInputFileElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *select)(
        IHTMLInputFileElement *This);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLInputFileElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLInputFileElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLInputFileElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLInputFileElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLInputFileElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLInputFileElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLInputFileElementVtbl;

interface IHTMLInputFileElement {
    CONST_VTBL IHTMLInputFileElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputFileElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputFileElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputFileElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputFileElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputFileElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputFileElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputFileElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputFileElement methods ***/
#define IHTMLInputFileElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLInputFileElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLInputFileElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLInputFileElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLInputFileElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLInputFileElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLInputFileElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLInputFileElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLInputFileElement_put_size(This,v) (This)->lpVtbl->put_size(This,v)
#define IHTMLInputFileElement_get_size(This,p) (This)->lpVtbl->get_size(This,p)
#define IHTMLInputFileElement_put_maxLength(This,v) (This)->lpVtbl->put_maxLength(This,v)
#define IHTMLInputFileElement_get_maxLength(This,p) (This)->lpVtbl->get_maxLength(This,p)
#define IHTMLInputFileElement_select(This) (This)->lpVtbl->select(This)
#define IHTMLInputFileElement_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLInputFileElement_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLInputFileElement_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLInputFileElement_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLInputFileElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLInputFileElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputFileElement_QueryInterface(IHTMLInputFileElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputFileElement_AddRef(IHTMLInputFileElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputFileElement_Release(IHTMLInputFileElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputFileElement_GetTypeInfoCount(IHTMLInputFileElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputFileElement_GetTypeInfo(IHTMLInputFileElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputFileElement_GetIDsOfNames(IHTMLInputFileElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputFileElement_Invoke(IHTMLInputFileElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputFileElement methods ***/
static inline HRESULT IHTMLInputFileElement_get_type(IHTMLInputFileElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLInputFileElement_put_name(IHTMLInputFileElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_name(IHTMLInputFileElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLInputFileElement_put_status(IHTMLInputFileElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_status(IHTMLInputFileElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLInputFileElement_put_disabled(IHTMLInputFileElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_disabled(IHTMLInputFileElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLInputFileElement_get_form(IHTMLInputFileElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLInputFileElement_put_size(IHTMLInputFileElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_size(IHTMLInputFileElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
static inline HRESULT IHTMLInputFileElement_put_maxLength(IHTMLInputFileElement* This,LONG v) {
    return This->lpVtbl->put_maxLength(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_maxLength(IHTMLInputFileElement* This,LONG *p) {
    return This->lpVtbl->get_maxLength(This,p);
}
static inline HRESULT IHTMLInputFileElement_select(IHTMLInputFileElement* This) {
    return This->lpVtbl->select(This);
}
static inline HRESULT IHTMLInputFileElement_put_onchange(IHTMLInputFileElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_onchange(IHTMLInputFileElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLInputFileElement_put_onselect(IHTMLInputFileElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_onselect(IHTMLInputFileElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLInputFileElement_put_value(IHTMLInputFileElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLInputFileElement_get_value(IHTMLInputFileElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputFileElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLOptionButtonElement interface
 */
#ifndef __IHTMLOptionButtonElement_INTERFACE_DEFINED__
#define __IHTMLOptionButtonElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOptionButtonElement, 0x3050f2bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2bc-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionButtonElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_checked(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_checked(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultChecked(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultChecked(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_indeterminate(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_indeterminate(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOptionButtonElement, 0x3050f2bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOptionButtonElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOptionButtonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOptionButtonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOptionButtonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOptionButtonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOptionButtonElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLOptionButtonElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLOptionButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLOptionButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLOptionButtonElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLOptionButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_checked)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_checked)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultChecked)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_defaultChecked)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLOptionButtonElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLOptionButtonElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_indeterminate)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_indeterminate)(
        IHTMLOptionButtonElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLOptionButtonElement *This,
        IHTMLFormElement **p);

    END_INTERFACE
} IHTMLOptionButtonElementVtbl;

interface IHTMLOptionButtonElement {
    CONST_VTBL IHTMLOptionButtonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOptionButtonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOptionButtonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOptionButtonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOptionButtonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOptionButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOptionButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOptionButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOptionButtonElement methods ***/
#define IHTMLOptionButtonElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLOptionButtonElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLOptionButtonElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLOptionButtonElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLOptionButtonElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLOptionButtonElement_put_checked(This,v) (This)->lpVtbl->put_checked(This,v)
#define IHTMLOptionButtonElement_get_checked(This,p) (This)->lpVtbl->get_checked(This,p)
#define IHTMLOptionButtonElement_put_defaultChecked(This,v) (This)->lpVtbl->put_defaultChecked(This,v)
#define IHTMLOptionButtonElement_get_defaultChecked(This,p) (This)->lpVtbl->get_defaultChecked(This,p)
#define IHTMLOptionButtonElement_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLOptionButtonElement_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLOptionButtonElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLOptionButtonElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLOptionButtonElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLOptionButtonElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLOptionButtonElement_put_indeterminate(This,v) (This)->lpVtbl->put_indeterminate(This,v)
#define IHTMLOptionButtonElement_get_indeterminate(This,p) (This)->lpVtbl->get_indeterminate(This,p)
#define IHTMLOptionButtonElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOptionButtonElement_QueryInterface(IHTMLOptionButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOptionButtonElement_AddRef(IHTMLOptionButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOptionButtonElement_Release(IHTMLOptionButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOptionButtonElement_GetTypeInfoCount(IHTMLOptionButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOptionButtonElement_GetTypeInfo(IHTMLOptionButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOptionButtonElement_GetIDsOfNames(IHTMLOptionButtonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOptionButtonElement_Invoke(IHTMLOptionButtonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOptionButtonElement methods ***/
static inline HRESULT IHTMLOptionButtonElement_put_value(IHTMLOptionButtonElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_value(IHTMLOptionButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_get_type(IHTMLOptionButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_put_name(IHTMLOptionButtonElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_name(IHTMLOptionButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_put_checked(IHTMLOptionButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_checked(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_checked(IHTMLOptionButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_checked(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_put_defaultChecked(IHTMLOptionButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_defaultChecked(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_defaultChecked(IHTMLOptionButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defaultChecked(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_put_onchange(IHTMLOptionButtonElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_onchange(IHTMLOptionButtonElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_put_disabled(IHTMLOptionButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_disabled(IHTMLOptionButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_put_status(IHTMLOptionButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_status(IHTMLOptionButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_put_indeterminate(IHTMLOptionButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_indeterminate(This,v);
}
static inline HRESULT IHTMLOptionButtonElement_get_indeterminate(IHTMLOptionButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_indeterminate(This,p);
}
static inline HRESULT IHTMLOptionButtonElement_get_form(IHTMLOptionButtonElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLOptionButtonElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputImage interface
 */
#ifndef __IHTMLInputImage_INTERFACE_DEFINED__
#define __IHTMLInputImage_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputImage, 0x3050f2c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2c2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputImage : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alt(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alt(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lowsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lowsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vrml(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vrml(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dynsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dynsrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_complete(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_loop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onabort(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onabort(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_start(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_start(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputImage, 0x3050f2c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputImageVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputImage *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputImage *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputImage *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputImage *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputImage methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLInputImage *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLInputImage *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLInputImage *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLInputImage *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_vspace)(
        IHTMLInputImage *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_vspace)(
        IHTMLInputImage *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_hspace)(
        IHTMLInputImage *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_hspace)(
        IHTMLInputImage *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_alt)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_alt)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lowsrc)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lowsrc)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vrml)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vrml)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dynsrc)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dynsrc)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_complete)(
        IHTMLInputImage *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_loop)(
        IHTMLInputImage *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_loop)(
        IHTMLInputImage *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLInputImage *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLInputImage *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLInputImage *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLInputImage *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onabort)(
        IHTMLInputImage *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onabort)(
        IHTMLInputImage *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLInputImage *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLInputImage *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLInputImage *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLInputImage *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLInputImage *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_start)(
        IHTMLInputImage *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_start)(
        IHTMLInputImage *This,
        BSTR *p);

    END_INTERFACE
} IHTMLInputImageVtbl;

interface IHTMLInputImage {
    CONST_VTBL IHTMLInputImageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputImage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputImage_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputImage_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputImage methods ***/
#define IHTMLInputImage_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLInputImage_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLInputImage_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLInputImage_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLInputImage_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLInputImage_put_vspace(This,v) (This)->lpVtbl->put_vspace(This,v)
#define IHTMLInputImage_get_vspace(This,p) (This)->lpVtbl->get_vspace(This,p)
#define IHTMLInputImage_put_hspace(This,v) (This)->lpVtbl->put_hspace(This,v)
#define IHTMLInputImage_get_hspace(This,p) (This)->lpVtbl->get_hspace(This,p)
#define IHTMLInputImage_put_alt(This,v) (This)->lpVtbl->put_alt(This,v)
#define IHTMLInputImage_get_alt(This,p) (This)->lpVtbl->get_alt(This,p)
#define IHTMLInputImage_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLInputImage_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLInputImage_put_lowsrc(This,v) (This)->lpVtbl->put_lowsrc(This,v)
#define IHTMLInputImage_get_lowsrc(This,p) (This)->lpVtbl->get_lowsrc(This,p)
#define IHTMLInputImage_put_vrml(This,v) (This)->lpVtbl->put_vrml(This,v)
#define IHTMLInputImage_get_vrml(This,p) (This)->lpVtbl->get_vrml(This,p)
#define IHTMLInputImage_put_dynsrc(This,v) (This)->lpVtbl->put_dynsrc(This,v)
#define IHTMLInputImage_get_dynsrc(This,p) (This)->lpVtbl->get_dynsrc(This,p)
#define IHTMLInputImage_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLInputImage_get_complete(This,p) (This)->lpVtbl->get_complete(This,p)
#define IHTMLInputImage_put_loop(This,v) (This)->lpVtbl->put_loop(This,v)
#define IHTMLInputImage_get_loop(This,p) (This)->lpVtbl->get_loop(This,p)
#define IHTMLInputImage_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLInputImage_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLInputImage_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLInputImage_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLInputImage_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLInputImage_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLInputImage_put_onabort(This,v) (This)->lpVtbl->put_onabort(This,v)
#define IHTMLInputImage_get_onabort(This,p) (This)->lpVtbl->get_onabort(This,p)
#define IHTMLInputImage_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLInputImage_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLInputImage_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLInputImage_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLInputImage_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLInputImage_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLInputImage_put_start(This,v) (This)->lpVtbl->put_start(This,v)
#define IHTMLInputImage_get_start(This,p) (This)->lpVtbl->get_start(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputImage_QueryInterface(IHTMLInputImage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputImage_AddRef(IHTMLInputImage* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputImage_Release(IHTMLInputImage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputImage_GetTypeInfoCount(IHTMLInputImage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputImage_GetTypeInfo(IHTMLInputImage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputImage_GetIDsOfNames(IHTMLInputImage* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputImage_Invoke(IHTMLInputImage* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputImage methods ***/
static inline HRESULT IHTMLInputImage_get_type(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLInputImage_put_disabled(IHTMLInputImage* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLInputImage_get_disabled(IHTMLInputImage* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLInputImage_put_border(IHTMLInputImage* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLInputImage_get_border(IHTMLInputImage* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLInputImage_put_vspace(IHTMLInputImage* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static inline HRESULT IHTMLInputImage_get_vspace(IHTMLInputImage* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static inline HRESULT IHTMLInputImage_put_hspace(IHTMLInputImage* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static inline HRESULT IHTMLInputImage_get_hspace(IHTMLInputImage* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static inline HRESULT IHTMLInputImage_put_alt(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static inline HRESULT IHTMLInputImage_get_alt(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static inline HRESULT IHTMLInputImage_put_src(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLInputImage_get_src(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLInputImage_put_lowsrc(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_lowsrc(This,v);
}
static inline HRESULT IHTMLInputImage_get_lowsrc(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_lowsrc(This,p);
}
static inline HRESULT IHTMLInputImage_put_vrml(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_vrml(This,v);
}
static inline HRESULT IHTMLInputImage_get_vrml(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_vrml(This,p);
}
static inline HRESULT IHTMLInputImage_put_dynsrc(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_dynsrc(This,v);
}
static inline HRESULT IHTMLInputImage_get_dynsrc(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_dynsrc(This,p);
}
static inline HRESULT IHTMLInputImage_get_readyState(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLInputImage_get_complete(IHTMLInputImage* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_complete(This,p);
}
static inline HRESULT IHTMLInputImage_put_loop(IHTMLInputImage* This,VARIANT v) {
    return This->lpVtbl->put_loop(This,v);
}
static inline HRESULT IHTMLInputImage_get_loop(IHTMLInputImage* This,VARIANT *p) {
    return This->lpVtbl->get_loop(This,p);
}
static inline HRESULT IHTMLInputImage_put_align(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLInputImage_get_align(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLInputImage_put_onload(IHTMLInputImage* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLInputImage_get_onload(IHTMLInputImage* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLInputImage_put_onerror(IHTMLInputImage* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLInputImage_get_onerror(IHTMLInputImage* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLInputImage_put_onabort(IHTMLInputImage* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static inline HRESULT IHTMLInputImage_get_onabort(IHTMLInputImage* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static inline HRESULT IHTMLInputImage_put_name(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLInputImage_get_name(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLInputImage_put_width(IHTMLInputImage* This,LONG v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLInputImage_get_width(IHTMLInputImage* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLInputImage_put_height(IHTMLInputImage* This,LONG v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLInputImage_get_height(IHTMLInputImage* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLInputImage_put_start(IHTMLInputImage* This,BSTR v) {
    return This->lpVtbl->put_start(This,v);
}
static inline HRESULT IHTMLInputImage_get_start(IHTMLInputImage* This,BSTR *p) {
    return This->lpVtbl->get_start(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputImage_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLInputRangeElement interface
 */
#ifndef __IHTMLInputRangeElement_INTERFACE_DEFINED__
#define __IHTMLInputRangeElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLInputRangeElement, 0x3050f2d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2d4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLInputRangeElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alt(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alt(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_min(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_min(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_max(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_max(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_step(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_step(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_valueAsNumber(
        double v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_valueAsNumber(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE stepUp(
        LONG n = 1) = 0;

    virtual HRESULT STDMETHODCALLTYPE stepDown(
        LONG n = 1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLInputRangeElement, 0x3050f2d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLInputRangeElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLInputRangeElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLInputRangeElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLInputRangeElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLInputRangeElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLInputRangeElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLInputRangeElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLInputRangeElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLInputRangeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_alt)(
        IHTMLInputRangeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_alt)(
        IHTMLInputRangeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLInputRangeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLInputRangeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLInputRangeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLInputRangeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_min)(
        IHTMLInputRangeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_min)(
        IHTMLInputRangeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_max)(
        IHTMLInputRangeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_max)(
        IHTMLInputRangeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_step)(
        IHTMLInputRangeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_step)(
        IHTMLInputRangeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_valueAsNumber)(
        IHTMLInputRangeElement *This,
        double v);

    HRESULT (STDMETHODCALLTYPE *get_valueAsNumber)(
        IHTMLInputRangeElement *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *stepUp)(
        IHTMLInputRangeElement *This,
        LONG n);

    HRESULT (STDMETHODCALLTYPE *stepDown)(
        IHTMLInputRangeElement *This,
        LONG n);

    END_INTERFACE
} IHTMLInputRangeElementVtbl;

interface IHTMLInputRangeElement {
    CONST_VTBL IHTMLInputRangeElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLInputRangeElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLInputRangeElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLInputRangeElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLInputRangeElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLInputRangeElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLInputRangeElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLInputRangeElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLInputRangeElement methods ***/
#define IHTMLInputRangeElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLInputRangeElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLInputRangeElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLInputRangeElement_put_alt(This,v) (This)->lpVtbl->put_alt(This,v)
#define IHTMLInputRangeElement_get_alt(This,p) (This)->lpVtbl->get_alt(This,p)
#define IHTMLInputRangeElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLInputRangeElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLInputRangeElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLInputRangeElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLInputRangeElement_put_min(This,v) (This)->lpVtbl->put_min(This,v)
#define IHTMLInputRangeElement_get_min(This,p) (This)->lpVtbl->get_min(This,p)
#define IHTMLInputRangeElement_put_max(This,v) (This)->lpVtbl->put_max(This,v)
#define IHTMLInputRangeElement_get_max(This,p) (This)->lpVtbl->get_max(This,p)
#define IHTMLInputRangeElement_put_step(This,v) (This)->lpVtbl->put_step(This,v)
#define IHTMLInputRangeElement_get_step(This,p) (This)->lpVtbl->get_step(This,p)
#define IHTMLInputRangeElement_put_valueAsNumber(This,v) (This)->lpVtbl->put_valueAsNumber(This,v)
#define IHTMLInputRangeElement_get_valueAsNumber(This,p) (This)->lpVtbl->get_valueAsNumber(This,p)
#define IHTMLInputRangeElement_stepUp(This,n) (This)->lpVtbl->stepUp(This,n)
#define IHTMLInputRangeElement_stepDown(This,n) (This)->lpVtbl->stepDown(This,n)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLInputRangeElement_QueryInterface(IHTMLInputRangeElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLInputRangeElement_AddRef(IHTMLInputRangeElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLInputRangeElement_Release(IHTMLInputRangeElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLInputRangeElement_GetTypeInfoCount(IHTMLInputRangeElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLInputRangeElement_GetTypeInfo(IHTMLInputRangeElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLInputRangeElement_GetIDsOfNames(IHTMLInputRangeElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLInputRangeElement_Invoke(IHTMLInputRangeElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLInputRangeElement methods ***/
static inline HRESULT IHTMLInputRangeElement_put_disabled(IHTMLInputRangeElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_disabled(IHTMLInputRangeElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLInputRangeElement_get_type(IHTMLInputRangeElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLInputRangeElement_put_alt(IHTMLInputRangeElement* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_alt(IHTMLInputRangeElement* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static inline HRESULT IHTMLInputRangeElement_put_name(IHTMLInputRangeElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_name(IHTMLInputRangeElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLInputRangeElement_put_value(IHTMLInputRangeElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_value(IHTMLInputRangeElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLInputRangeElement_put_min(IHTMLInputRangeElement* This,BSTR v) {
    return This->lpVtbl->put_min(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_min(IHTMLInputRangeElement* This,BSTR *p) {
    return This->lpVtbl->get_min(This,p);
}
static inline HRESULT IHTMLInputRangeElement_put_max(IHTMLInputRangeElement* This,BSTR v) {
    return This->lpVtbl->put_max(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_max(IHTMLInputRangeElement* This,BSTR *p) {
    return This->lpVtbl->get_max(This,p);
}
static inline HRESULT IHTMLInputRangeElement_put_step(IHTMLInputRangeElement* This,BSTR v) {
    return This->lpVtbl->put_step(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_step(IHTMLInputRangeElement* This,BSTR *p) {
    return This->lpVtbl->get_step(This,p);
}
static inline HRESULT IHTMLInputRangeElement_put_valueAsNumber(IHTMLInputRangeElement* This,double v) {
    return This->lpVtbl->put_valueAsNumber(This,v);
}
static inline HRESULT IHTMLInputRangeElement_get_valueAsNumber(IHTMLInputRangeElement* This,double *p) {
    return This->lpVtbl->get_valueAsNumber(This,p);
}
static inline HRESULT IHTMLInputRangeElement_stepUp(IHTMLInputRangeElement* This,LONG n) {
    return This->lpVtbl->stepUp(This,n);
}
static inline HRESULT IHTMLInputRangeElement_stepDown(IHTMLInputRangeElement* This,LONG n) {
    return This->lpVtbl->stepDown(This,n);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputRangeElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLInputElement dispinterface
 */
#ifndef __DispHTMLInputElement_DISPINTERFACE_DEFINED__
#define __DispHTMLInputElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLInputElement, 0x3050f57d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f57d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLInputElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLInputElement, 0x3050f57d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLInputElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLInputElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLInputElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLInputElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLInputElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLInputElementVtbl;

interface DispHTMLInputElement {
    CONST_VTBL DispHTMLInputElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLInputElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLInputElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLInputElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLInputElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLInputElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLInputElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLInputElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLInputElement_QueryInterface(DispHTMLInputElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLInputElement_AddRef(DispHTMLInputElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLInputElement_Release(DispHTMLInputElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLInputElement_GetTypeInfoCount(DispHTMLInputElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLInputElement_GetTypeInfo(DispHTMLInputElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLInputElement_GetIDsOfNames(DispHTMLInputElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLInputElement_Invoke(DispHTMLInputElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLInputElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputElement coclass
 */

DEFINE_GUID(CLSID_HTMLInputElement, 0x3050f5d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f5d8-98b5-11cf-bb82-00aa00bdce0b") HTMLInputElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputElement, 0x3050f5d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CInput;
/*****************************************************************************
 * IHTMLTextAreaElement interface
 */
#ifndef __IHTMLTextAreaElement_INTERFACE_DEFINED__
#define __IHTMLTextAreaElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTextAreaElement, 0x3050f2aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2aa-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTextAreaElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultValue(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultValue(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE select(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_readOnly(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readOnly(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rows(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rows(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cols(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cols(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_wrap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_wrap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextRange(
        IHTMLTxtRange **range) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTextAreaElement, 0x3050f2aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTextAreaElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTextAreaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTextAreaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTextAreaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTextAreaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTextAreaElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLTextAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLTextAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLTextAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLTextAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLTextAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLTextAreaElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLTextAreaElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLTextAreaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLTextAreaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLTextAreaElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *put_defaultValue)(
        IHTMLTextAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_defaultValue)(
        IHTMLTextAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *select)(
        IHTMLTextAreaElement *This);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLTextAreaElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLTextAreaElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLTextAreaElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLTextAreaElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_readOnly)(
        IHTMLTextAreaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_readOnly)(
        IHTMLTextAreaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_rows)(
        IHTMLTextAreaElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_rows)(
        IHTMLTextAreaElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_cols)(
        IHTMLTextAreaElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_cols)(
        IHTMLTextAreaElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_wrap)(
        IHTMLTextAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_wrap)(
        IHTMLTextAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *createTextRange)(
        IHTMLTextAreaElement *This,
        IHTMLTxtRange **range);

    END_INTERFACE
} IHTMLTextAreaElementVtbl;

interface IHTMLTextAreaElement {
    CONST_VTBL IHTMLTextAreaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTextAreaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTextAreaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTextAreaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTextAreaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTextAreaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTextAreaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTextAreaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTextAreaElement methods ***/
#define IHTMLTextAreaElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLTextAreaElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLTextAreaElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLTextAreaElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLTextAreaElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLTextAreaElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLTextAreaElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLTextAreaElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLTextAreaElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLTextAreaElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLTextAreaElement_put_defaultValue(This,v) (This)->lpVtbl->put_defaultValue(This,v)
#define IHTMLTextAreaElement_get_defaultValue(This,p) (This)->lpVtbl->get_defaultValue(This,p)
#define IHTMLTextAreaElement_select(This) (This)->lpVtbl->select(This)
#define IHTMLTextAreaElement_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLTextAreaElement_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLTextAreaElement_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLTextAreaElement_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLTextAreaElement_put_readOnly(This,v) (This)->lpVtbl->put_readOnly(This,v)
#define IHTMLTextAreaElement_get_readOnly(This,p) (This)->lpVtbl->get_readOnly(This,p)
#define IHTMLTextAreaElement_put_rows(This,v) (This)->lpVtbl->put_rows(This,v)
#define IHTMLTextAreaElement_get_rows(This,p) (This)->lpVtbl->get_rows(This,p)
#define IHTMLTextAreaElement_put_cols(This,v) (This)->lpVtbl->put_cols(This,v)
#define IHTMLTextAreaElement_get_cols(This,p) (This)->lpVtbl->get_cols(This,p)
#define IHTMLTextAreaElement_put_wrap(This,v) (This)->lpVtbl->put_wrap(This,v)
#define IHTMLTextAreaElement_get_wrap(This,p) (This)->lpVtbl->get_wrap(This,p)
#define IHTMLTextAreaElement_createTextRange(This,range) (This)->lpVtbl->createTextRange(This,range)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTextAreaElement_QueryInterface(IHTMLTextAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTextAreaElement_AddRef(IHTMLTextAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTextAreaElement_Release(IHTMLTextAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTextAreaElement_GetTypeInfoCount(IHTMLTextAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTextAreaElement_GetTypeInfo(IHTMLTextAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTextAreaElement_GetIDsOfNames(IHTMLTextAreaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTextAreaElement_Invoke(IHTMLTextAreaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTextAreaElement methods ***/
static inline HRESULT IHTMLTextAreaElement_get_type(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_value(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_value(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_name(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_name(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_status(IHTMLTextAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_status(IHTMLTextAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_disabled(IHTMLTextAreaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_disabled(IHTMLTextAreaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLTextAreaElement_get_form(IHTMLTextAreaElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_defaultValue(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_defaultValue(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_defaultValue(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_defaultValue(This,p);
}
static inline HRESULT IHTMLTextAreaElement_select(IHTMLTextAreaElement* This) {
    return This->lpVtbl->select(This);
}
static inline HRESULT IHTMLTextAreaElement_put_onchange(IHTMLTextAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_onchange(IHTMLTextAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_onselect(IHTMLTextAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_onselect(IHTMLTextAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_readOnly(IHTMLTextAreaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_readOnly(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_readOnly(IHTMLTextAreaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_rows(IHTMLTextAreaElement* This,LONG v) {
    return This->lpVtbl->put_rows(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_rows(IHTMLTextAreaElement* This,LONG *p) {
    return This->lpVtbl->get_rows(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_cols(IHTMLTextAreaElement* This,LONG v) {
    return This->lpVtbl->put_cols(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_cols(IHTMLTextAreaElement* This,LONG *p) {
    return This->lpVtbl->get_cols(This,p);
}
static inline HRESULT IHTMLTextAreaElement_put_wrap(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_wrap(This,v);
}
static inline HRESULT IHTMLTextAreaElement_get_wrap(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_wrap(This,p);
}
static inline HRESULT IHTMLTextAreaElement_createTextRange(IHTMLTextAreaElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextAreaElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTextAreaElement2 interface
 */
#ifndef __IHTMLTextAreaElement2_INTERFACE_DEFINED__
#define __IHTMLTextAreaElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTextAreaElement2, 0x3050f2d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2d3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTextAreaElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_selectionStart(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectionStart(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_selectionEnd(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectionEnd(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setSelectionRange(
        LONG start,
        LONG end) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTextAreaElement2, 0x3050f2d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTextAreaElement2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTextAreaElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTextAreaElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTextAreaElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTextAreaElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTextAreaElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selectionStart)(
        IHTMLTextAreaElement2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_selectionStart)(
        IHTMLTextAreaElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_selectionEnd)(
        IHTMLTextAreaElement2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_selectionEnd)(
        IHTMLTextAreaElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *setSelectionRange)(
        IHTMLTextAreaElement2 *This,
        LONG start,
        LONG end);

    END_INTERFACE
} IHTMLTextAreaElement2Vtbl;

interface IHTMLTextAreaElement2 {
    CONST_VTBL IHTMLTextAreaElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTextAreaElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTextAreaElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTextAreaElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTextAreaElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTextAreaElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTextAreaElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTextAreaElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTextAreaElement2 methods ***/
#define IHTMLTextAreaElement2_put_selectionStart(This,v) (This)->lpVtbl->put_selectionStart(This,v)
#define IHTMLTextAreaElement2_get_selectionStart(This,p) (This)->lpVtbl->get_selectionStart(This,p)
#define IHTMLTextAreaElement2_put_selectionEnd(This,v) (This)->lpVtbl->put_selectionEnd(This,v)
#define IHTMLTextAreaElement2_get_selectionEnd(This,p) (This)->lpVtbl->get_selectionEnd(This,p)
#define IHTMLTextAreaElement2_setSelectionRange(This,start,end) (This)->lpVtbl->setSelectionRange(This,start,end)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTextAreaElement2_QueryInterface(IHTMLTextAreaElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTextAreaElement2_AddRef(IHTMLTextAreaElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTextAreaElement2_Release(IHTMLTextAreaElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTextAreaElement2_GetTypeInfoCount(IHTMLTextAreaElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTextAreaElement2_GetTypeInfo(IHTMLTextAreaElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTextAreaElement2_GetIDsOfNames(IHTMLTextAreaElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTextAreaElement2_Invoke(IHTMLTextAreaElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTextAreaElement2 methods ***/
static inline HRESULT IHTMLTextAreaElement2_put_selectionStart(IHTMLTextAreaElement2* This,LONG v) {
    return This->lpVtbl->put_selectionStart(This,v);
}
static inline HRESULT IHTMLTextAreaElement2_get_selectionStart(IHTMLTextAreaElement2* This,LONG *p) {
    return This->lpVtbl->get_selectionStart(This,p);
}
static inline HRESULT IHTMLTextAreaElement2_put_selectionEnd(IHTMLTextAreaElement2* This,LONG v) {
    return This->lpVtbl->put_selectionEnd(This,v);
}
static inline HRESULT IHTMLTextAreaElement2_get_selectionEnd(IHTMLTextAreaElement2* This,LONG *p) {
    return This->lpVtbl->get_selectionEnd(This,p);
}
static inline HRESULT IHTMLTextAreaElement2_setSelectionRange(IHTMLTextAreaElement2* This,LONG start,LONG end) {
    return This->lpVtbl->setSelectionRange(This,start,end);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextAreaElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLTextAreaElement dispinterface
 */
#ifndef __DispHTMLTextAreaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLTextAreaElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTextAreaElement, 0x3050f521, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f521-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTextAreaElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTextAreaElement, 0x3050f521, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTextAreaElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTextAreaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTextAreaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTextAreaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTextAreaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTextAreaElementVtbl;

interface DispHTMLTextAreaElement {
    CONST_VTBL DispHTMLTextAreaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTextAreaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTextAreaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTextAreaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTextAreaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTextAreaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTextAreaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTextAreaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTextAreaElement_QueryInterface(DispHTMLTextAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTextAreaElement_AddRef(DispHTMLTextAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTextAreaElement_Release(DispHTMLTextAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTextAreaElement_GetTypeInfoCount(DispHTMLTextAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTextAreaElement_GetTypeInfo(DispHTMLTextAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTextAreaElement_GetIDsOfNames(DispHTMLTextAreaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTextAreaElement_Invoke(DispHTMLTextAreaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTextAreaElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTextAreaElement coclass
 */

DEFINE_GUID(CLSID_HTMLTextAreaElement, 0x3050f2ac, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2ac-98b5-11cf-bb82-00aa00bdce0b") HTMLTextAreaElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTextAreaElement, 0x3050f2ac, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTextArea;
/*****************************************************************************
 * DispHTMLRichtextElement dispinterface
 */
#ifndef __DispHTMLRichtextElement_DISPINTERFACE_DEFINED__
#define __DispHTMLRichtextElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLRichtextElement, 0x3050f54d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f54d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLRichtextElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLRichtextElement, 0x3050f54d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLRichtextElementVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLRichtextElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLRichtextElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLRichtextElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLRichtextElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLRichtextElementVtbl;

interface DispHTMLRichtextElement {
    CONST_VTBL DispHTMLRichtextElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLRichtextElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLRichtextElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLRichtextElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLRichtextElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLRichtextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLRichtextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLRichtextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLRichtextElement_QueryInterface(DispHTMLRichtextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLRichtextElement_AddRef(DispHTMLRichtextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLRichtextElement_Release(DispHTMLRichtextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLRichtextElement_GetTypeInfoCount(DispHTMLRichtextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLRichtextElement_GetTypeInfo(DispHTMLRichtextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLRichtextElement_GetIDsOfNames(DispHTMLRichtextElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLRichtextElement_Invoke(DispHTMLRichtextElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLRichtextElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLRichtextElement coclass
 */

DEFINE_GUID(CLSID_HTMLRichtextElement, 0x3050f2df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2df-98b5-11cf-bb82-00aa00bdce0b") HTMLRichtextElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLRichtextElement, 0x3050f2df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CRichtext;
/*****************************************************************************
 * IHTMLButtonElement interface
 */
#ifndef __IHTMLButtonElement_INTERFACE_DEFINED__
#define __IHTMLButtonElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLButtonElement, 0x3050f2bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2bb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLButtonElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextRange(
        IHTMLTxtRange **range) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLButtonElement, 0x3050f2bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLButtonElementVtbl {
    BEGIN_INTERFACE

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

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

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLButtonElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLButtonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLButtonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLButtonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLButtonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLButtonElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLButtonElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLButtonElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLButtonElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLButtonElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLButtonElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLButtonElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLButtonElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLButtonElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *createTextRange)(
        IHTMLButtonElement *This,
        IHTMLTxtRange **range);

    END_INTERFACE
} IHTMLButtonElementVtbl;

interface IHTMLButtonElement {
    CONST_VTBL IHTMLButtonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLButtonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLButtonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLButtonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLButtonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLButtonElement methods ***/
#define IHTMLButtonElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLButtonElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLButtonElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLButtonElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLButtonElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLButtonElement_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLButtonElement_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLButtonElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLButtonElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLButtonElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLButtonElement_createTextRange(This,range) (This)->lpVtbl->createTextRange(This,range)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLButtonElement_QueryInterface(IHTMLButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLButtonElement_AddRef(IHTMLButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLButtonElement_Release(IHTMLButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLButtonElement_GetTypeInfoCount(IHTMLButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLButtonElement_GetTypeInfo(IHTMLButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLButtonElement_GetIDsOfNames(IHTMLButtonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLButtonElement_Invoke(IHTMLButtonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLButtonElement methods ***/
static inline HRESULT IHTMLButtonElement_get_type(IHTMLButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLButtonElement_put_value(IHTMLButtonElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLButtonElement_get_value(IHTMLButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLButtonElement_put_name(IHTMLButtonElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLButtonElement_get_name(IHTMLButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLButtonElement_put_status(IHTMLButtonElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLButtonElement_get_status(IHTMLButtonElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLButtonElement_put_disabled(IHTMLButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLButtonElement_get_disabled(IHTMLButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLButtonElement_get_form(IHTMLButtonElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLButtonElement_createTextRange(IHTMLButtonElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLButtonElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLButtonElement2 interface
 */
#ifndef __IHTMLButtonElement2_INTERFACE_DEFINED__
#define __IHTMLButtonElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLButtonElement2, 0x305106f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106f3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLButtonElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLButtonElement2, 0x305106f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLButtonElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLButtonElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLButtonElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLButtonElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLButtonElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLButtonElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLButtonElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLButtonElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLButtonElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLButtonElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLButtonElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLButtonElement2Vtbl;

interface IHTMLButtonElement2 {
    CONST_VTBL IHTMLButtonElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLButtonElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLButtonElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLButtonElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLButtonElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLButtonElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLButtonElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLButtonElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLButtonElement2 methods ***/
#define IHTMLButtonElement2_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLButtonElement2_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLButtonElement2_QueryInterface(IHTMLButtonElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLButtonElement2_AddRef(IHTMLButtonElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLButtonElement2_Release(IHTMLButtonElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLButtonElement2_GetTypeInfoCount(IHTMLButtonElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLButtonElement2_GetTypeInfo(IHTMLButtonElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLButtonElement2_GetIDsOfNames(IHTMLButtonElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLButtonElement2_Invoke(IHTMLButtonElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLButtonElement2 methods ***/
static inline HRESULT IHTMLButtonElement2_put_type(IHTMLButtonElement2* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLButtonElement2_get_type(IHTMLButtonElement2* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLButtonElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLButtonElement dispinterface
 */
#ifndef __DispHTMLButtonElement_DISPINTERFACE_DEFINED__
#define __DispHTMLButtonElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLButtonElement, 0x3050f51f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f51f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLButtonElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLButtonElement, 0x3050f51f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLButtonElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLButtonElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLButtonElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLButtonElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLButtonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLButtonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLButtonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLButtonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLButtonElementVtbl;

interface DispHTMLButtonElement {
    CONST_VTBL DispHTMLButtonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLButtonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLButtonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLButtonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLButtonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLButtonElement_QueryInterface(DispHTMLButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLButtonElement_AddRef(DispHTMLButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLButtonElement_Release(DispHTMLButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLButtonElement_GetTypeInfoCount(DispHTMLButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLButtonElement_GetTypeInfo(DispHTMLButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLButtonElement_GetIDsOfNames(DispHTMLButtonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLButtonElement_Invoke(DispHTMLButtonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLButtonElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLButtonElement coclass
 */

DEFINE_GUID(CLSID_HTMLButtonElement, 0x3050f2c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2c6-98b5-11cf-bb82-00aa00bdce0b") HTMLButtonElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLButtonElement, 0x3050f2c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CButton;
/*****************************************************************************
 * HTMLMarqueeElementEvents2 dispinterface
 */
#ifndef __HTMLMarqueeElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLMarqueeElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLMarqueeElementEvents2, 0x3050f61f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f61f-98b5-11cf-bb82-00aa00bdce0b")
HTMLMarqueeElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMarqueeElementEvents2, 0x3050f61f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLMarqueeElementEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLMarqueeElementEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLMarqueeElementEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLMarqueeElementEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLMarqueeElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLMarqueeElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLMarqueeElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLMarqueeElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLMarqueeElementEvents2Vtbl;

interface HTMLMarqueeElementEvents2 {
    CONST_VTBL HTMLMarqueeElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLMarqueeElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLMarqueeElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLMarqueeElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLMarqueeElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLMarqueeElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLMarqueeElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLMarqueeElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLMarqueeElementEvents2_QueryInterface(HTMLMarqueeElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLMarqueeElementEvents2_AddRef(HTMLMarqueeElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLMarqueeElementEvents2_Release(HTMLMarqueeElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLMarqueeElementEvents2_GetTypeInfoCount(HTMLMarqueeElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLMarqueeElementEvents2_GetTypeInfo(HTMLMarqueeElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLMarqueeElementEvents2_GetIDsOfNames(HTMLMarqueeElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLMarqueeElementEvents2_Invoke(HTMLMarqueeElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLMarqueeElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMarqueeElementEvents dispinterface
 */
#ifndef __HTMLMarqueeElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLMarqueeElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLMarqueeElementEvents, 0x3050f2b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2b8-98b5-11cf-bb82-00aa00bdce0b")
HTMLMarqueeElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMarqueeElementEvents, 0x3050f2b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLMarqueeElementEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLMarqueeElementEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLMarqueeElementEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLMarqueeElementEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLMarqueeElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLMarqueeElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLMarqueeElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLMarqueeElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLMarqueeElementEventsVtbl;

interface HTMLMarqueeElementEvents {
    CONST_VTBL HTMLMarqueeElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLMarqueeElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLMarqueeElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLMarqueeElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLMarqueeElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLMarqueeElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLMarqueeElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLMarqueeElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLMarqueeElementEvents_QueryInterface(HTMLMarqueeElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLMarqueeElementEvents_AddRef(HTMLMarqueeElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLMarqueeElementEvents_Release(HTMLMarqueeElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLMarqueeElementEvents_GetTypeInfoCount(HTMLMarqueeElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLMarqueeElementEvents_GetTypeInfo(HTMLMarqueeElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLMarqueeElementEvents_GetIDsOfNames(HTMLMarqueeElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLMarqueeElementEvents_Invoke(HTMLMarqueeElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLMarqueeElementEvents_DISPINTERFACE_DEFINED__ */

typedef enum _htmlMarqueeBehavior {
    htmlMarqueeBehaviorscroll = 1,
    htmlMarqueeBehaviorslide = 2,
    htmlMarqueeBehavioralternate = 3,
    htmlMarqueeBehavior_Max = 0x7fffffff
} htmlMarqueeBehavior;
typedef enum _htmlMarqueeDirection {
    htmlMarqueeDirectionleft = 1,
    htmlMarqueeDirectionright = 3,
    htmlMarqueeDirectionup = 5,
    htmlMarqueeDirectiondown = 7,
    htmlMarqueeDirection_Max = 0x7fffffff
} htmlMarqueeDirection;
/*****************************************************************************
 * IHTMLMarqueeElement interface
 */
#ifndef __IHTMLMarqueeElement_INTERFACE_DEFINED__
#define __IHTMLMarqueeElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMarqueeElement, 0x3050f2b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2b5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMarqueeElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_bgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollDelay(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollDelay(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_direction(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_direction(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_behavior(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behavior(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollAmount(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollAmount(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_loop(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfinish(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfinish(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbounce(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbounce(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_trueSpeed(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_trueSpeed(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE start(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE stop(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMarqueeElement, 0x3050f2b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMarqueeElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMarqueeElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMarqueeElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMarqueeElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMarqueeElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMarqueeElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMarqueeElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMarqueeElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMarqueeElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_bgColor)(
        IHTMLMarqueeElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bgColor)(
        IHTMLMarqueeElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollDelay)(
        IHTMLMarqueeElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollDelay)(
        IHTMLMarqueeElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_direction)(
        IHTMLMarqueeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_direction)(
        IHTMLMarqueeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_behavior)(
        IHTMLMarqueeElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_behavior)(
        IHTMLMarqueeElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollAmount)(
        IHTMLMarqueeElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_scrollAmount)(
        IHTMLMarqueeElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_loop)(
        IHTMLMarqueeElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_loop)(
        IHTMLMarqueeElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_vspace)(
        IHTMLMarqueeElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_vspace)(
        IHTMLMarqueeElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_hspace)(
        IHTMLMarqueeElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_hspace)(
        IHTMLMarqueeElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_onfinish)(
        IHTMLMarqueeElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfinish)(
        IHTMLMarqueeElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstart)(
        IHTMLMarqueeElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstart)(
        IHTMLMarqueeElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbounce)(
        IHTMLMarqueeElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbounce)(
        IHTMLMarqueeElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLMarqueeElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLMarqueeElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLMarqueeElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLMarqueeElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_trueSpeed)(
        IHTMLMarqueeElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_trueSpeed)(
        IHTMLMarqueeElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *start)(
        IHTMLMarqueeElement *This);

    HRESULT (STDMETHODCALLTYPE *stop)(
        IHTMLMarqueeElement *This);

    END_INTERFACE
} IHTMLMarqueeElementVtbl;

interface IHTMLMarqueeElement {
    CONST_VTBL IHTMLMarqueeElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMarqueeElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMarqueeElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMarqueeElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMarqueeElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMarqueeElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMarqueeElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMarqueeElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMarqueeElement methods ***/
#define IHTMLMarqueeElement_put_bgColor(This,v) (This)->lpVtbl->put_bgColor(This,v)
#define IHTMLMarqueeElement_get_bgColor(This,p) (This)->lpVtbl->get_bgColor(This,p)
#define IHTMLMarqueeElement_put_scrollDelay(This,v) (This)->lpVtbl->put_scrollDelay(This,v)
#define IHTMLMarqueeElement_get_scrollDelay(This,p) (This)->lpVtbl->get_scrollDelay(This,p)
#define IHTMLMarqueeElement_put_direction(This,v) (This)->lpVtbl->put_direction(This,v)
#define IHTMLMarqueeElement_get_direction(This,p) (This)->lpVtbl->get_direction(This,p)
#define IHTMLMarqueeElement_put_behavior(This,v) (This)->lpVtbl->put_behavior(This,v)
#define IHTMLMarqueeElement_get_behavior(This,p) (This)->lpVtbl->get_behavior(This,p)
#define IHTMLMarqueeElement_put_scrollAmount(This,v) (This)->lpVtbl->put_scrollAmount(This,v)
#define IHTMLMarqueeElement_get_scrollAmount(This,p) (This)->lpVtbl->get_scrollAmount(This,p)
#define IHTMLMarqueeElement_put_loop(This,v) (This)->lpVtbl->put_loop(This,v)
#define IHTMLMarqueeElement_get_loop(This,p) (This)->lpVtbl->get_loop(This,p)
#define IHTMLMarqueeElement_put_vspace(This,v) (This)->lpVtbl->put_vspace(This,v)
#define IHTMLMarqueeElement_get_vspace(This,p) (This)->lpVtbl->get_vspace(This,p)
#define IHTMLMarqueeElement_put_hspace(This,v) (This)->lpVtbl->put_hspace(This,v)
#define IHTMLMarqueeElement_get_hspace(This,p) (This)->lpVtbl->get_hspace(This,p)
#define IHTMLMarqueeElement_put_onfinish(This,v) (This)->lpVtbl->put_onfinish(This,v)
#define IHTMLMarqueeElement_get_onfinish(This,p) (This)->lpVtbl->get_onfinish(This,p)
#define IHTMLMarqueeElement_put_onstart(This,v) (This)->lpVtbl->put_onstart(This,v)
#define IHTMLMarqueeElement_get_onstart(This,p) (This)->lpVtbl->get_onstart(This,p)
#define IHTMLMarqueeElement_put_onbounce(This,v) (This)->lpVtbl->put_onbounce(This,v)
#define IHTMLMarqueeElement_get_onbounce(This,p) (This)->lpVtbl->get_onbounce(This,p)
#define IHTMLMarqueeElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLMarqueeElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLMarqueeElement_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLMarqueeElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLMarqueeElement_put_trueSpeed(This,v) (This)->lpVtbl->put_trueSpeed(This,v)
#define IHTMLMarqueeElement_get_trueSpeed(This,p) (This)->lpVtbl->get_trueSpeed(This,p)
#define IHTMLMarqueeElement_start(This) (This)->lpVtbl->start(This)
#define IHTMLMarqueeElement_stop(This) (This)->lpVtbl->stop(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMarqueeElement_QueryInterface(IHTMLMarqueeElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMarqueeElement_AddRef(IHTMLMarqueeElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMarqueeElement_Release(IHTMLMarqueeElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMarqueeElement_GetTypeInfoCount(IHTMLMarqueeElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMarqueeElement_GetTypeInfo(IHTMLMarqueeElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMarqueeElement_GetIDsOfNames(IHTMLMarqueeElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMarqueeElement_Invoke(IHTMLMarqueeElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMarqueeElement methods ***/
static inline HRESULT IHTMLMarqueeElement_put_bgColor(IHTMLMarqueeElement* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_bgColor(IHTMLMarqueeElement* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_scrollDelay(IHTMLMarqueeElement* This,LONG v) {
    return This->lpVtbl->put_scrollDelay(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_scrollDelay(IHTMLMarqueeElement* This,LONG *p) {
    return This->lpVtbl->get_scrollDelay(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_direction(IHTMLMarqueeElement* This,BSTR v) {
    return This->lpVtbl->put_direction(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_direction(IHTMLMarqueeElement* This,BSTR *p) {
    return This->lpVtbl->get_direction(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_behavior(IHTMLMarqueeElement* This,BSTR v) {
    return This->lpVtbl->put_behavior(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_behavior(IHTMLMarqueeElement* This,BSTR *p) {
    return This->lpVtbl->get_behavior(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_scrollAmount(IHTMLMarqueeElement* This,LONG v) {
    return This->lpVtbl->put_scrollAmount(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_scrollAmount(IHTMLMarqueeElement* This,LONG *p) {
    return This->lpVtbl->get_scrollAmount(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_loop(IHTMLMarqueeElement* This,LONG v) {
    return This->lpVtbl->put_loop(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_loop(IHTMLMarqueeElement* This,LONG *p) {
    return This->lpVtbl->get_loop(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_vspace(IHTMLMarqueeElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_vspace(IHTMLMarqueeElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_hspace(IHTMLMarqueeElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_hspace(IHTMLMarqueeElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_onfinish(IHTMLMarqueeElement* This,VARIANT v) {
    return This->lpVtbl->put_onfinish(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_onfinish(IHTMLMarqueeElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfinish(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_onstart(IHTMLMarqueeElement* This,VARIANT v) {
    return This->lpVtbl->put_onstart(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_onstart(IHTMLMarqueeElement* This,VARIANT *p) {
    return This->lpVtbl->get_onstart(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_onbounce(IHTMLMarqueeElement* This,VARIANT v) {
    return This->lpVtbl->put_onbounce(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_onbounce(IHTMLMarqueeElement* This,VARIANT *p) {
    return This->lpVtbl->get_onbounce(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_width(IHTMLMarqueeElement* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_width(IHTMLMarqueeElement* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_height(IHTMLMarqueeElement* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_height(IHTMLMarqueeElement* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLMarqueeElement_put_trueSpeed(IHTMLMarqueeElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_trueSpeed(This,v);
}
static inline HRESULT IHTMLMarqueeElement_get_trueSpeed(IHTMLMarqueeElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_trueSpeed(This,p);
}
static inline HRESULT IHTMLMarqueeElement_start(IHTMLMarqueeElement* This) {
    return This->lpVtbl->start(This);
}
static inline HRESULT IHTMLMarqueeElement_stop(IHTMLMarqueeElement* This) {
    return This->lpVtbl->stop(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLMarqueeElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLMarqueeElement dispinterface
 */
#ifndef __DispHTMLMarqueeElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMarqueeElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLMarqueeElement, 0x3050f527, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f527-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLMarqueeElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLMarqueeElement, 0x3050f527, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLMarqueeElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLMarqueeElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLMarqueeElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLMarqueeElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLMarqueeElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLMarqueeElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLMarqueeElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLMarqueeElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLMarqueeElementVtbl;

interface DispHTMLMarqueeElement {
    CONST_VTBL DispHTMLMarqueeElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLMarqueeElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLMarqueeElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLMarqueeElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLMarqueeElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLMarqueeElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLMarqueeElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLMarqueeElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLMarqueeElement_QueryInterface(DispHTMLMarqueeElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLMarqueeElement_AddRef(DispHTMLMarqueeElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLMarqueeElement_Release(DispHTMLMarqueeElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLMarqueeElement_GetTypeInfoCount(DispHTMLMarqueeElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLMarqueeElement_GetTypeInfo(DispHTMLMarqueeElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLMarqueeElement_GetIDsOfNames(DispHTMLMarqueeElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLMarqueeElement_Invoke(DispHTMLMarqueeElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLMarqueeElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMarqueeElement coclass
 */

DEFINE_GUID(CLSID_HTMLMarqueeElement, 0x3050f2b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2b9-98b5-11cf-bb82-00aa00bdce0b") HTMLMarqueeElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMarqueeElement, 0x3050f2b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMarquee;
/*****************************************************************************
 * IHTMLHtmlElement interface
 */
#ifndef __IHTMLHtmlElement_INTERFACE_DEFINED__
#define __IHTMLHtmlElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLHtmlElement, 0x3050f81c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f81c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLHtmlElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_version(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_version(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLHtmlElement, 0x3050f81c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLHtmlElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLHtmlElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLHtmlElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLHtmlElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLHtmlElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLHtmlElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLHtmlElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLHtmlElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLHtmlElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_version)(
        IHTMLHtmlElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_version)(
        IHTMLHtmlElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLHtmlElementVtbl;

interface IHTMLHtmlElement {
    CONST_VTBL IHTMLHtmlElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLHtmlElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLHtmlElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLHtmlElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLHtmlElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLHtmlElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLHtmlElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLHtmlElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLHtmlElement methods ***/
#define IHTMLHtmlElement_put_version(This,v) (This)->lpVtbl->put_version(This,v)
#define IHTMLHtmlElement_get_version(This,p) (This)->lpVtbl->get_version(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLHtmlElement_QueryInterface(IHTMLHtmlElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLHtmlElement_AddRef(IHTMLHtmlElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLHtmlElement_Release(IHTMLHtmlElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLHtmlElement_GetTypeInfoCount(IHTMLHtmlElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLHtmlElement_GetTypeInfo(IHTMLHtmlElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLHtmlElement_GetIDsOfNames(IHTMLHtmlElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLHtmlElement_Invoke(IHTMLHtmlElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLHtmlElement methods ***/
static inline HRESULT IHTMLHtmlElement_put_version(IHTMLHtmlElement* This,BSTR v) {
    return This->lpVtbl->put_version(This,v);
}
static inline HRESULT IHTMLHtmlElement_get_version(IHTMLHtmlElement* This,BSTR *p) {
    return This->lpVtbl->get_version(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLHtmlElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLHeadElement interface
 */
#ifndef __IHTMLHeadElement_INTERFACE_DEFINED__
#define __IHTMLHeadElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLHeadElement, 0x3050f81d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f81d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLHeadElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_profile(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_profile(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLHeadElement, 0x3050f81d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLHeadElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLHeadElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLHeadElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLHeadElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLHeadElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLHeadElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLHeadElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLHeadElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLHeadElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_profile)(
        IHTMLHeadElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_profile)(
        IHTMLHeadElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLHeadElementVtbl;

interface IHTMLHeadElement {
    CONST_VTBL IHTMLHeadElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLHeadElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLHeadElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLHeadElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLHeadElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLHeadElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLHeadElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLHeadElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLHeadElement methods ***/
#define IHTMLHeadElement_put_profile(This,v) (This)->lpVtbl->put_profile(This,v)
#define IHTMLHeadElement_get_profile(This,p) (This)->lpVtbl->get_profile(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLHeadElement_QueryInterface(IHTMLHeadElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLHeadElement_AddRef(IHTMLHeadElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLHeadElement_Release(IHTMLHeadElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLHeadElement_GetTypeInfoCount(IHTMLHeadElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLHeadElement_GetTypeInfo(IHTMLHeadElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLHeadElement_GetIDsOfNames(IHTMLHeadElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLHeadElement_Invoke(IHTMLHeadElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLHeadElement methods ***/
static inline HRESULT IHTMLHeadElement_put_profile(IHTMLHeadElement* This,BSTR v) {
    return This->lpVtbl->put_profile(This,v);
}
static inline HRESULT IHTMLHeadElement_get_profile(IHTMLHeadElement* This,BSTR *p) {
    return This->lpVtbl->get_profile(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLHeadElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLHeadElement2 interface
 */
#ifndef __IHTMLHeadElement2_INTERFACE_DEFINED__
#define __IHTMLHeadElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLHeadElement2, 0x3051042f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051042f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLHeadElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_profile(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_profile(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLHeadElement2, 0x3051042f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLHeadElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLHeadElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLHeadElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLHeadElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLHeadElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLHeadElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLHeadElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLHeadElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLHeadElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_profile)(
        IHTMLHeadElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_profile)(
        IHTMLHeadElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLHeadElement2Vtbl;

interface IHTMLHeadElement2 {
    CONST_VTBL IHTMLHeadElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLHeadElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLHeadElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLHeadElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLHeadElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLHeadElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLHeadElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLHeadElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLHeadElement2 methods ***/
#define IHTMLHeadElement2_put_profile(This,v) (This)->lpVtbl->put_profile(This,v)
#define IHTMLHeadElement2_get_profile(This,p) (This)->lpVtbl->get_profile(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLHeadElement2_QueryInterface(IHTMLHeadElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLHeadElement2_AddRef(IHTMLHeadElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLHeadElement2_Release(IHTMLHeadElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLHeadElement2_GetTypeInfoCount(IHTMLHeadElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLHeadElement2_GetTypeInfo(IHTMLHeadElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLHeadElement2_GetIDsOfNames(IHTMLHeadElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLHeadElement2_Invoke(IHTMLHeadElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLHeadElement2 methods ***/
static inline HRESULT IHTMLHeadElement2_put_profile(IHTMLHeadElement2* This,BSTR v) {
    return This->lpVtbl->put_profile(This,v);
}
static inline HRESULT IHTMLHeadElement2_get_profile(IHTMLHeadElement2* This,BSTR *p) {
    return This->lpVtbl->get_profile(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLHeadElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTitleElement interface
 */
#ifndef __IHTMLTitleElement_INTERFACE_DEFINED__
#define __IHTMLTitleElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTitleElement, 0x3050f322, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f322-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTitleElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_text(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTitleElement, 0x3050f322, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTitleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTitleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTitleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTitleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTitleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTitleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTitleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTitleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTitleElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_text)(
        IHTMLTitleElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_text)(
        IHTMLTitleElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTitleElementVtbl;

interface IHTMLTitleElement {
    CONST_VTBL IHTMLTitleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTitleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTitleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTitleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTitleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTitleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTitleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTitleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTitleElement methods ***/
#define IHTMLTitleElement_put_text(This,v) (This)->lpVtbl->put_text(This,v)
#define IHTMLTitleElement_get_text(This,p) (This)->lpVtbl->get_text(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTitleElement_QueryInterface(IHTMLTitleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTitleElement_AddRef(IHTMLTitleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTitleElement_Release(IHTMLTitleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTitleElement_GetTypeInfoCount(IHTMLTitleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTitleElement_GetTypeInfo(IHTMLTitleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTitleElement_GetIDsOfNames(IHTMLTitleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTitleElement_Invoke(IHTMLTitleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTitleElement methods ***/
static inline HRESULT IHTMLTitleElement_put_text(IHTMLTitleElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static inline HRESULT IHTMLTitleElement_get_text(IHTMLTitleElement* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTitleElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMetaElement interface
 */
#ifndef __IHTMLMetaElement_INTERFACE_DEFINED__
#define __IHTMLMetaElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMetaElement, 0x3050f203, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f203-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMetaElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_httpEquiv(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_httpEquiv(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_content(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_content(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_url(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_url(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_charset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_charset(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMetaElement, 0x3050f203, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMetaElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMetaElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMetaElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMetaElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMetaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMetaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMetaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMetaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMetaElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_httpEquiv)(
        IHTMLMetaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_httpEquiv)(
        IHTMLMetaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_content)(
        IHTMLMetaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_content)(
        IHTMLMetaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLMetaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLMetaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_url)(
        IHTMLMetaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_url)(
        IHTMLMetaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_charset)(
        IHTMLMetaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_charset)(
        IHTMLMetaElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLMetaElementVtbl;

interface IHTMLMetaElement {
    CONST_VTBL IHTMLMetaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMetaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMetaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMetaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMetaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMetaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMetaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMetaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMetaElement methods ***/
#define IHTMLMetaElement_put_httpEquiv(This,v) (This)->lpVtbl->put_httpEquiv(This,v)
#define IHTMLMetaElement_get_httpEquiv(This,p) (This)->lpVtbl->get_httpEquiv(This,p)
#define IHTMLMetaElement_put_content(This,v) (This)->lpVtbl->put_content(This,v)
#define IHTMLMetaElement_get_content(This,p) (This)->lpVtbl->get_content(This,p)
#define IHTMLMetaElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLMetaElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLMetaElement_put_url(This,v) (This)->lpVtbl->put_url(This,v)
#define IHTMLMetaElement_get_url(This,p) (This)->lpVtbl->get_url(This,p)
#define IHTMLMetaElement_put_charset(This,v) (This)->lpVtbl->put_charset(This,v)
#define IHTMLMetaElement_get_charset(This,p) (This)->lpVtbl->get_charset(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMetaElement_QueryInterface(IHTMLMetaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMetaElement_AddRef(IHTMLMetaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMetaElement_Release(IHTMLMetaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMetaElement_GetTypeInfoCount(IHTMLMetaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMetaElement_GetTypeInfo(IHTMLMetaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMetaElement_GetIDsOfNames(IHTMLMetaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMetaElement_Invoke(IHTMLMetaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMetaElement methods ***/
static inline HRESULT IHTMLMetaElement_put_httpEquiv(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_httpEquiv(This,v);
}
static inline HRESULT IHTMLMetaElement_get_httpEquiv(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_httpEquiv(This,p);
}
static inline HRESULT IHTMLMetaElement_put_content(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_content(This,v);
}
static inline HRESULT IHTMLMetaElement_get_content(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_content(This,p);
}
static inline HRESULT IHTMLMetaElement_put_name(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLMetaElement_get_name(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLMetaElement_put_url(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_url(This,v);
}
static inline HRESULT IHTMLMetaElement_get_url(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_url(This,p);
}
static inline HRESULT IHTMLMetaElement_put_charset(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static inline HRESULT IHTMLMetaElement_get_charset(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMetaElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMetaElement2 interface
 */
#ifndef __IHTMLMetaElement2_INTERFACE_DEFINED__
#define __IHTMLMetaElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMetaElement2, 0x3050f81f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f81f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMetaElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_scheme(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scheme(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMetaElement2, 0x3050f81f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMetaElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMetaElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMetaElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMetaElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMetaElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMetaElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMetaElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMetaElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMetaElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_scheme)(
        IHTMLMetaElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_scheme)(
        IHTMLMetaElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLMetaElement2Vtbl;

interface IHTMLMetaElement2 {
    CONST_VTBL IHTMLMetaElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMetaElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMetaElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMetaElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMetaElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMetaElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMetaElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMetaElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMetaElement2 methods ***/
#define IHTMLMetaElement2_put_scheme(This,v) (This)->lpVtbl->put_scheme(This,v)
#define IHTMLMetaElement2_get_scheme(This,p) (This)->lpVtbl->get_scheme(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMetaElement2_QueryInterface(IHTMLMetaElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMetaElement2_AddRef(IHTMLMetaElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMetaElement2_Release(IHTMLMetaElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMetaElement2_GetTypeInfoCount(IHTMLMetaElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMetaElement2_GetTypeInfo(IHTMLMetaElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMetaElement2_GetIDsOfNames(IHTMLMetaElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMetaElement2_Invoke(IHTMLMetaElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMetaElement2 methods ***/
static inline HRESULT IHTMLMetaElement2_put_scheme(IHTMLMetaElement2* This,BSTR v) {
    return This->lpVtbl->put_scheme(This,v);
}
static inline HRESULT IHTMLMetaElement2_get_scheme(IHTMLMetaElement2* This,BSTR *p) {
    return This->lpVtbl->get_scheme(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMetaElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMetaElement3 interface
 */
#ifndef __IHTMLMetaElement3_INTERFACE_DEFINED__
#define __IHTMLMetaElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMetaElement3, 0x30510495, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510495-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMetaElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_url(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_url(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMetaElement3, 0x30510495, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMetaElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMetaElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMetaElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMetaElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMetaElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMetaElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMetaElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMetaElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMetaElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_url)(
        IHTMLMetaElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_url)(
        IHTMLMetaElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLMetaElement3Vtbl;

interface IHTMLMetaElement3 {
    CONST_VTBL IHTMLMetaElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMetaElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMetaElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMetaElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMetaElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMetaElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMetaElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMetaElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMetaElement3 methods ***/
#define IHTMLMetaElement3_put_url(This,v) (This)->lpVtbl->put_url(This,v)
#define IHTMLMetaElement3_get_url(This,p) (This)->lpVtbl->get_url(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMetaElement3_QueryInterface(IHTMLMetaElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMetaElement3_AddRef(IHTMLMetaElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMetaElement3_Release(IHTMLMetaElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMetaElement3_GetTypeInfoCount(IHTMLMetaElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMetaElement3_GetTypeInfo(IHTMLMetaElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMetaElement3_GetIDsOfNames(IHTMLMetaElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMetaElement3_Invoke(IHTMLMetaElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMetaElement3 methods ***/
static inline HRESULT IHTMLMetaElement3_put_url(IHTMLMetaElement3* This,BSTR v) {
    return This->lpVtbl->put_url(This,v);
}
static inline HRESULT IHTMLMetaElement3_get_url(IHTMLMetaElement3* This,BSTR *p) {
    return This->lpVtbl->get_url(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMetaElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBaseElement interface
 */
#ifndef __IHTMLBaseElement_INTERFACE_DEFINED__
#define __IHTMLBaseElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBaseElement, 0x3050f204, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f204-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBaseElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_target(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBaseElement, 0x3050f204, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBaseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLBaseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLBaseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLBaseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBaseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBaseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBaseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBaseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBaseElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLBaseElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLBaseElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_target)(
        IHTMLBaseElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_target)(
        IHTMLBaseElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLBaseElementVtbl;

interface IHTMLBaseElement {
    CONST_VTBL IHTMLBaseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBaseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBaseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBaseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBaseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBaseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBaseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBaseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBaseElement methods ***/
#define IHTMLBaseElement_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLBaseElement_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLBaseElement_put_target(This,v) (This)->lpVtbl->put_target(This,v)
#define IHTMLBaseElement_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBaseElement_QueryInterface(IHTMLBaseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBaseElement_AddRef(IHTMLBaseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBaseElement_Release(IHTMLBaseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBaseElement_GetTypeInfoCount(IHTMLBaseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBaseElement_GetTypeInfo(IHTMLBaseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBaseElement_GetIDsOfNames(IHTMLBaseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBaseElement_Invoke(IHTMLBaseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBaseElement methods ***/
static inline HRESULT IHTMLBaseElement_put_href(IHTMLBaseElement* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLBaseElement_get_href(IHTMLBaseElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLBaseElement_put_target(IHTMLBaseElement* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static inline HRESULT IHTMLBaseElement_get_target(IHTMLBaseElement* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBaseElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLBaseElement2 interface
 */
#ifndef __IHTMLBaseElement2_INTERFACE_DEFINED__
#define __IHTMLBaseElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBaseElement2, 0x30510420, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510420-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBaseElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBaseElement2, 0x30510420, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBaseElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLBaseElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLBaseElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLBaseElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBaseElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBaseElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBaseElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBaseElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBaseElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLBaseElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLBaseElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLBaseElement2Vtbl;

interface IHTMLBaseElement2 {
    CONST_VTBL IHTMLBaseElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBaseElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBaseElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBaseElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBaseElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBaseElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBaseElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBaseElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBaseElement2 methods ***/
#define IHTMLBaseElement2_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLBaseElement2_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBaseElement2_QueryInterface(IHTMLBaseElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBaseElement2_AddRef(IHTMLBaseElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBaseElement2_Release(IHTMLBaseElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBaseElement2_GetTypeInfoCount(IHTMLBaseElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBaseElement2_GetTypeInfo(IHTMLBaseElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBaseElement2_GetIDsOfNames(IHTMLBaseElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBaseElement2_Invoke(IHTMLBaseElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBaseElement2 methods ***/
static inline HRESULT IHTMLBaseElement2_put_href(IHTMLBaseElement2* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLBaseElement2_get_href(IHTMLBaseElement2* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBaseElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLIsIndexElement interface
 */
#ifndef __IHTMLIsIndexElement_INTERFACE_DEFINED__
#define __IHTMLIsIndexElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLIsIndexElement, 0x3050f206, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f206-98b5-11cf-bb82-00aa00bdce0b")
IHTMLIsIndexElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_prompt(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_prompt(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_action(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_action(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLIsIndexElement, 0x3050f206, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLIsIndexElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLIsIndexElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLIsIndexElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLIsIndexElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLIsIndexElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLIsIndexElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLIsIndexElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLIsIndexElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLIsIndexElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_prompt)(
        IHTMLIsIndexElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_prompt)(
        IHTMLIsIndexElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_action)(
        IHTMLIsIndexElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_action)(
        IHTMLIsIndexElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLIsIndexElementVtbl;

interface IHTMLIsIndexElement {
    CONST_VTBL IHTMLIsIndexElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLIsIndexElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLIsIndexElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLIsIndexElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLIsIndexElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLIsIndexElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLIsIndexElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLIsIndexElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLIsIndexElement methods ***/
#define IHTMLIsIndexElement_put_prompt(This,v) (This)->lpVtbl->put_prompt(This,v)
#define IHTMLIsIndexElement_get_prompt(This,p) (This)->lpVtbl->get_prompt(This,p)
#define IHTMLIsIndexElement_put_action(This,v) (This)->lpVtbl->put_action(This,v)
#define IHTMLIsIndexElement_get_action(This,p) (This)->lpVtbl->get_action(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLIsIndexElement_QueryInterface(IHTMLIsIndexElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLIsIndexElement_AddRef(IHTMLIsIndexElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLIsIndexElement_Release(IHTMLIsIndexElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLIsIndexElement_GetTypeInfoCount(IHTMLIsIndexElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLIsIndexElement_GetTypeInfo(IHTMLIsIndexElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLIsIndexElement_GetIDsOfNames(IHTMLIsIndexElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLIsIndexElement_Invoke(IHTMLIsIndexElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLIsIndexElement methods ***/
static inline HRESULT IHTMLIsIndexElement_put_prompt(IHTMLIsIndexElement* This,BSTR v) {
    return This->lpVtbl->put_prompt(This,v);
}
static inline HRESULT IHTMLIsIndexElement_get_prompt(IHTMLIsIndexElement* This,BSTR *p) {
    return This->lpVtbl->get_prompt(This,p);
}
static inline HRESULT IHTMLIsIndexElement_put_action(IHTMLIsIndexElement* This,BSTR v) {
    return This->lpVtbl->put_action(This,v);
}
static inline HRESULT IHTMLIsIndexElement_get_action(IHTMLIsIndexElement* This,BSTR *p) {
    return This->lpVtbl->get_action(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLIsIndexElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLIsIndexElement2 interface
 */
#ifndef __IHTMLIsIndexElement2_INTERFACE_DEFINED__
#define __IHTMLIsIndexElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLIsIndexElement2, 0x3050f82f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f82f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLIsIndexElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLIsIndexElement2, 0x3050f82f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLIsIndexElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLIsIndexElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLIsIndexElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLIsIndexElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLIsIndexElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLIsIndexElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLIsIndexElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLIsIndexElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLIsIndexElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLIsIndexElement2 *This,
        IHTMLFormElement **p);

    END_INTERFACE
} IHTMLIsIndexElement2Vtbl;

interface IHTMLIsIndexElement2 {
    CONST_VTBL IHTMLIsIndexElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLIsIndexElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLIsIndexElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLIsIndexElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLIsIndexElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLIsIndexElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLIsIndexElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLIsIndexElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLIsIndexElement2 methods ***/
#define IHTMLIsIndexElement2_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLIsIndexElement2_QueryInterface(IHTMLIsIndexElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLIsIndexElement2_AddRef(IHTMLIsIndexElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLIsIndexElement2_Release(IHTMLIsIndexElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLIsIndexElement2_GetTypeInfoCount(IHTMLIsIndexElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLIsIndexElement2_GetTypeInfo(IHTMLIsIndexElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLIsIndexElement2_GetIDsOfNames(IHTMLIsIndexElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLIsIndexElement2_Invoke(IHTMLIsIndexElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLIsIndexElement2 methods ***/
static inline HRESULT IHTMLIsIndexElement2_get_form(IHTMLIsIndexElement2* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLIsIndexElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLNextIdElement interface
 */
#ifndef __IHTMLNextIdElement_INTERFACE_DEFINED__
#define __IHTMLNextIdElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLNextIdElement, 0x3050f207, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f207-98b5-11cf-bb82-00aa00bdce0b")
IHTMLNextIdElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_n(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_n(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLNextIdElement, 0x3050f207, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLNextIdElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLNextIdElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLNextIdElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLNextIdElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLNextIdElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLNextIdElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLNextIdElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLNextIdElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLNextIdElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_n)(
        IHTMLNextIdElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_n)(
        IHTMLNextIdElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLNextIdElementVtbl;

interface IHTMLNextIdElement {
    CONST_VTBL IHTMLNextIdElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLNextIdElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLNextIdElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLNextIdElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLNextIdElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLNextIdElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLNextIdElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLNextIdElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLNextIdElement methods ***/
#define IHTMLNextIdElement_put_n(This,v) (This)->lpVtbl->put_n(This,v)
#define IHTMLNextIdElement_get_n(This,p) (This)->lpVtbl->get_n(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLNextIdElement_QueryInterface(IHTMLNextIdElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLNextIdElement_AddRef(IHTMLNextIdElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLNextIdElement_Release(IHTMLNextIdElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLNextIdElement_GetTypeInfoCount(IHTMLNextIdElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLNextIdElement_GetTypeInfo(IHTMLNextIdElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLNextIdElement_GetIDsOfNames(IHTMLNextIdElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLNextIdElement_Invoke(IHTMLNextIdElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLNextIdElement methods ***/
static inline HRESULT IHTMLNextIdElement_put_n(IHTMLNextIdElement* This,BSTR v) {
    return This->lpVtbl->put_n(This,v);
}
static inline HRESULT IHTMLNextIdElement_get_n(IHTMLNextIdElement* This,BSTR *p) {
    return This->lpVtbl->get_n(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLNextIdElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLHtmlElement dispinterface
 */
#ifndef __DispHTMLHtmlElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHtmlElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLHtmlElement, 0x3050f560, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f560-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLHtmlElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLHtmlElement, 0x3050f560, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLHtmlElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLHtmlElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLHtmlElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLHtmlElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLHtmlElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLHtmlElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLHtmlElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLHtmlElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLHtmlElementVtbl;

interface DispHTMLHtmlElement {
    CONST_VTBL DispHTMLHtmlElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLHtmlElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLHtmlElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLHtmlElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLHtmlElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLHtmlElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLHtmlElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLHtmlElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLHtmlElement_QueryInterface(DispHTMLHtmlElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLHtmlElement_AddRef(DispHTMLHtmlElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLHtmlElement_Release(DispHTMLHtmlElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLHtmlElement_GetTypeInfoCount(DispHTMLHtmlElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLHtmlElement_GetTypeInfo(DispHTMLHtmlElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLHtmlElement_GetIDsOfNames(DispHTMLHtmlElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLHtmlElement_Invoke(DispHTMLHtmlElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLHtmlElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLHtmlElement coclass
 */

DEFINE_GUID(CLSID_HTMLHtmlElement, 0x3050f491, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f491-98b5-11cf-bb82-00aa00bdce0b") HTMLHtmlElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLHtmlElement, 0x3050f491, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHtmlElement;
/*****************************************************************************
 * DispHTMLHeadElement dispinterface
 */
#ifndef __DispHTMLHeadElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHeadElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLHeadElement, 0x3050f561, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f561-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLHeadElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLHeadElement, 0x3050f561, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLHeadElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLHeadElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLHeadElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLHeadElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLHeadElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLHeadElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLHeadElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLHeadElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLHeadElementVtbl;

interface DispHTMLHeadElement {
    CONST_VTBL DispHTMLHeadElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLHeadElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLHeadElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLHeadElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLHeadElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLHeadElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLHeadElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLHeadElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLHeadElement_QueryInterface(DispHTMLHeadElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLHeadElement_AddRef(DispHTMLHeadElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLHeadElement_Release(DispHTMLHeadElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLHeadElement_GetTypeInfoCount(DispHTMLHeadElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLHeadElement_GetTypeInfo(DispHTMLHeadElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLHeadElement_GetIDsOfNames(DispHTMLHeadElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLHeadElement_Invoke(DispHTMLHeadElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLHeadElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLHeadElement coclass
 */

DEFINE_GUID(CLSID_HTMLHeadElement, 0x3050f493, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f493-98b5-11cf-bb82-00aa00bdce0b") HTMLHeadElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLHeadElement, 0x3050f493, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHeadElement;
/*****************************************************************************
 * DispHTMLTitleElement dispinterface
 */
#ifndef __DispHTMLTitleElement_DISPINTERFACE_DEFINED__
#define __DispHTMLTitleElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTitleElement, 0x3050f516, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f516-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTitleElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTitleElement, 0x3050f516, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTitleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTitleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTitleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTitleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTitleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTitleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTitleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTitleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTitleElementVtbl;

interface DispHTMLTitleElement {
    CONST_VTBL DispHTMLTitleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTitleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTitleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTitleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTitleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTitleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTitleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTitleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTitleElement_QueryInterface(DispHTMLTitleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTitleElement_AddRef(DispHTMLTitleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTitleElement_Release(DispHTMLTitleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTitleElement_GetTypeInfoCount(DispHTMLTitleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTitleElement_GetTypeInfo(DispHTMLTitleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTitleElement_GetIDsOfNames(DispHTMLTitleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTitleElement_Invoke(DispHTMLTitleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTitleElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTitleElement coclass
 */

DEFINE_GUID(CLSID_HTMLTitleElement, 0x3050f284, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f284-98b5-11cf-bb82-00aa00bdce0b") HTMLTitleElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTitleElement, 0x3050f284, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTitleElement;
/*****************************************************************************
 * DispHTMLMetaElement dispinterface
 */
#ifndef __DispHTMLMetaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMetaElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLMetaElement, 0x3050f517, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f517-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLMetaElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLMetaElement, 0x3050f517, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLMetaElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLMetaElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLMetaElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLMetaElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLMetaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLMetaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLMetaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLMetaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLMetaElementVtbl;

interface DispHTMLMetaElement {
    CONST_VTBL DispHTMLMetaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLMetaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLMetaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLMetaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLMetaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLMetaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLMetaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLMetaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLMetaElement_QueryInterface(DispHTMLMetaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLMetaElement_AddRef(DispHTMLMetaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLMetaElement_Release(DispHTMLMetaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLMetaElement_GetTypeInfoCount(DispHTMLMetaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLMetaElement_GetTypeInfo(DispHTMLMetaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLMetaElement_GetIDsOfNames(DispHTMLMetaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLMetaElement_Invoke(DispHTMLMetaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLMetaElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMetaElement coclass
 */

DEFINE_GUID(CLSID_HTMLMetaElement, 0x3050f275, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f275-98b5-11cf-bb82-00aa00bdce0b") HTMLMetaElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMetaElement, 0x3050f275, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMetaElement;
/*****************************************************************************
 * DispHTMLBaseElement dispinterface
 */
#ifndef __DispHTMLBaseElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBaseElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLBaseElement, 0x3050f518, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f518-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLBaseElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLBaseElement, 0x3050f518, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLBaseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLBaseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLBaseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLBaseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLBaseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLBaseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLBaseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLBaseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLBaseElementVtbl;

interface DispHTMLBaseElement {
    CONST_VTBL DispHTMLBaseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLBaseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLBaseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLBaseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLBaseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLBaseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLBaseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLBaseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLBaseElement_QueryInterface(DispHTMLBaseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLBaseElement_AddRef(DispHTMLBaseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLBaseElement_Release(DispHTMLBaseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLBaseElement_GetTypeInfoCount(DispHTMLBaseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLBaseElement_GetTypeInfo(DispHTMLBaseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLBaseElement_GetIDsOfNames(DispHTMLBaseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLBaseElement_Invoke(DispHTMLBaseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLBaseElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLBaseElement coclass
 */

DEFINE_GUID(CLSID_HTMLBaseElement, 0x3050f276, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f276-98b5-11cf-bb82-00aa00bdce0b") HTMLBaseElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLBaseElement, 0x3050f276, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CBaseElement;
/*****************************************************************************
 * DispHTMLIsIndexElement dispinterface
 */
#ifndef __DispHTMLIsIndexElement_DISPINTERFACE_DEFINED__
#define __DispHTMLIsIndexElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLIsIndexElement, 0x3050f519, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f519-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLIsIndexElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLIsIndexElement, 0x3050f519, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLIsIndexElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLIsIndexElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLIsIndexElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLIsIndexElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLIsIndexElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLIsIndexElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLIsIndexElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLIsIndexElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLIsIndexElementVtbl;

interface DispHTMLIsIndexElement {
    CONST_VTBL DispHTMLIsIndexElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLIsIndexElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLIsIndexElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLIsIndexElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLIsIndexElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLIsIndexElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLIsIndexElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLIsIndexElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLIsIndexElement_QueryInterface(DispHTMLIsIndexElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLIsIndexElement_AddRef(DispHTMLIsIndexElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLIsIndexElement_Release(DispHTMLIsIndexElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLIsIndexElement_GetTypeInfoCount(DispHTMLIsIndexElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLIsIndexElement_GetTypeInfo(DispHTMLIsIndexElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLIsIndexElement_GetIDsOfNames(DispHTMLIsIndexElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLIsIndexElement_Invoke(DispHTMLIsIndexElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLIsIndexElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLIsIndexElement coclass
 */

DEFINE_GUID(CLSID_HTMLIsIndexElement, 0x3050f278, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f278-98b5-11cf-bb82-00aa00bdce0b") HTMLIsIndexElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLIsIndexElement, 0x3050f278, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CIsIndexElement;
/*****************************************************************************
 * DispHTMLNextIdElement dispinterface
 */
#ifndef __DispHTMLNextIdElement_DISPINTERFACE_DEFINED__
#define __DispHTMLNextIdElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLNextIdElement, 0x3050f51a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f51a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLNextIdElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLNextIdElement, 0x3050f51a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLNextIdElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLNextIdElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLNextIdElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLNextIdElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLNextIdElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLNextIdElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLNextIdElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLNextIdElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLNextIdElementVtbl;

interface DispHTMLNextIdElement {
    CONST_VTBL DispHTMLNextIdElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLNextIdElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLNextIdElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLNextIdElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLNextIdElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLNextIdElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLNextIdElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLNextIdElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLNextIdElement_QueryInterface(DispHTMLNextIdElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLNextIdElement_AddRef(DispHTMLNextIdElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLNextIdElement_Release(DispHTMLNextIdElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLNextIdElement_GetTypeInfoCount(DispHTMLNextIdElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLNextIdElement_GetTypeInfo(DispHTMLNextIdElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLNextIdElement_GetIDsOfNames(DispHTMLNextIdElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLNextIdElement_Invoke(DispHTMLNextIdElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLNextIdElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLNextIdElement coclass
 */

DEFINE_GUID(CLSID_HTMLNextIdElement, 0x3050f279, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f279-98b5-11cf-bb82-00aa00bdce0b") HTMLNextIdElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLNextIdElement, 0x3050f279, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CNextIdElement;
/*****************************************************************************
 * IHTMLBaseFontElement interface
 */
#ifndef __IHTMLBaseFontElement_INTERFACE_DEFINED__
#define __IHTMLBaseFontElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBaseFontElement, 0x3050f202, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f202-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBaseFontElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_color(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_face(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_face(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_size(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBaseFontElement, 0x3050f202, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBaseFontElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLBaseFontElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLBaseFontElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLBaseFontElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBaseFontElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBaseFontElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBaseFontElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBaseFontElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBaseFontElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_color)(
        IHTMLBaseFontElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IHTMLBaseFontElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_face)(
        IHTMLBaseFontElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_face)(
        IHTMLBaseFontElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_size)(
        IHTMLBaseFontElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IHTMLBaseFontElement *This,
        LONG *p);

    END_INTERFACE
} IHTMLBaseFontElementVtbl;

interface IHTMLBaseFontElement {
    CONST_VTBL IHTMLBaseFontElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBaseFontElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBaseFontElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBaseFontElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBaseFontElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBaseFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBaseFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBaseFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBaseFontElement methods ***/
#define IHTMLBaseFontElement_put_color(This,v) (This)->lpVtbl->put_color(This,v)
#define IHTMLBaseFontElement_get_color(This,p) (This)->lpVtbl->get_color(This,p)
#define IHTMLBaseFontElement_put_face(This,v) (This)->lpVtbl->put_face(This,v)
#define IHTMLBaseFontElement_get_face(This,p) (This)->lpVtbl->get_face(This,p)
#define IHTMLBaseFontElement_put_size(This,v) (This)->lpVtbl->put_size(This,v)
#define IHTMLBaseFontElement_get_size(This,p) (This)->lpVtbl->get_size(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBaseFontElement_QueryInterface(IHTMLBaseFontElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBaseFontElement_AddRef(IHTMLBaseFontElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBaseFontElement_Release(IHTMLBaseFontElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBaseFontElement_GetTypeInfoCount(IHTMLBaseFontElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBaseFontElement_GetTypeInfo(IHTMLBaseFontElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBaseFontElement_GetIDsOfNames(IHTMLBaseFontElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBaseFontElement_Invoke(IHTMLBaseFontElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBaseFontElement methods ***/
static inline HRESULT IHTMLBaseFontElement_put_color(IHTMLBaseFontElement* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static inline HRESULT IHTMLBaseFontElement_get_color(IHTMLBaseFontElement* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static inline HRESULT IHTMLBaseFontElement_put_face(IHTMLBaseFontElement* This,BSTR v) {
    return This->lpVtbl->put_face(This,v);
}
static inline HRESULT IHTMLBaseFontElement_get_face(IHTMLBaseFontElement* This,BSTR *p) {
    return This->lpVtbl->get_face(This,p);
}
static inline HRESULT IHTMLBaseFontElement_put_size(IHTMLBaseFontElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static inline HRESULT IHTMLBaseFontElement_get_size(IHTMLBaseFontElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBaseFontElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLBaseFontElement dispinterface
 */
#ifndef __DispHTMLBaseFontElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBaseFontElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLBaseFontElement, 0x3050f504, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f504-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLBaseFontElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLBaseFontElement, 0x3050f504, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLBaseFontElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLBaseFontElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLBaseFontElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLBaseFontElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLBaseFontElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLBaseFontElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLBaseFontElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLBaseFontElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLBaseFontElementVtbl;

interface DispHTMLBaseFontElement {
    CONST_VTBL DispHTMLBaseFontElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLBaseFontElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLBaseFontElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLBaseFontElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLBaseFontElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLBaseFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLBaseFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLBaseFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLBaseFontElement_QueryInterface(DispHTMLBaseFontElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLBaseFontElement_AddRef(DispHTMLBaseFontElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLBaseFontElement_Release(DispHTMLBaseFontElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLBaseFontElement_GetTypeInfoCount(DispHTMLBaseFontElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLBaseFontElement_GetTypeInfo(DispHTMLBaseFontElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLBaseFontElement_GetIDsOfNames(DispHTMLBaseFontElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLBaseFontElement_Invoke(DispHTMLBaseFontElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLBaseFontElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLBaseFontElement coclass
 */

DEFINE_GUID(CLSID_HTMLBaseFontElement, 0x3050f282, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f282-98b5-11cf-bb82-00aa00bdce0b") HTMLBaseFontElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLBaseFontElement, 0x3050f282, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CBaseFontElement;
/*****************************************************************************
 * IHTMLUnknownElement interface
 */
#ifndef __IHTMLUnknownElement_INTERFACE_DEFINED__
#define __IHTMLUnknownElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLUnknownElement, 0x3050f209, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f209-98b5-11cf-bb82-00aa00bdce0b")
IHTMLUnknownElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLUnknownElement, 0x3050f209, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLUnknownElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLUnknownElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLUnknownElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLUnknownElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLUnknownElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLUnknownElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLUnknownElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLUnknownElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTMLUnknownElementVtbl;

interface IHTMLUnknownElement {
    CONST_VTBL IHTMLUnknownElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLUnknownElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLUnknownElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLUnknownElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLUnknownElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLUnknownElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLUnknownElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLUnknownElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLUnknownElement_QueryInterface(IHTMLUnknownElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLUnknownElement_AddRef(IHTMLUnknownElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLUnknownElement_Release(IHTMLUnknownElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLUnknownElement_GetTypeInfoCount(IHTMLUnknownElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLUnknownElement_GetTypeInfo(IHTMLUnknownElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLUnknownElement_GetIDsOfNames(IHTMLUnknownElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLUnknownElement_Invoke(IHTMLUnknownElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTMLUnknownElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLUnknownElement dispinterface
 */
#ifndef __DispHTMLUnknownElement_DISPINTERFACE_DEFINED__
#define __DispHTMLUnknownElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLUnknownElement, 0x3050f539, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f539-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLUnknownElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLUnknownElement, 0x3050f539, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLUnknownElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLUnknownElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLUnknownElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLUnknownElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLUnknownElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLUnknownElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLUnknownElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLUnknownElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLUnknownElementVtbl;

interface DispHTMLUnknownElement {
    CONST_VTBL DispHTMLUnknownElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLUnknownElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLUnknownElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLUnknownElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLUnknownElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLUnknownElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLUnknownElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLUnknownElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLUnknownElement_QueryInterface(DispHTMLUnknownElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLUnknownElement_AddRef(DispHTMLUnknownElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLUnknownElement_Release(DispHTMLUnknownElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLUnknownElement_GetTypeInfoCount(DispHTMLUnknownElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLUnknownElement_GetTypeInfo(DispHTMLUnknownElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLUnknownElement_GetIDsOfNames(DispHTMLUnknownElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLUnknownElement_Invoke(DispHTMLUnknownElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLUnknownElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLUnknownElement coclass
 */

DEFINE_GUID(CLSID_HTMLUnknownElement, 0x3050f268, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f268-98b5-11cf-bb82-00aa00bdce0b") HTMLUnknownElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLUnknownElement, 0x3050f268, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CUnknownElement;
#ifndef __IWebGeolocation_FWD_DEFINED__
#define __IWebGeolocation_FWD_DEFINED__
typedef interface IWebGeolocation IWebGeolocation;
#ifdef __cplusplus
interface IWebGeolocation;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IOmHistory interface
 */
#ifndef __IOmHistory_INTERFACE_DEFINED__
#define __IOmHistory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IOmHistory, 0xfeceaaa2, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("feceaaa2-8405-11cf-8ba1-00aa00476da6")
IOmHistory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE back(
        VARIANT *pvargdistance) = 0;

    virtual HRESULT STDMETHODCALLTYPE forward(
        VARIANT *pvargdistance) = 0;

    virtual HRESULT STDMETHODCALLTYPE go(
        VARIANT *pvargdistance) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IOmHistory, 0xfeceaaa2, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6)
#endif
#else
typedef struct IOmHistoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IOmHistory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IOmHistory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IOmHistory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IOmHistory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IOmHistory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IOmHistory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IOmHistory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IOmHistory methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IOmHistory *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *back)(
        IOmHistory *This,
        VARIANT *pvargdistance);

    HRESULT (STDMETHODCALLTYPE *forward)(
        IOmHistory *This,
        VARIANT *pvargdistance);

    HRESULT (STDMETHODCALLTYPE *go)(
        IOmHistory *This,
        VARIANT *pvargdistance);

    END_INTERFACE
} IOmHistoryVtbl;

interface IOmHistory {
    CONST_VTBL IOmHistoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IOmHistory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOmHistory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOmHistory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IOmHistory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IOmHistory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IOmHistory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IOmHistory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IOmHistory methods ***/
#define IOmHistory_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IOmHistory_back(This,pvargdistance) (This)->lpVtbl->back(This,pvargdistance)
#define IOmHistory_forward(This,pvargdistance) (This)->lpVtbl->forward(This,pvargdistance)
#define IOmHistory_go(This,pvargdistance) (This)->lpVtbl->go(This,pvargdistance)
#else
/*** IUnknown methods ***/
static inline HRESULT IOmHistory_QueryInterface(IOmHistory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IOmHistory_AddRef(IOmHistory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IOmHistory_Release(IOmHistory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IOmHistory_GetTypeInfoCount(IOmHistory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IOmHistory_GetTypeInfo(IOmHistory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IOmHistory_GetIDsOfNames(IOmHistory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IOmHistory_Invoke(IOmHistory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IOmHistory methods ***/
static inline HRESULT IOmHistory_get_length(IOmHistory* This,short *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IOmHistory_back(IOmHistory* This,VARIANT *pvargdistance) {
    return This->lpVtbl->back(This,pvargdistance);
}
static inline HRESULT IOmHistory_forward(IOmHistory* This,VARIANT *pvargdistance) {
    return This->lpVtbl->forward(This,pvargdistance);
}
static inline HRESULT IOmHistory_go(IOmHistory* This,VARIANT *pvargdistance) {
    return This->lpVtbl->go(This,pvargdistance);
}
#endif
#endif

#endif


#endif  /* __IOmHistory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMimeTypesCollection interface
 */
#ifndef __IHTMLMimeTypesCollection_INTERFACE_DEFINED__
#define __IHTMLMimeTypesCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMimeTypesCollection, 0x3050f3fc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3fc-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMimeTypesCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMimeTypesCollection, 0x3050f3fc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMimeTypesCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMimeTypesCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMimeTypesCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMimeTypesCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMimeTypesCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMimeTypesCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMimeTypesCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMimeTypesCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMimeTypesCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLMimeTypesCollection *This,
        LONG *p);

    END_INTERFACE
} IHTMLMimeTypesCollectionVtbl;

interface IHTMLMimeTypesCollection {
    CONST_VTBL IHTMLMimeTypesCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMimeTypesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMimeTypesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMimeTypesCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMimeTypesCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMimeTypesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMimeTypesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMimeTypesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMimeTypesCollection methods ***/
#define IHTMLMimeTypesCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMimeTypesCollection_QueryInterface(IHTMLMimeTypesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMimeTypesCollection_AddRef(IHTMLMimeTypesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMimeTypesCollection_Release(IHTMLMimeTypesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMimeTypesCollection_GetTypeInfoCount(IHTMLMimeTypesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMimeTypesCollection_GetTypeInfo(IHTMLMimeTypesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMimeTypesCollection_GetIDsOfNames(IHTMLMimeTypesCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMimeTypesCollection_Invoke(IHTMLMimeTypesCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMimeTypesCollection methods ***/
static inline HRESULT IHTMLMimeTypesCollection_get_length(IHTMLMimeTypesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMimeTypesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPluginsCollection interface
 */
#ifndef __IHTMLPluginsCollection_INTERFACE_DEFINED__
#define __IHTMLPluginsCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPluginsCollection, 0x3050f3fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3fd-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPluginsCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE refresh(
        VARIANT_BOOL reload = 0) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPluginsCollection, 0x3050f3fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPluginsCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPluginsCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPluginsCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPluginsCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPluginsCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPluginsCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPluginsCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPluginsCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLPluginsCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLPluginsCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *refresh)(
        IHTMLPluginsCollection *This,
        VARIANT_BOOL reload);

    END_INTERFACE
} IHTMLPluginsCollectionVtbl;

interface IHTMLPluginsCollection {
    CONST_VTBL IHTMLPluginsCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPluginsCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPluginsCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPluginsCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPluginsCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPluginsCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPluginsCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPluginsCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLPluginsCollection methods ***/
#define IHTMLPluginsCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLPluginsCollection_refresh(This,reload) (This)->lpVtbl->refresh(This,reload)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPluginsCollection_QueryInterface(IHTMLPluginsCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPluginsCollection_AddRef(IHTMLPluginsCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPluginsCollection_Release(IHTMLPluginsCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPluginsCollection_GetTypeInfoCount(IHTMLPluginsCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPluginsCollection_GetTypeInfo(IHTMLPluginsCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPluginsCollection_GetIDsOfNames(IHTMLPluginsCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPluginsCollection_Invoke(IHTMLPluginsCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLPluginsCollection methods ***/
static inline HRESULT IHTMLPluginsCollection_get_length(IHTMLPluginsCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLPluginsCollection_refresh(IHTMLPluginsCollection* This,VARIANT_BOOL reload) {
    return This->lpVtbl->refresh(This,reload);
}
#endif
#endif

#endif


#endif  /* __IHTMLPluginsCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLOpsProfile interface
 */
#ifndef __IHTMLOpsProfile_INTERFACE_DEFINED__
#define __IHTMLOpsProfile_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOpsProfile, 0x3050f401, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f401-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOpsProfile : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE addRequest(
        BSTR name,
        VARIANT reserved,
        VARIANT_BOOL *success) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearRequest(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE doRequest(
        VARIANT usage,
        VARIANT fname,
        VARIANT domain,
        VARIANT path,
        VARIANT expire,
        VARIANT reserved) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR name,
        BSTR *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE setAttribute(
        BSTR name,
        BSTR value,
        VARIANT prefs,
        VARIANT_BOOL *success) = 0;

    virtual HRESULT STDMETHODCALLTYPE commitChanges(
        VARIANT_BOOL *success) = 0;

    virtual HRESULT STDMETHODCALLTYPE addReadRequest(
        BSTR name,
        VARIANT reserved,
        VARIANT_BOOL *success) = 0;

    virtual HRESULT STDMETHODCALLTYPE doReadRequest(
        VARIANT usage,
        VARIANT fname,
        VARIANT domain,
        VARIANT path,
        VARIANT expire,
        VARIANT reserved) = 0;

    virtual HRESULT STDMETHODCALLTYPE doWriteRequest(
        VARIANT_BOOL *success) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOpsProfile, 0x3050f401, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOpsProfileVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLOpsProfile *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLOpsProfile *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLOpsProfile *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOpsProfile *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOpsProfile *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOpsProfile *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOpsProfile *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOpsProfile methods ***/
    HRESULT (STDMETHODCALLTYPE *addRequest)(
        IHTMLOpsProfile *This,
        BSTR name,
        VARIANT reserved,
        VARIANT_BOOL *success);

    HRESULT (STDMETHODCALLTYPE *clearRequest)(
        IHTMLOpsProfile *This);

    HRESULT (STDMETHODCALLTYPE *doRequest)(
        IHTMLOpsProfile *This,
        VARIANT usage,
        VARIANT fname,
        VARIANT domain,
        VARIANT path,
        VARIANT expire,
        VARIANT reserved);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLOpsProfile *This,
        BSTR name,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *setAttribute)(
        IHTMLOpsProfile *This,
        BSTR name,
        BSTR value,
        VARIANT prefs,
        VARIANT_BOOL *success);

    HRESULT (STDMETHODCALLTYPE *commitChanges)(
        IHTMLOpsProfile *This,
        VARIANT_BOOL *success);

    HRESULT (STDMETHODCALLTYPE *addReadRequest)(
        IHTMLOpsProfile *This,
        BSTR name,
        VARIANT reserved,
        VARIANT_BOOL *success);

    HRESULT (STDMETHODCALLTYPE *doReadRequest)(
        IHTMLOpsProfile *This,
        VARIANT usage,
        VARIANT fname,
        VARIANT domain,
        VARIANT path,
        VARIANT expire,
        VARIANT reserved);

    HRESULT (STDMETHODCALLTYPE *doWriteRequest)(
        IHTMLOpsProfile *This,
        VARIANT_BOOL *success);

    END_INTERFACE
} IHTMLOpsProfileVtbl;

interface IHTMLOpsProfile {
    CONST_VTBL IHTMLOpsProfileVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOpsProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOpsProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOpsProfile_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOpsProfile_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOpsProfile_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOpsProfile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOpsProfile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOpsProfile methods ***/
#define IHTMLOpsProfile_addRequest(This,name,reserved,success) (This)->lpVtbl->addRequest(This,name,reserved,success)
#define IHTMLOpsProfile_clearRequest(This) (This)->lpVtbl->clearRequest(This)
#define IHTMLOpsProfile_doRequest(This,usage,fname,domain,path,expire,reserved) (This)->lpVtbl->doRequest(This,usage,fname,domain,path,expire,reserved)
#define IHTMLOpsProfile_getAttribute(This,name,value) (This)->lpVtbl->getAttribute(This,name,value)
#define IHTMLOpsProfile_setAttribute(This,name,value,prefs,success) (This)->lpVtbl->setAttribute(This,name,value,prefs,success)
#define IHTMLOpsProfile_commitChanges(This,success) (This)->lpVtbl->commitChanges(This,success)
#define IHTMLOpsProfile_addReadRequest(This,name,reserved,success) (This)->lpVtbl->addReadRequest(This,name,reserved,success)
#define IHTMLOpsProfile_doReadRequest(This,usage,fname,domain,path,expire,reserved) (This)->lpVtbl->doReadRequest(This,usage,fname,domain,path,expire,reserved)
#define IHTMLOpsProfile_doWriteRequest(This,success) (This)->lpVtbl->doWriteRequest(This,success)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOpsProfile_QueryInterface(IHTMLOpsProfile* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOpsProfile_AddRef(IHTMLOpsProfile* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOpsProfile_Release(IHTMLOpsProfile* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOpsProfile_GetTypeInfoCount(IHTMLOpsProfile* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOpsProfile_GetTypeInfo(IHTMLOpsProfile* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOpsProfile_GetIDsOfNames(IHTMLOpsProfile* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOpsProfile_Invoke(IHTMLOpsProfile* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOpsProfile methods ***/
static inline HRESULT IHTMLOpsProfile_addRequest(IHTMLOpsProfile* This,BSTR name,VARIANT reserved,VARIANT_BOOL *success) {
    return This->lpVtbl->addRequest(This,name,reserved,success);
}
static inline HRESULT IHTMLOpsProfile_clearRequest(IHTMLOpsProfile* This) {
    return This->lpVtbl->clearRequest(This);
}
static inline HRESULT IHTMLOpsProfile_doRequest(IHTMLOpsProfile* This,VARIANT usage,VARIANT fname,VARIANT domain,VARIANT path,VARIANT expire,VARIANT reserved) {
    return This->lpVtbl->doRequest(This,usage,fname,domain,path,expire,reserved);
}
static inline HRESULT IHTMLOpsProfile_getAttribute(IHTMLOpsProfile* This,BSTR name,BSTR *value) {
    return This->lpVtbl->getAttribute(This,name,value);
}
static inline HRESULT IHTMLOpsProfile_setAttribute(IHTMLOpsProfile* This,BSTR name,BSTR value,VARIANT prefs,VARIANT_BOOL *success) {
    return This->lpVtbl->setAttribute(This,name,value,prefs,success);
}
static inline HRESULT IHTMLOpsProfile_commitChanges(IHTMLOpsProfile* This,VARIANT_BOOL *success) {
    return This->lpVtbl->commitChanges(This,success);
}
static inline HRESULT IHTMLOpsProfile_addReadRequest(IHTMLOpsProfile* This,BSTR name,VARIANT reserved,VARIANT_BOOL *success) {
    return This->lpVtbl->addReadRequest(This,name,reserved,success);
}
static inline HRESULT IHTMLOpsProfile_doReadRequest(IHTMLOpsProfile* This,VARIANT usage,VARIANT fname,VARIANT domain,VARIANT path,VARIANT expire,VARIANT reserved) {
    return This->lpVtbl->doReadRequest(This,usage,fname,domain,path,expire,reserved);
}
static inline HRESULT IHTMLOpsProfile_doWriteRequest(IHTMLOpsProfile* This,VARIANT_BOOL *success) {
    return This->lpVtbl->doWriteRequest(This,success);
}
#endif
#endif

#endif


#endif  /* __IHTMLOpsProfile_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IOmNavigator interface
 */
#ifndef __IOmNavigator_INTERFACE_DEFINED__
#define __IOmNavigator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IOmNavigator, 0xfeceaaa5, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("feceaaa5-8405-11cf-8ba1-00aa00476da6")
IOmNavigator : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_appCodeName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_appName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_appVersion(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_userAgent(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE javaEnabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE taintEnabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_mimeTypes(
        IHTMLMimeTypesCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_plugins(
        IHTMLPluginsCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cookieEnabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_opsProfile(
        IHTMLOpsProfile **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *string) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cpuClass(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_systemLanguage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_browserLanguage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_userLanguage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_platform(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_appMinorVersion(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_connectionSpeed(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onLine(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_userProfile(
        IHTMLOpsProfile **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IOmNavigator, 0xfeceaaa5, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6)
#endif
#else
typedef struct IOmNavigatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IOmNavigator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IOmNavigator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IOmNavigator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IOmNavigator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IOmNavigator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IOmNavigator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IOmNavigator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IOmNavigator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_appCodeName)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_appName)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_appVersion)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_userAgent)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *javaEnabled)(
        IOmNavigator *This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *taintEnabled)(
        IOmNavigator *This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *get_mimeTypes)(
        IOmNavigator *This,
        IHTMLMimeTypesCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_plugins)(
        IOmNavigator *This,
        IHTMLPluginsCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_cookieEnabled)(
        IOmNavigator *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_opsProfile)(
        IOmNavigator *This,
        IHTMLOpsProfile **p);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IOmNavigator *This,
        BSTR *string);

    HRESULT (STDMETHODCALLTYPE *get_cpuClass)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_systemLanguage)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_browserLanguage)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_userLanguage)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_platform)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_appMinorVersion)(
        IOmNavigator *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_connectionSpeed)(
        IOmNavigator *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_onLine)(
        IOmNavigator *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_userProfile)(
        IOmNavigator *This,
        IHTMLOpsProfile **p);

    END_INTERFACE
} IOmNavigatorVtbl;

interface IOmNavigator {
    CONST_VTBL IOmNavigatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IOmNavigator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOmNavigator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOmNavigator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IOmNavigator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IOmNavigator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IOmNavigator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IOmNavigator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IOmNavigator methods ***/
#define IOmNavigator_get_appCodeName(This,p) (This)->lpVtbl->get_appCodeName(This,p)
#define IOmNavigator_get_appName(This,p) (This)->lpVtbl->get_appName(This,p)
#define IOmNavigator_get_appVersion(This,p) (This)->lpVtbl->get_appVersion(This,p)
#define IOmNavigator_get_userAgent(This,p) (This)->lpVtbl->get_userAgent(This,p)
#define IOmNavigator_javaEnabled(This,enabled) (This)->lpVtbl->javaEnabled(This,enabled)
#define IOmNavigator_taintEnabled(This,enabled) (This)->lpVtbl->taintEnabled(This,enabled)
#define IOmNavigator_get_mimeTypes(This,p) (This)->lpVtbl->get_mimeTypes(This,p)
#define IOmNavigator_get_plugins(This,p) (This)->lpVtbl->get_plugins(This,p)
#define IOmNavigator_get_cookieEnabled(This,p) (This)->lpVtbl->get_cookieEnabled(This,p)
#define IOmNavigator_get_opsProfile(This,p) (This)->lpVtbl->get_opsProfile(This,p)
#define IOmNavigator_toString(This,string) (This)->lpVtbl->toString(This,string)
#define IOmNavigator_get_cpuClass(This,p) (This)->lpVtbl->get_cpuClass(This,p)
#define IOmNavigator_get_systemLanguage(This,p) (This)->lpVtbl->get_systemLanguage(This,p)
#define IOmNavigator_get_browserLanguage(This,p) (This)->lpVtbl->get_browserLanguage(This,p)
#define IOmNavigator_get_userLanguage(This,p) (This)->lpVtbl->get_userLanguage(This,p)
#define IOmNavigator_get_platform(This,p) (This)->lpVtbl->get_platform(This,p)
#define IOmNavigator_get_appMinorVersion(This,p) (This)->lpVtbl->get_appMinorVersion(This,p)
#define IOmNavigator_get_connectionSpeed(This,p) (This)->lpVtbl->get_connectionSpeed(This,p)
#define IOmNavigator_get_onLine(This,p) (This)->lpVtbl->get_onLine(This,p)
#define IOmNavigator_get_userProfile(This,p) (This)->lpVtbl->get_userProfile(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IOmNavigator_QueryInterface(IOmNavigator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IOmNavigator_AddRef(IOmNavigator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IOmNavigator_Release(IOmNavigator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IOmNavigator_GetTypeInfoCount(IOmNavigator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IOmNavigator_GetTypeInfo(IOmNavigator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IOmNavigator_GetIDsOfNames(IOmNavigator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IOmNavigator_Invoke(IOmNavigator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IOmNavigator methods ***/
static inline HRESULT IOmNavigator_get_appCodeName(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appCodeName(This,p);
}
static inline HRESULT IOmNavigator_get_appName(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appName(This,p);
}
static inline HRESULT IOmNavigator_get_appVersion(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appVersion(This,p);
}
static inline HRESULT IOmNavigator_get_userAgent(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_userAgent(This,p);
}
static inline HRESULT IOmNavigator_javaEnabled(IOmNavigator* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->javaEnabled(This,enabled);
}
static inline HRESULT IOmNavigator_taintEnabled(IOmNavigator* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->taintEnabled(This,enabled);
}
static inline HRESULT IOmNavigator_get_mimeTypes(IOmNavigator* This,IHTMLMimeTypesCollection **p) {
    return This->lpVtbl->get_mimeTypes(This,p);
}
static inline HRESULT IOmNavigator_get_plugins(IOmNavigator* This,IHTMLPluginsCollection **p) {
    return This->lpVtbl->get_plugins(This,p);
}
static inline HRESULT IOmNavigator_get_cookieEnabled(IOmNavigator* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cookieEnabled(This,p);
}
static inline HRESULT IOmNavigator_get_opsProfile(IOmNavigator* This,IHTMLOpsProfile **p) {
    return This->lpVtbl->get_opsProfile(This,p);
}
static inline HRESULT IOmNavigator_toString(IOmNavigator* This,BSTR *string) {
    return This->lpVtbl->toString(This,string);
}
static inline HRESULT IOmNavigator_get_cpuClass(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_cpuClass(This,p);
}
static inline HRESULT IOmNavigator_get_systemLanguage(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_systemLanguage(This,p);
}
static inline HRESULT IOmNavigator_get_browserLanguage(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_browserLanguage(This,p);
}
static inline HRESULT IOmNavigator_get_userLanguage(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_userLanguage(This,p);
}
static inline HRESULT IOmNavigator_get_platform(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_platform(This,p);
}
static inline HRESULT IOmNavigator_get_appMinorVersion(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appMinorVersion(This,p);
}
static inline HRESULT IOmNavigator_get_connectionSpeed(IOmNavigator* This,LONG *p) {
    return This->lpVtbl->get_connectionSpeed(This,p);
}
static inline HRESULT IOmNavigator_get_onLine(IOmNavigator* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_onLine(This,p);
}
static inline HRESULT IOmNavigator_get_userProfile(IOmNavigator* This,IHTMLOpsProfile **p) {
    return This->lpVtbl->get_userProfile(This,p);
}
#endif
#endif

#endif


#endif  /* __IOmNavigator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INavigatorGeolocation interface
 */
#ifndef __INavigatorGeolocation_INTERFACE_DEFINED__
#define __INavigatorGeolocation_INTERFACE_DEFINED__

DEFINE_GUID(IID_INavigatorGeolocation, 0x305107cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107cf-98b5-11cf-bb82-00aa00bdce0b")
INavigatorGeolocation : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_geolocation(
        IWebGeolocation **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INavigatorGeolocation, 0x305107cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct INavigatorGeolocationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INavigatorGeolocation *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INavigatorGeolocation *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INavigatorGeolocation *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INavigatorGeolocation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INavigatorGeolocation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INavigatorGeolocation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INavigatorGeolocation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INavigatorGeolocation methods ***/
    HRESULT (STDMETHODCALLTYPE *get_geolocation)(
        INavigatorGeolocation *This,
        IWebGeolocation **p);

    END_INTERFACE
} INavigatorGeolocationVtbl;

interface INavigatorGeolocation {
    CONST_VTBL INavigatorGeolocationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INavigatorGeolocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INavigatorGeolocation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INavigatorGeolocation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INavigatorGeolocation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INavigatorGeolocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INavigatorGeolocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INavigatorGeolocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INavigatorGeolocation methods ***/
#define INavigatorGeolocation_get_geolocation(This,p) (This)->lpVtbl->get_geolocation(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT INavigatorGeolocation_QueryInterface(INavigatorGeolocation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG INavigatorGeolocation_AddRef(INavigatorGeolocation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG INavigatorGeolocation_Release(INavigatorGeolocation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT INavigatorGeolocation_GetTypeInfoCount(INavigatorGeolocation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT INavigatorGeolocation_GetTypeInfo(INavigatorGeolocation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT INavigatorGeolocation_GetIDsOfNames(INavigatorGeolocation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT INavigatorGeolocation_Invoke(INavigatorGeolocation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INavigatorGeolocation methods ***/
static inline HRESULT INavigatorGeolocation_get_geolocation(INavigatorGeolocation* This,IWebGeolocation **p) {
    return This->lpVtbl->get_geolocation(This,p);
}
#endif
#endif

#endif


#endif  /* __INavigatorGeolocation_INTERFACE_DEFINED__ */

/*****************************************************************************
 * INavigatorDoNotTrack interface
 */
#ifndef __INavigatorDoNotTrack_INTERFACE_DEFINED__
#define __INavigatorDoNotTrack_INTERFACE_DEFINED__

DEFINE_GUID(IID_INavigatorDoNotTrack, 0x30510804, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510804-98b5-11cf-bb82-00aa00bdce0b")
INavigatorDoNotTrack : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_msDoNotTrack(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INavigatorDoNotTrack, 0x30510804, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct INavigatorDoNotTrackVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        INavigatorDoNotTrack *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        INavigatorDoNotTrack *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        INavigatorDoNotTrack *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        INavigatorDoNotTrack *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        INavigatorDoNotTrack *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        INavigatorDoNotTrack *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        INavigatorDoNotTrack *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** INavigatorDoNotTrack methods ***/
    HRESULT (STDMETHODCALLTYPE *get_msDoNotTrack)(
        INavigatorDoNotTrack *This,
        BSTR *p);

    END_INTERFACE
} INavigatorDoNotTrackVtbl;

interface INavigatorDoNotTrack {
    CONST_VTBL INavigatorDoNotTrackVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INavigatorDoNotTrack_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INavigatorDoNotTrack_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INavigatorDoNotTrack_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define INavigatorDoNotTrack_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define INavigatorDoNotTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define INavigatorDoNotTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define INavigatorDoNotTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** INavigatorDoNotTrack methods ***/
#define INavigatorDoNotTrack_get_msDoNotTrack(This,p) (This)->lpVtbl->get_msDoNotTrack(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT INavigatorDoNotTrack_QueryInterface(INavigatorDoNotTrack* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG INavigatorDoNotTrack_AddRef(INavigatorDoNotTrack* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG INavigatorDoNotTrack_Release(INavigatorDoNotTrack* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT INavigatorDoNotTrack_GetTypeInfoCount(INavigatorDoNotTrack* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT INavigatorDoNotTrack_GetTypeInfo(INavigatorDoNotTrack* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT INavigatorDoNotTrack_GetIDsOfNames(INavigatorDoNotTrack* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT INavigatorDoNotTrack_Invoke(INavigatorDoNotTrack* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** INavigatorDoNotTrack methods ***/
static inline HRESULT INavigatorDoNotTrack_get_msDoNotTrack(INavigatorDoNotTrack* This,BSTR *p) {
    return This->lpVtbl->get_msDoNotTrack(This,p);
}
#endif
#endif

#endif


#endif  /* __INavigatorDoNotTrack_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLocation interface
 */
#ifndef __IHTMLLocation_INTERFACE_DEFINED__
#define __IHTMLLocation_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLocation, 0x163bb1e0, 0x6e00, 0x11cf, 0x83,0x7a, 0x48,0xdc,0x04,0xc1,0x00,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("163bb1e0-6e00-11cf-837a-48dc04c10000")
IHTMLLocation : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_protocol(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_protocol(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_host(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_host(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hostname(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hostname(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_port(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_port(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pathname(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pathname(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_search(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_search(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hash(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hash(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE reload(
        VARIANT_BOOL flag = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE replace(
        BSTR bstr) = 0;

    virtual HRESULT STDMETHODCALLTYPE assign(
        BSTR bstr) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *string) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLocation, 0x163bb1e0, 0x6e00, 0x11cf, 0x83,0x7a, 0x48,0xdc,0x04,0xc1,0x00,0x00)
#endif
#else
typedef struct IHTMLLocationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLLocation *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLLocation *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLLocation *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLocation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLocation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLocation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLocation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLocation methods ***/
    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_protocol)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_protocol)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_host)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_host)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hostname)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hostname)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_port)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_port)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pathname)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pathname)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_search)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_search)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hash)(
        IHTMLLocation *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hash)(
        IHTMLLocation *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *reload)(
        IHTMLLocation *This,
        VARIANT_BOOL flag);

    HRESULT (STDMETHODCALLTYPE *replace)(
        IHTMLLocation *This,
        BSTR bstr);

    HRESULT (STDMETHODCALLTYPE *assign)(
        IHTMLLocation *This,
        BSTR bstr);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLLocation *This,
        BSTR *string);

    END_INTERFACE
} IHTMLLocationVtbl;

interface IHTMLLocation {
    CONST_VTBL IHTMLLocationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLocation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLocation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLocation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLocation methods ***/
#define IHTMLLocation_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLLocation_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLLocation_put_protocol(This,v) (This)->lpVtbl->put_protocol(This,v)
#define IHTMLLocation_get_protocol(This,p) (This)->lpVtbl->get_protocol(This,p)
#define IHTMLLocation_put_host(This,v) (This)->lpVtbl->put_host(This,v)
#define IHTMLLocation_get_host(This,p) (This)->lpVtbl->get_host(This,p)
#define IHTMLLocation_put_hostname(This,v) (This)->lpVtbl->put_hostname(This,v)
#define IHTMLLocation_get_hostname(This,p) (This)->lpVtbl->get_hostname(This,p)
#define IHTMLLocation_put_port(This,v) (This)->lpVtbl->put_port(This,v)
#define IHTMLLocation_get_port(This,p) (This)->lpVtbl->get_port(This,p)
#define IHTMLLocation_put_pathname(This,v) (This)->lpVtbl->put_pathname(This,v)
#define IHTMLLocation_get_pathname(This,p) (This)->lpVtbl->get_pathname(This,p)
#define IHTMLLocation_put_search(This,v) (This)->lpVtbl->put_search(This,v)
#define IHTMLLocation_get_search(This,p) (This)->lpVtbl->get_search(This,p)
#define IHTMLLocation_put_hash(This,v) (This)->lpVtbl->put_hash(This,v)
#define IHTMLLocation_get_hash(This,p) (This)->lpVtbl->get_hash(This,p)
#define IHTMLLocation_reload(This,flag) (This)->lpVtbl->reload(This,flag)
#define IHTMLLocation_replace(This,bstr) (This)->lpVtbl->replace(This,bstr)
#define IHTMLLocation_assign(This,bstr) (This)->lpVtbl->assign(This,bstr)
#define IHTMLLocation_toString(This,string) (This)->lpVtbl->toString(This,string)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLocation_QueryInterface(IHTMLLocation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLocation_AddRef(IHTMLLocation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLocation_Release(IHTMLLocation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLocation_GetTypeInfoCount(IHTMLLocation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLocation_GetTypeInfo(IHTMLLocation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLocation_GetIDsOfNames(IHTMLLocation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLocation_Invoke(IHTMLLocation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLocation methods ***/
static inline HRESULT IHTMLLocation_put_href(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLLocation_get_href(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLLocation_put_protocol(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_protocol(This,v);
}
static inline HRESULT IHTMLLocation_get_protocol(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static inline HRESULT IHTMLLocation_put_host(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_host(This,v);
}
static inline HRESULT IHTMLLocation_get_host(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_host(This,p);
}
static inline HRESULT IHTMLLocation_put_hostname(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_hostname(This,v);
}
static inline HRESULT IHTMLLocation_get_hostname(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_hostname(This,p);
}
static inline HRESULT IHTMLLocation_put_port(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_port(This,v);
}
static inline HRESULT IHTMLLocation_get_port(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_port(This,p);
}
static inline HRESULT IHTMLLocation_put_pathname(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_pathname(This,v);
}
static inline HRESULT IHTMLLocation_get_pathname(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_pathname(This,p);
}
static inline HRESULT IHTMLLocation_put_search(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_search(This,v);
}
static inline HRESULT IHTMLLocation_get_search(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_search(This,p);
}
static inline HRESULT IHTMLLocation_put_hash(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_hash(This,v);
}
static inline HRESULT IHTMLLocation_get_hash(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_hash(This,p);
}
static inline HRESULT IHTMLLocation_reload(IHTMLLocation* This,VARIANT_BOOL flag) {
    return This->lpVtbl->reload(This,flag);
}
static inline HRESULT IHTMLLocation_replace(IHTMLLocation* This,BSTR bstr) {
    return This->lpVtbl->replace(This,bstr);
}
static inline HRESULT IHTMLLocation_assign(IHTMLLocation* This,BSTR bstr) {
    return This->lpVtbl->assign(This,bstr);
}
static inline HRESULT IHTMLLocation_toString(IHTMLLocation* This,BSTR *string) {
    return This->lpVtbl->toString(This,string);
}
#endif
#endif

#endif


#endif  /* __IHTMLLocation_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLHistory dispinterface
 */
#ifndef __DispHTMLHistory_DISPINTERFACE_DEFINED__
#define __DispHTMLHistory_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLHistory, 0x3050f549, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f549-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLHistory : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLHistory, 0x3050f549, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLHistoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLHistory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLHistory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLHistory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLHistory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLHistory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLHistory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLHistory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLHistoryVtbl;

interface DispHTMLHistory {
    CONST_VTBL DispHTMLHistoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLHistory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLHistory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLHistory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLHistory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLHistory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLHistory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLHistory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLHistory_QueryInterface(DispHTMLHistory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLHistory_AddRef(DispHTMLHistory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLHistory_Release(DispHTMLHistory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLHistory_GetTypeInfoCount(DispHTMLHistory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLHistory_GetTypeInfo(DispHTMLHistory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLHistory_GetIDsOfNames(DispHTMLHistory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLHistory_Invoke(DispHTMLHistory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLHistory_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLHistory coclass
 */

DEFINE_GUID(CLSID_HTMLHistory, 0xfeceaaa3, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6);

#ifdef __cplusplus
class DECLSPEC_UUID("feceaaa3-8405-11cf-8ba1-00aa00476da6") HTMLHistory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLHistory, 0xfeceaaa3, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6)
#endif
#endif

EXTERN_C const GUID CLSID_COmHistory;
/*****************************************************************************
 * CMimeTypes coclass
 */

DEFINE_GUID(CLSID_CMimeTypes, 0x3050f3fe, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3fe-98b5-11cf-bb82-00aa00bdce0b") CMimeTypes;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CMimeTypes, 0x3050f3fe, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMimeTypes;
/*****************************************************************************
 * DispCPlugins dispinterface
 */
#ifndef __DispCPlugins_DISPINTERFACE_DEFINED__
#define __DispCPlugins_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCPlugins, 0x3050f54a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f54a-98b5-11cf-bb82-00aa00bdce0b")
DispCPlugins : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCPlugins, 0x3050f54a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCPluginsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCPlugins *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCPlugins *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCPlugins *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCPlugins *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCPlugins *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCPlugins *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCPlugins *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCPluginsVtbl;

interface DispCPlugins {
    CONST_VTBL DispCPluginsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCPlugins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCPlugins_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCPlugins_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCPlugins_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCPlugins_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCPlugins_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCPlugins_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCPlugins_QueryInterface(DispCPlugins* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCPlugins_AddRef(DispCPlugins* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCPlugins_Release(DispCPlugins* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCPlugins_GetTypeInfoCount(DispCPlugins* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCPlugins_GetTypeInfo(DispCPlugins* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCPlugins_GetIDsOfNames(DispCPlugins* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCPlugins_Invoke(DispCPlugins* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCPlugins_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CPlugins coclass
 */

DEFINE_GUID(CLSID_CPlugins, 0x3050f3ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3ff-98b5-11cf-bb82-00aa00bdce0b") CPlugins;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CPlugins, 0x3050f3ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CPlugins;
/*****************************************************************************
 * COpsProfile coclass
 */

DEFINE_GUID(CLSID_COpsProfile, 0x3050f402, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f402-98b5-11cf-bb82-00aa00bdce0b") COpsProfile;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(COpsProfile, 0x3050f402, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_COpsProfile;
/*****************************************************************************
 * DispHTMLNavigator dispinterface
 */
#ifndef __DispHTMLNavigator_DISPINTERFACE_DEFINED__
#define __DispHTMLNavigator_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLNavigator, 0x3050f54c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f54c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLNavigator : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLNavigator, 0x3050f54c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLNavigatorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLNavigator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLNavigator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLNavigator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLNavigator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLNavigator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLNavigator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLNavigator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLNavigatorVtbl;

interface DispHTMLNavigator {
    CONST_VTBL DispHTMLNavigatorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLNavigator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLNavigator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLNavigator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLNavigator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLNavigator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLNavigator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLNavigator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLNavigator_QueryInterface(DispHTMLNavigator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLNavigator_AddRef(DispHTMLNavigator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLNavigator_Release(DispHTMLNavigator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLNavigator_GetTypeInfoCount(DispHTMLNavigator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLNavigator_GetTypeInfo(DispHTMLNavigator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLNavigator_GetIDsOfNames(DispHTMLNavigator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLNavigator_Invoke(DispHTMLNavigator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLNavigator_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLNavigator coclass
 */

DEFINE_GUID(CLSID_HTMLNavigator, 0xfeceaaa6, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6);

#ifdef __cplusplus
class DECLSPEC_UUID("feceaaa6-8405-11cf-8ba1-00aa00476da6") HTMLNavigator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLNavigator, 0xfeceaaa6, 0x8405, 0x11cf, 0x8b,0xa1, 0x00,0xaa,0x00,0x47,0x6d,0xa6)
#endif
#endif

EXTERN_C const GUID CLSID_COmNavigator;
/*****************************************************************************
 * DispHTMLLocation dispinterface
 */
#ifndef __DispHTMLLocation_DISPINTERFACE_DEFINED__
#define __DispHTMLLocation_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLLocation, 0x3050f54e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f54e-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLLocation : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLLocation, 0x3050f54e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLLocationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLLocation *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLLocation *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLLocation *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLLocation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLLocation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLLocation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLLocation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLLocationVtbl;

interface DispHTMLLocation {
    CONST_VTBL DispHTMLLocationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLLocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLLocation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLLocation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLLocation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLLocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLLocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLLocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLLocation_QueryInterface(DispHTMLLocation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLLocation_AddRef(DispHTMLLocation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLLocation_Release(DispHTMLLocation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLLocation_GetTypeInfoCount(DispHTMLLocation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLLocation_GetTypeInfo(DispHTMLLocation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLLocation_GetIDsOfNames(DispHTMLLocation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLLocation_Invoke(DispHTMLLocation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLLocation_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLLocation coclass
 */

DEFINE_GUID(CLSID_HTMLLocation, 0x163bb1e1, 0x6e00, 0x11cf, 0x83,0x7a, 0x48,0xdc,0x04,0xc1,0x00,0x00);

#ifdef __cplusplus
class DECLSPEC_UUID("163bb1e1-6e00-11cf-837a-48dc04c10000") HTMLLocation;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLocation, 0x163bb1e1, 0x6e00, 0x11cf, 0x83,0x7a, 0x48,0xdc,0x04,0xc1,0x00,0x00)
#endif
#endif

EXTERN_C const GUID CLSID_COmLocation;
/*****************************************************************************
 * IHTMLBookmarkCollection interface
 */
#ifndef __IHTMLBookmarkCollection_INTERFACE_DEFINED__
#define __IHTMLBookmarkCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBookmarkCollection, 0x3050f4ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ce-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBookmarkCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        VARIANT *pVarBookmark) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBookmarkCollection, 0x3050f4ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBookmarkCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLBookmarkCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLBookmarkCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLBookmarkCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBookmarkCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBookmarkCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBookmarkCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBookmarkCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBookmarkCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLBookmarkCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLBookmarkCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLBookmarkCollection *This,
        LONG index,
        VARIANT *pVarBookmark);

    END_INTERFACE
} IHTMLBookmarkCollectionVtbl;

interface IHTMLBookmarkCollection {
    CONST_VTBL IHTMLBookmarkCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBookmarkCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBookmarkCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBookmarkCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBookmarkCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBookmarkCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBookmarkCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBookmarkCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBookmarkCollection methods ***/
#define IHTMLBookmarkCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLBookmarkCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLBookmarkCollection_item(This,index,pVarBookmark) (This)->lpVtbl->item(This,index,pVarBookmark)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBookmarkCollection_QueryInterface(IHTMLBookmarkCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBookmarkCollection_AddRef(IHTMLBookmarkCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBookmarkCollection_Release(IHTMLBookmarkCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBookmarkCollection_GetTypeInfoCount(IHTMLBookmarkCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBookmarkCollection_GetTypeInfo(IHTMLBookmarkCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBookmarkCollection_GetIDsOfNames(IHTMLBookmarkCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBookmarkCollection_Invoke(IHTMLBookmarkCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBookmarkCollection methods ***/
static inline HRESULT IHTMLBookmarkCollection_get_length(IHTMLBookmarkCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLBookmarkCollection_get__newEnum(IHTMLBookmarkCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLBookmarkCollection_item(IHTMLBookmarkCollection* This,LONG index,VARIANT *pVarBookmark) {
    return This->lpVtbl->item(This,index,pVarBookmark);
}
#endif
#endif

#endif


#endif  /* __IHTMLBookmarkCollection_INTERFACE_DEFINED__ */

typedef enum _htmlPersistState {
    htmlPersistStateNormal = 0,
    htmlPersistStateFavorite = 1,
    htmlPersistStateHistory = 2,
    htmlPersistStateSnapshot = 3,
    htmlPersistStateUserData = 4,
    htmlPersistState_Max = 0x7fffffff
} htmlPersistState;
typedef enum _htmlDropEffect {
    htmlDropEffectCopy = 0,
    htmlDropEffectLink = 1,
    htmlDropEffectMove = 2,
    htmlDropEffectNone = 3,
    htmlDropEffect_Max = 0x7fffffff
} htmlDropEffect;
typedef enum _htmlEffectAllowed {
    htmlEffectAllowedCopy = 0,
    htmlEffectAllowedLink = 1,
    htmlEffectAllowedMove = 2,
    htmlEffectAllowedCopyLink = 3,
    htmlEffectAllowedCopyMove = 4,
    htmlEffectAllowedLinkMove = 5,
    htmlEffectAllowedAll = 6,
    htmlEffectAllowedNone = 7,
    htmlEffectAllowedUninitialized = 8,
    htmlEffectAllowed_Max = 0x7fffffff
} htmlEffectAllowed;
/*****************************************************************************
 * IHTMLDataTransfer interface
 */
#ifndef __IHTMLDataTransfer_INTERFACE_DEFINED__
#define __IHTMLDataTransfer_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDataTransfer, 0x3050f4b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4b3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDataTransfer : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE setData(
        BSTR format,
        VARIANT *data,
        VARIANT_BOOL *pret) = 0;

    virtual HRESULT STDMETHODCALLTYPE getData(
        BSTR format,
        VARIANT *pvarRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearData(
        BSTR format,
        VARIANT_BOOL *pret) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dropEffect(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dropEffect(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_effectAllowed(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_effectAllowed(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDataTransfer, 0x3050f4b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDataTransferVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDataTransfer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDataTransfer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDataTransfer *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDataTransfer *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDataTransfer *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDataTransfer *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDataTransfer *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDataTransfer methods ***/
    HRESULT (STDMETHODCALLTYPE *setData)(
        IHTMLDataTransfer *This,
        BSTR format,
        VARIANT *data,
        VARIANT_BOOL *pret);

    HRESULT (STDMETHODCALLTYPE *getData)(
        IHTMLDataTransfer *This,
        BSTR format,
        VARIANT *pvarRet);

    HRESULT (STDMETHODCALLTYPE *clearData)(
        IHTMLDataTransfer *This,
        BSTR format,
        VARIANT_BOOL *pret);

    HRESULT (STDMETHODCALLTYPE *put_dropEffect)(
        IHTMLDataTransfer *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dropEffect)(
        IHTMLDataTransfer *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_effectAllowed)(
        IHTMLDataTransfer *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_effectAllowed)(
        IHTMLDataTransfer *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDataTransferVtbl;

interface IHTMLDataTransfer {
    CONST_VTBL IHTMLDataTransferVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDataTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDataTransfer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDataTransfer_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDataTransfer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDataTransfer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDataTransfer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDataTransfer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDataTransfer methods ***/
#define IHTMLDataTransfer_setData(This,format,data,pret) (This)->lpVtbl->setData(This,format,data,pret)
#define IHTMLDataTransfer_getData(This,format,pvarRet) (This)->lpVtbl->getData(This,format,pvarRet)
#define IHTMLDataTransfer_clearData(This,format,pret) (This)->lpVtbl->clearData(This,format,pret)
#define IHTMLDataTransfer_put_dropEffect(This,v) (This)->lpVtbl->put_dropEffect(This,v)
#define IHTMLDataTransfer_get_dropEffect(This,p) (This)->lpVtbl->get_dropEffect(This,p)
#define IHTMLDataTransfer_put_effectAllowed(This,v) (This)->lpVtbl->put_effectAllowed(This,v)
#define IHTMLDataTransfer_get_effectAllowed(This,p) (This)->lpVtbl->get_effectAllowed(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDataTransfer_QueryInterface(IHTMLDataTransfer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDataTransfer_AddRef(IHTMLDataTransfer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDataTransfer_Release(IHTMLDataTransfer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDataTransfer_GetTypeInfoCount(IHTMLDataTransfer* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDataTransfer_GetTypeInfo(IHTMLDataTransfer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDataTransfer_GetIDsOfNames(IHTMLDataTransfer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDataTransfer_Invoke(IHTMLDataTransfer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDataTransfer methods ***/
static inline HRESULT IHTMLDataTransfer_setData(IHTMLDataTransfer* This,BSTR format,VARIANT *data,VARIANT_BOOL *pret) {
    return This->lpVtbl->setData(This,format,data,pret);
}
static inline HRESULT IHTMLDataTransfer_getData(IHTMLDataTransfer* This,BSTR format,VARIANT *pvarRet) {
    return This->lpVtbl->getData(This,format,pvarRet);
}
static inline HRESULT IHTMLDataTransfer_clearData(IHTMLDataTransfer* This,BSTR format,VARIANT_BOOL *pret) {
    return This->lpVtbl->clearData(This,format,pret);
}
static inline HRESULT IHTMLDataTransfer_put_dropEffect(IHTMLDataTransfer* This,BSTR v) {
    return This->lpVtbl->put_dropEffect(This,v);
}
static inline HRESULT IHTMLDataTransfer_get_dropEffect(IHTMLDataTransfer* This,BSTR *p) {
    return This->lpVtbl->get_dropEffect(This,p);
}
static inline HRESULT IHTMLDataTransfer_put_effectAllowed(IHTMLDataTransfer* This,BSTR v) {
    return This->lpVtbl->put_effectAllowed(This,v);
}
static inline HRESULT IHTMLDataTransfer_get_effectAllowed(IHTMLDataTransfer* This,BSTR *p) {
    return This->lpVtbl->get_effectAllowed(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDataTransfer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEventObj interface
 */
#ifndef __IHTMLEventObj_INTERFACE_DEFINED__
#define __IHTMLEventObj_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEventObj, 0x3050f32d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f32d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEventObj : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_srcElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ctrlKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shiftKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_returnValue(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_returnValue(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cancelBubble(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cancelBubble(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fromElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_toElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_keyCode(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_keyCode(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_button(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_qualifier(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_reason(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_srcFilter(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEventObj, 0x3050f32d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEventObjVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEventObj *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEventObj *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEventObj *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEventObj *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEventObj *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEventObj *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEventObj *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEventObj methods ***/
    HRESULT (STDMETHODCALLTYPE *get_srcElement)(
        IHTMLEventObj *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_altKey)(
        IHTMLEventObj *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_ctrlKey)(
        IHTMLEventObj *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_shiftKey)(
        IHTMLEventObj *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_returnValue)(
        IHTMLEventObj *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_returnValue)(
        IHTMLEventObj *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_cancelBubble)(
        IHTMLEventObj *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_cancelBubble)(
        IHTMLEventObj *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_fromElement)(
        IHTMLEventObj *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_toElement)(
        IHTMLEventObj *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *put_keyCode)(
        IHTMLEventObj *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_keyCode)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_button)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLEventObj *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_qualifier)(
        IHTMLEventObj *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_reason)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientX)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientY)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetX)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetY)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_screenX)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_screenY)(
        IHTMLEventObj *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_srcFilter)(
        IHTMLEventObj *This,
        IDispatch **p);

    END_INTERFACE
} IHTMLEventObjVtbl;

interface IHTMLEventObj {
    CONST_VTBL IHTMLEventObjVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEventObj_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEventObj_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEventObj_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEventObj_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEventObj_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEventObj_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEventObj_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEventObj methods ***/
#define IHTMLEventObj_get_srcElement(This,p) (This)->lpVtbl->get_srcElement(This,p)
#define IHTMLEventObj_get_altKey(This,p) (This)->lpVtbl->get_altKey(This,p)
#define IHTMLEventObj_get_ctrlKey(This,p) (This)->lpVtbl->get_ctrlKey(This,p)
#define IHTMLEventObj_get_shiftKey(This,p) (This)->lpVtbl->get_shiftKey(This,p)
#define IHTMLEventObj_put_returnValue(This,v) (This)->lpVtbl->put_returnValue(This,v)
#define IHTMLEventObj_get_returnValue(This,p) (This)->lpVtbl->get_returnValue(This,p)
#define IHTMLEventObj_put_cancelBubble(This,v) (This)->lpVtbl->put_cancelBubble(This,v)
#define IHTMLEventObj_get_cancelBubble(This,p) (This)->lpVtbl->get_cancelBubble(This,p)
#define IHTMLEventObj_get_fromElement(This,p) (This)->lpVtbl->get_fromElement(This,p)
#define IHTMLEventObj_get_toElement(This,p) (This)->lpVtbl->get_toElement(This,p)
#define IHTMLEventObj_put_keyCode(This,v) (This)->lpVtbl->put_keyCode(This,v)
#define IHTMLEventObj_get_keyCode(This,p) (This)->lpVtbl->get_keyCode(This,p)
#define IHTMLEventObj_get_button(This,p) (This)->lpVtbl->get_button(This,p)
#define IHTMLEventObj_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLEventObj_get_qualifier(This,p) (This)->lpVtbl->get_qualifier(This,p)
#define IHTMLEventObj_get_reason(This,p) (This)->lpVtbl->get_reason(This,p)
#define IHTMLEventObj_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define IHTMLEventObj_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define IHTMLEventObj_get_clientX(This,p) (This)->lpVtbl->get_clientX(This,p)
#define IHTMLEventObj_get_clientY(This,p) (This)->lpVtbl->get_clientY(This,p)
#define IHTMLEventObj_get_offsetX(This,p) (This)->lpVtbl->get_offsetX(This,p)
#define IHTMLEventObj_get_offsetY(This,p) (This)->lpVtbl->get_offsetY(This,p)
#define IHTMLEventObj_get_screenX(This,p) (This)->lpVtbl->get_screenX(This,p)
#define IHTMLEventObj_get_screenY(This,p) (This)->lpVtbl->get_screenY(This,p)
#define IHTMLEventObj_get_srcFilter(This,p) (This)->lpVtbl->get_srcFilter(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEventObj_QueryInterface(IHTMLEventObj* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEventObj_AddRef(IHTMLEventObj* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEventObj_Release(IHTMLEventObj* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEventObj_GetTypeInfoCount(IHTMLEventObj* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEventObj_GetTypeInfo(IHTMLEventObj* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEventObj_GetIDsOfNames(IHTMLEventObj* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEventObj_Invoke(IHTMLEventObj* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEventObj methods ***/
static inline HRESULT IHTMLEventObj_get_srcElement(IHTMLEventObj* This,IHTMLElement **p) {
    return This->lpVtbl->get_srcElement(This,p);
}
static inline HRESULT IHTMLEventObj_get_altKey(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_altKey(This,p);
}
static inline HRESULT IHTMLEventObj_get_ctrlKey(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_ctrlKey(This,p);
}
static inline HRESULT IHTMLEventObj_get_shiftKey(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_shiftKey(This,p);
}
static inline HRESULT IHTMLEventObj_put_returnValue(IHTMLEventObj* This,VARIANT v) {
    return This->lpVtbl->put_returnValue(This,v);
}
static inline HRESULT IHTMLEventObj_get_returnValue(IHTMLEventObj* This,VARIANT *p) {
    return This->lpVtbl->get_returnValue(This,p);
}
static inline HRESULT IHTMLEventObj_put_cancelBubble(IHTMLEventObj* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_cancelBubble(This,v);
}
static inline HRESULT IHTMLEventObj_get_cancelBubble(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cancelBubble(This,p);
}
static inline HRESULT IHTMLEventObj_get_fromElement(IHTMLEventObj* This,IHTMLElement **p) {
    return This->lpVtbl->get_fromElement(This,p);
}
static inline HRESULT IHTMLEventObj_get_toElement(IHTMLEventObj* This,IHTMLElement **p) {
    return This->lpVtbl->get_toElement(This,p);
}
static inline HRESULT IHTMLEventObj_put_keyCode(IHTMLEventObj* This,LONG v) {
    return This->lpVtbl->put_keyCode(This,v);
}
static inline HRESULT IHTMLEventObj_get_keyCode(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_keyCode(This,p);
}
static inline HRESULT IHTMLEventObj_get_button(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_button(This,p);
}
static inline HRESULT IHTMLEventObj_get_type(IHTMLEventObj* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLEventObj_get_qualifier(IHTMLEventObj* This,BSTR *p) {
    return This->lpVtbl->get_qualifier(This,p);
}
static inline HRESULT IHTMLEventObj_get_reason(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_reason(This,p);
}
static inline HRESULT IHTMLEventObj_get_x(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT IHTMLEventObj_get_y(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT IHTMLEventObj_get_clientX(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_clientX(This,p);
}
static inline HRESULT IHTMLEventObj_get_clientY(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_clientY(This,p);
}
static inline HRESULT IHTMLEventObj_get_offsetX(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_offsetX(This,p);
}
static inline HRESULT IHTMLEventObj_get_offsetY(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_offsetY(This,p);
}
static inline HRESULT IHTMLEventObj_get_screenX(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_screenX(This,p);
}
static inline HRESULT IHTMLEventObj_get_screenY(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_screenY(This,p);
}
static inline HRESULT IHTMLEventObj_get_srcFilter(IHTMLEventObj* This,IDispatch **p) {
    return This->lpVtbl->get_srcFilter(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEventObj_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEventObj2 interface
 */
#ifndef __IHTMLEventObj2_INTERFACE_DEFINED__
#define __IHTMLEventObj2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEventObj2, 0x3050f48b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f48b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEventObj2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE setAttribute(
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags = 1) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAttribute(
        BSTR strAttributeName,
        LONG lFlags = 0,
        VARIANT *AttributeValue = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        LONG lFlags = 1,
        VARIANT_BOOL *pfSuccess = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_propertyName(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_propertyName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_bookmarks(
        IHTMLBookmarkCollection *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bookmarks(
        IHTMLBookmarkCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_recordset(
        IDispatch *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_recordset(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dataFld(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dataFld(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_boundElements(
        IHTMLElementCollection *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_boundElements(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_repeat(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_repeat(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_srcUrn(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_srcUrn(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_srcElement(
        IHTMLElement *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_srcElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_altKey(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ctrlKey(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ctrlKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_shiftKey(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shiftKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_fromElement(
        IHTMLElement *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fromElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_toElement(
        IHTMLElement *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_toElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_button(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_button(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_qualifier(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_qualifier(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_reason(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_reason(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clientX(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_clientY(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_offsetX(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_offsetY(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_screenX(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_screenY(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_srcFilter(
        IDispatch *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_srcFilter(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dataTransfer(
        IHTMLDataTransfer **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEventObj2, 0x3050f48b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEventObj2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEventObj2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEventObj2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEventObj2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEventObj2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEventObj2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEventObj2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEventObj2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEventObj2 methods ***/
    HRESULT (STDMETHODCALLTYPE *setAttribute)(
        IHTMLEventObj2 *This,
        BSTR strAttributeName,
        VARIANT AttributeValue,
        LONG lFlags);

    HRESULT (STDMETHODCALLTYPE *getAttribute)(
        IHTMLEventObj2 *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT *AttributeValue);

    HRESULT (STDMETHODCALLTYPE *removeAttribute)(
        IHTMLEventObj2 *This,
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT_BOOL *pfSuccess);

    HRESULT (STDMETHODCALLTYPE *put_propertyName)(
        IHTMLEventObj2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_propertyName)(
        IHTMLEventObj2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *putref_bookmarks)(
        IHTMLEventObj2 *This,
        IHTMLBookmarkCollection *v);

    HRESULT (STDMETHODCALLTYPE *get_bookmarks)(
        IHTMLEventObj2 *This,
        IHTMLBookmarkCollection **p);

    HRESULT (STDMETHODCALLTYPE *putref_recordset)(
        IHTMLEventObj2 *This,
        IDispatch *v);

    HRESULT (STDMETHODCALLTYPE *get_recordset)(
        IHTMLEventObj2 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_dataFld)(
        IHTMLEventObj2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dataFld)(
        IHTMLEventObj2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *putref_boundElements)(
        IHTMLEventObj2 *This,
        IHTMLElementCollection *v);

    HRESULT (STDMETHODCALLTYPE *get_boundElements)(
        IHTMLEventObj2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_repeat)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_repeat)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_srcUrn)(
        IHTMLEventObj2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_srcUrn)(
        IHTMLEventObj2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *putref_srcElement)(
        IHTMLEventObj2 *This,
        IHTMLElement *v);

    HRESULT (STDMETHODCALLTYPE *get_srcElement)(
        IHTMLEventObj2 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *put_altKey)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_altKey)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_ctrlKey)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_ctrlKey)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_shiftKey)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_shiftKey)(
        IHTMLEventObj2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *putref_fromElement)(
        IHTMLEventObj2 *This,
        IHTMLElement *v);

    HRESULT (STDMETHODCALLTYPE *get_fromElement)(
        IHTMLEventObj2 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *putref_toElement)(
        IHTMLEventObj2 *This,
        IHTMLElement *v);

    HRESULT (STDMETHODCALLTYPE *get_toElement)(
        IHTMLEventObj2 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *put_button)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_button)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLEventObj2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLEventObj2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_qualifier)(
        IHTMLEventObj2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_qualifier)(
        IHTMLEventObj2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_reason)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_reason)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_x)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_clientX)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_clientX)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_clientY)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_clientY)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_offsetX)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_offsetX)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_offsetY)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_offsetY)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_screenX)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_screenX)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_screenY)(
        IHTMLEventObj2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_screenY)(
        IHTMLEventObj2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *putref_srcFilter)(
        IHTMLEventObj2 *This,
        IDispatch *v);

    HRESULT (STDMETHODCALLTYPE *get_srcFilter)(
        IHTMLEventObj2 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_dataTransfer)(
        IHTMLEventObj2 *This,
        IHTMLDataTransfer **p);

    END_INTERFACE
} IHTMLEventObj2Vtbl;

interface IHTMLEventObj2 {
    CONST_VTBL IHTMLEventObj2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEventObj2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEventObj2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEventObj2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEventObj2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEventObj2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEventObj2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEventObj2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEventObj2 methods ***/
#define IHTMLEventObj2_setAttribute(This,strAttributeName,AttributeValue,lFlags) (This)->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags)
#define IHTMLEventObj2_getAttribute(This,strAttributeName,lFlags,AttributeValue) (This)->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue)
#define IHTMLEventObj2_removeAttribute(This,strAttributeName,lFlags,pfSuccess) (This)->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess)
#define IHTMLEventObj2_put_propertyName(This,v) (This)->lpVtbl->put_propertyName(This,v)
#define IHTMLEventObj2_get_propertyName(This,p) (This)->lpVtbl->get_propertyName(This,p)
#define IHTMLEventObj2_putref_bookmarks(This,v) (This)->lpVtbl->putref_bookmarks(This,v)
#define IHTMLEventObj2_get_bookmarks(This,p) (This)->lpVtbl->get_bookmarks(This,p)
#define IHTMLEventObj2_putref_recordset(This,v) (This)->lpVtbl->putref_recordset(This,v)
#define IHTMLEventObj2_get_recordset(This,p) (This)->lpVtbl->get_recordset(This,p)
#define IHTMLEventObj2_put_dataFld(This,v) (This)->lpVtbl->put_dataFld(This,v)
#define IHTMLEventObj2_get_dataFld(This,p) (This)->lpVtbl->get_dataFld(This,p)
#define IHTMLEventObj2_putref_boundElements(This,v) (This)->lpVtbl->putref_boundElements(This,v)
#define IHTMLEventObj2_get_boundElements(This,p) (This)->lpVtbl->get_boundElements(This,p)
#define IHTMLEventObj2_put_repeat(This,v) (This)->lpVtbl->put_repeat(This,v)
#define IHTMLEventObj2_get_repeat(This,p) (This)->lpVtbl->get_repeat(This,p)
#define IHTMLEventObj2_put_srcUrn(This,v) (This)->lpVtbl->put_srcUrn(This,v)
#define IHTMLEventObj2_get_srcUrn(This,p) (This)->lpVtbl->get_srcUrn(This,p)
#define IHTMLEventObj2_putref_srcElement(This,v) (This)->lpVtbl->putref_srcElement(This,v)
#define IHTMLEventObj2_get_srcElement(This,p) (This)->lpVtbl->get_srcElement(This,p)
#define IHTMLEventObj2_put_altKey(This,v) (This)->lpVtbl->put_altKey(This,v)
#define IHTMLEventObj2_get_altKey(This,p) (This)->lpVtbl->get_altKey(This,p)
#define IHTMLEventObj2_put_ctrlKey(This,v) (This)->lpVtbl->put_ctrlKey(This,v)
#define IHTMLEventObj2_get_ctrlKey(This,p) (This)->lpVtbl->get_ctrlKey(This,p)
#define IHTMLEventObj2_put_shiftKey(This,v) (This)->lpVtbl->put_shiftKey(This,v)
#define IHTMLEventObj2_get_shiftKey(This,p) (This)->lpVtbl->get_shiftKey(This,p)
#define IHTMLEventObj2_putref_fromElement(This,v) (This)->lpVtbl->putref_fromElement(This,v)
#define IHTMLEventObj2_get_fromElement(This,p) (This)->lpVtbl->get_fromElement(This,p)
#define IHTMLEventObj2_putref_toElement(This,v) (This)->lpVtbl->putref_toElement(This,v)
#define IHTMLEventObj2_get_toElement(This,p) (This)->lpVtbl->get_toElement(This,p)
#define IHTMLEventObj2_put_button(This,v) (This)->lpVtbl->put_button(This,v)
#define IHTMLEventObj2_get_button(This,p) (This)->lpVtbl->get_button(This,p)
#define IHTMLEventObj2_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLEventObj2_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLEventObj2_put_qualifier(This,v) (This)->lpVtbl->put_qualifier(This,v)
#define IHTMLEventObj2_get_qualifier(This,p) (This)->lpVtbl->get_qualifier(This,p)
#define IHTMLEventObj2_put_reason(This,v) (This)->lpVtbl->put_reason(This,v)
#define IHTMLEventObj2_get_reason(This,p) (This)->lpVtbl->get_reason(This,p)
#define IHTMLEventObj2_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define IHTMLEventObj2_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define IHTMLEventObj2_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define IHTMLEventObj2_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define IHTMLEventObj2_put_clientX(This,v) (This)->lpVtbl->put_clientX(This,v)
#define IHTMLEventObj2_get_clientX(This,p) (This)->lpVtbl->get_clientX(This,p)
#define IHTMLEventObj2_put_clientY(This,v) (This)->lpVtbl->put_clientY(This,v)
#define IHTMLEventObj2_get_clientY(This,p) (This)->lpVtbl->get_clientY(This,p)
#define IHTMLEventObj2_put_offsetX(This,v) (This)->lpVtbl->put_offsetX(This,v)
#define IHTMLEventObj2_get_offsetX(This,p) (This)->lpVtbl->get_offsetX(This,p)
#define IHTMLEventObj2_put_offsetY(This,v) (This)->lpVtbl->put_offsetY(This,v)
#define IHTMLEventObj2_get_offsetY(This,p) (This)->lpVtbl->get_offsetY(This,p)
#define IHTMLEventObj2_put_screenX(This,v) (This)->lpVtbl->put_screenX(This,v)
#define IHTMLEventObj2_get_screenX(This,p) (This)->lpVtbl->get_screenX(This,p)
#define IHTMLEventObj2_put_screenY(This,v) (This)->lpVtbl->put_screenY(This,v)
#define IHTMLEventObj2_get_screenY(This,p) (This)->lpVtbl->get_screenY(This,p)
#define IHTMLEventObj2_putref_srcFilter(This,v) (This)->lpVtbl->putref_srcFilter(This,v)
#define IHTMLEventObj2_get_srcFilter(This,p) (This)->lpVtbl->get_srcFilter(This,p)
#define IHTMLEventObj2_get_dataTransfer(This,p) (This)->lpVtbl->get_dataTransfer(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEventObj2_QueryInterface(IHTMLEventObj2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEventObj2_AddRef(IHTMLEventObj2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEventObj2_Release(IHTMLEventObj2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEventObj2_GetTypeInfoCount(IHTMLEventObj2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEventObj2_GetTypeInfo(IHTMLEventObj2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEventObj2_GetIDsOfNames(IHTMLEventObj2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEventObj2_Invoke(IHTMLEventObj2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEventObj2 methods ***/
static inline HRESULT IHTMLEventObj2_setAttribute(IHTMLEventObj2* This,BSTR strAttributeName,VARIANT AttributeValue,LONG lFlags) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags);
}
static inline HRESULT IHTMLEventObj2_getAttribute(IHTMLEventObj2* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static inline HRESULT IHTMLEventObj2_removeAttribute(IHTMLEventObj2* This,BSTR strAttributeName,LONG lFlags,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess);
}
static inline HRESULT IHTMLEventObj2_put_propertyName(IHTMLEventObj2* This,BSTR v) {
    return This->lpVtbl->put_propertyName(This,v);
}
static inline HRESULT IHTMLEventObj2_get_propertyName(IHTMLEventObj2* This,BSTR *p) {
    return This->lpVtbl->get_propertyName(This,p);
}
static inline HRESULT IHTMLEventObj2_putref_bookmarks(IHTMLEventObj2* This,IHTMLBookmarkCollection *v) {
    return This->lpVtbl->putref_bookmarks(This,v);
}
static inline HRESULT IHTMLEventObj2_get_bookmarks(IHTMLEventObj2* This,IHTMLBookmarkCollection **p) {
    return This->lpVtbl->get_bookmarks(This,p);
}
static inline HRESULT IHTMLEventObj2_putref_recordset(IHTMLEventObj2* This,IDispatch *v) {
    return This->lpVtbl->putref_recordset(This,v);
}
static inline HRESULT IHTMLEventObj2_get_recordset(IHTMLEventObj2* This,IDispatch **p) {
    return This->lpVtbl->get_recordset(This,p);
}
static inline HRESULT IHTMLEventObj2_put_dataFld(IHTMLEventObj2* This,BSTR v) {
    return This->lpVtbl->put_dataFld(This,v);
}
static inline HRESULT IHTMLEventObj2_get_dataFld(IHTMLEventObj2* This,BSTR *p) {
    return This->lpVtbl->get_dataFld(This,p);
}
static inline HRESULT IHTMLEventObj2_putref_boundElements(IHTMLEventObj2* This,IHTMLElementCollection *v) {
    return This->lpVtbl->putref_boundElements(This,v);
}
static inline HRESULT IHTMLEventObj2_get_boundElements(IHTMLEventObj2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_boundElements(This,p);
}
static inline HRESULT IHTMLEventObj2_put_repeat(IHTMLEventObj2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_repeat(This,v);
}
static inline HRESULT IHTMLEventObj2_get_repeat(IHTMLEventObj2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_repeat(This,p);
}
static inline HRESULT IHTMLEventObj2_put_srcUrn(IHTMLEventObj2* This,BSTR v) {
    return This->lpVtbl->put_srcUrn(This,v);
}
static inline HRESULT IHTMLEventObj2_get_srcUrn(IHTMLEventObj2* This,BSTR *p) {
    return This->lpVtbl->get_srcUrn(This,p);
}
static inline HRESULT IHTMLEventObj2_putref_srcElement(IHTMLEventObj2* This,IHTMLElement *v) {
    return This->lpVtbl->putref_srcElement(This,v);
}
static inline HRESULT IHTMLEventObj2_get_srcElement(IHTMLEventObj2* This,IHTMLElement **p) {
    return This->lpVtbl->get_srcElement(This,p);
}
static inline HRESULT IHTMLEventObj2_put_altKey(IHTMLEventObj2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_altKey(This,v);
}
static inline HRESULT IHTMLEventObj2_get_altKey(IHTMLEventObj2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_altKey(This,p);
}
static inline HRESULT IHTMLEventObj2_put_ctrlKey(IHTMLEventObj2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_ctrlKey(This,v);
}
static inline HRESULT IHTMLEventObj2_get_ctrlKey(IHTMLEventObj2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_ctrlKey(This,p);
}
static inline HRESULT IHTMLEventObj2_put_shiftKey(IHTMLEventObj2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_shiftKey(This,v);
}
static inline HRESULT IHTMLEventObj2_get_shiftKey(IHTMLEventObj2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_shiftKey(This,p);
}
static inline HRESULT IHTMLEventObj2_putref_fromElement(IHTMLEventObj2* This,IHTMLElement *v) {
    return This->lpVtbl->putref_fromElement(This,v);
}
static inline HRESULT IHTMLEventObj2_get_fromElement(IHTMLEventObj2* This,IHTMLElement **p) {
    return This->lpVtbl->get_fromElement(This,p);
}
static inline HRESULT IHTMLEventObj2_putref_toElement(IHTMLEventObj2* This,IHTMLElement *v) {
    return This->lpVtbl->putref_toElement(This,v);
}
static inline HRESULT IHTMLEventObj2_get_toElement(IHTMLEventObj2* This,IHTMLElement **p) {
    return This->lpVtbl->get_toElement(This,p);
}
static inline HRESULT IHTMLEventObj2_put_button(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_button(This,v);
}
static inline HRESULT IHTMLEventObj2_get_button(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_button(This,p);
}
static inline HRESULT IHTMLEventObj2_put_type(IHTMLEventObj2* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLEventObj2_get_type(IHTMLEventObj2* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLEventObj2_put_qualifier(IHTMLEventObj2* This,BSTR v) {
    return This->lpVtbl->put_qualifier(This,v);
}
static inline HRESULT IHTMLEventObj2_get_qualifier(IHTMLEventObj2* This,BSTR *p) {
    return This->lpVtbl->get_qualifier(This,p);
}
static inline HRESULT IHTMLEventObj2_put_reason(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_reason(This,v);
}
static inline HRESULT IHTMLEventObj2_get_reason(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_reason(This,p);
}
static inline HRESULT IHTMLEventObj2_put_x(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT IHTMLEventObj2_get_x(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT IHTMLEventObj2_put_y(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT IHTMLEventObj2_get_y(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT IHTMLEventObj2_put_clientX(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_clientX(This,v);
}
static inline HRESULT IHTMLEventObj2_get_clientX(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_clientX(This,p);
}
static inline HRESULT IHTMLEventObj2_put_clientY(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_clientY(This,v);
}
static inline HRESULT IHTMLEventObj2_get_clientY(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_clientY(This,p);
}
static inline HRESULT IHTMLEventObj2_put_offsetX(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_offsetX(This,v);
}
static inline HRESULT IHTMLEventObj2_get_offsetX(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_offsetX(This,p);
}
static inline HRESULT IHTMLEventObj2_put_offsetY(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_offsetY(This,v);
}
static inline HRESULT IHTMLEventObj2_get_offsetY(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_offsetY(This,p);
}
static inline HRESULT IHTMLEventObj2_put_screenX(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_screenX(This,v);
}
static inline HRESULT IHTMLEventObj2_get_screenX(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_screenX(This,p);
}
static inline HRESULT IHTMLEventObj2_put_screenY(IHTMLEventObj2* This,LONG v) {
    return This->lpVtbl->put_screenY(This,v);
}
static inline HRESULT IHTMLEventObj2_get_screenY(IHTMLEventObj2* This,LONG *p) {
    return This->lpVtbl->get_screenY(This,p);
}
static inline HRESULT IHTMLEventObj2_putref_srcFilter(IHTMLEventObj2* This,IDispatch *v) {
    return This->lpVtbl->putref_srcFilter(This,v);
}
static inline HRESULT IHTMLEventObj2_get_srcFilter(IHTMLEventObj2* This,IDispatch **p) {
    return This->lpVtbl->get_srcFilter(This,p);
}
static inline HRESULT IHTMLEventObj2_get_dataTransfer(IHTMLEventObj2* This,IHTMLDataTransfer **p) {
    return This->lpVtbl->get_dataTransfer(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEventObj2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEventObj3 interface
 */
#ifndef __IHTMLEventObj3_INTERFACE_DEFINED__
#define __IHTMLEventObj3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEventObj3, 0x3050f680, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f680-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEventObj3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_contentOverflow(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_shiftLeft(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shiftLeft(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_altLeft(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altLeft(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ctrlLeft(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ctrlLeft(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeCompositionChange(
        LONG_PTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeNotifyCommand(
        LONG_PTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeNotifyData(
        LONG_PTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeRequest(
        LONG_PTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imeRequestData(
        LONG_PTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_keyboardLayout(
        LONG_PTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behaviorCookie(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_behaviorPart(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nextPage(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEventObj3, 0x3050f680, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEventObj3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEventObj3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEventObj3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEventObj3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEventObj3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEventObj3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEventObj3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEventObj3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEventObj3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_contentOverflow)(
        IHTMLEventObj3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_shiftLeft)(
        IHTMLEventObj3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_shiftLeft)(
        IHTMLEventObj3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_altLeft)(
        IHTMLEventObj3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_altLeft)(
        IHTMLEventObj3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_ctrlLeft)(
        IHTMLEventObj3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_ctrlLeft)(
        IHTMLEventObj3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_imeCompositionChange)(
        IHTMLEventObj3 *This,
        LONG_PTR *p);

    HRESULT (STDMETHODCALLTYPE *get_imeNotifyCommand)(
        IHTMLEventObj3 *This,
        LONG_PTR *p);

    HRESULT (STDMETHODCALLTYPE *get_imeNotifyData)(
        IHTMLEventObj3 *This,
        LONG_PTR *p);

    HRESULT (STDMETHODCALLTYPE *get_imeRequest)(
        IHTMLEventObj3 *This,
        LONG_PTR *p);

    HRESULT (STDMETHODCALLTYPE *get_imeRequestData)(
        IHTMLEventObj3 *This,
        LONG_PTR *p);

    HRESULT (STDMETHODCALLTYPE *get_keyboardLayout)(
        IHTMLEventObj3 *This,
        LONG_PTR *p);

    HRESULT (STDMETHODCALLTYPE *get_behaviorCookie)(
        IHTMLEventObj3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_behaviorPart)(
        IHTMLEventObj3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_nextPage)(
        IHTMLEventObj3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLEventObj3Vtbl;

interface IHTMLEventObj3 {
    CONST_VTBL IHTMLEventObj3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEventObj3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEventObj3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEventObj3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEventObj3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEventObj3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEventObj3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEventObj3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEventObj3 methods ***/
#define IHTMLEventObj3_get_contentOverflow(This,p) (This)->lpVtbl->get_contentOverflow(This,p)
#define IHTMLEventObj3_put_shiftLeft(This,v) (This)->lpVtbl->put_shiftLeft(This,v)
#define IHTMLEventObj3_get_shiftLeft(This,p) (This)->lpVtbl->get_shiftLeft(This,p)
#define IHTMLEventObj3_put_altLeft(This,v) (This)->lpVtbl->put_altLeft(This,v)
#define IHTMLEventObj3_get_altLeft(This,p) (This)->lpVtbl->get_altLeft(This,p)
#define IHTMLEventObj3_put_ctrlLeft(This,v) (This)->lpVtbl->put_ctrlLeft(This,v)
#define IHTMLEventObj3_get_ctrlLeft(This,p) (This)->lpVtbl->get_ctrlLeft(This,p)
#define IHTMLEventObj3_get_imeCompositionChange(This,p) (This)->lpVtbl->get_imeCompositionChange(This,p)
#define IHTMLEventObj3_get_imeNotifyCommand(This,p) (This)->lpVtbl->get_imeNotifyCommand(This,p)
#define IHTMLEventObj3_get_imeNotifyData(This,p) (This)->lpVtbl->get_imeNotifyData(This,p)
#define IHTMLEventObj3_get_imeRequest(This,p) (This)->lpVtbl->get_imeRequest(This,p)
#define IHTMLEventObj3_get_imeRequestData(This,p) (This)->lpVtbl->get_imeRequestData(This,p)
#define IHTMLEventObj3_get_keyboardLayout(This,p) (This)->lpVtbl->get_keyboardLayout(This,p)
#define IHTMLEventObj3_get_behaviorCookie(This,p) (This)->lpVtbl->get_behaviorCookie(This,p)
#define IHTMLEventObj3_get_behaviorPart(This,p) (This)->lpVtbl->get_behaviorPart(This,p)
#define IHTMLEventObj3_get_nextPage(This,p) (This)->lpVtbl->get_nextPage(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEventObj3_QueryInterface(IHTMLEventObj3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEventObj3_AddRef(IHTMLEventObj3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEventObj3_Release(IHTMLEventObj3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEventObj3_GetTypeInfoCount(IHTMLEventObj3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEventObj3_GetTypeInfo(IHTMLEventObj3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEventObj3_GetIDsOfNames(IHTMLEventObj3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEventObj3_Invoke(IHTMLEventObj3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEventObj3 methods ***/
static inline HRESULT IHTMLEventObj3_get_contentOverflow(IHTMLEventObj3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_contentOverflow(This,p);
}
static inline HRESULT IHTMLEventObj3_put_shiftLeft(IHTMLEventObj3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_shiftLeft(This,v);
}
static inline HRESULT IHTMLEventObj3_get_shiftLeft(IHTMLEventObj3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_shiftLeft(This,p);
}
static inline HRESULT IHTMLEventObj3_put_altLeft(IHTMLEventObj3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_altLeft(This,v);
}
static inline HRESULT IHTMLEventObj3_get_altLeft(IHTMLEventObj3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_altLeft(This,p);
}
static inline HRESULT IHTMLEventObj3_put_ctrlLeft(IHTMLEventObj3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_ctrlLeft(This,v);
}
static inline HRESULT IHTMLEventObj3_get_ctrlLeft(IHTMLEventObj3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_ctrlLeft(This,p);
}
static inline HRESULT IHTMLEventObj3_get_imeCompositionChange(IHTMLEventObj3* This,LONG_PTR *p) {
    return This->lpVtbl->get_imeCompositionChange(This,p);
}
static inline HRESULT IHTMLEventObj3_get_imeNotifyCommand(IHTMLEventObj3* This,LONG_PTR *p) {
    return This->lpVtbl->get_imeNotifyCommand(This,p);
}
static inline HRESULT IHTMLEventObj3_get_imeNotifyData(IHTMLEventObj3* This,LONG_PTR *p) {
    return This->lpVtbl->get_imeNotifyData(This,p);
}
static inline HRESULT IHTMLEventObj3_get_imeRequest(IHTMLEventObj3* This,LONG_PTR *p) {
    return This->lpVtbl->get_imeRequest(This,p);
}
static inline HRESULT IHTMLEventObj3_get_imeRequestData(IHTMLEventObj3* This,LONG_PTR *p) {
    return This->lpVtbl->get_imeRequestData(This,p);
}
static inline HRESULT IHTMLEventObj3_get_keyboardLayout(IHTMLEventObj3* This,LONG_PTR *p) {
    return This->lpVtbl->get_keyboardLayout(This,p);
}
static inline HRESULT IHTMLEventObj3_get_behaviorCookie(IHTMLEventObj3* This,LONG *p) {
    return This->lpVtbl->get_behaviorCookie(This,p);
}
static inline HRESULT IHTMLEventObj3_get_behaviorPart(IHTMLEventObj3* This,LONG *p) {
    return This->lpVtbl->get_behaviorPart(This,p);
}
static inline HRESULT IHTMLEventObj3_get_nextPage(IHTMLEventObj3* This,BSTR *p) {
    return This->lpVtbl->get_nextPage(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEventObj3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEventObj4 interface
 */
#ifndef __IHTMLEventObj4_INTERFACE_DEFINED__
#define __IHTMLEventObj4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEventObj4, 0x3050f814, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f814-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEventObj4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_wheelDelta(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEventObj4, 0x3050f814, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEventObj4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEventObj4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEventObj4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEventObj4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEventObj4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEventObj4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEventObj4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEventObj4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEventObj4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_wheelDelta)(
        IHTMLEventObj4 *This,
        LONG *p);

    END_INTERFACE
} IHTMLEventObj4Vtbl;

interface IHTMLEventObj4 {
    CONST_VTBL IHTMLEventObj4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEventObj4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEventObj4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEventObj4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEventObj4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEventObj4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEventObj4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEventObj4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEventObj4 methods ***/
#define IHTMLEventObj4_get_wheelDelta(This,p) (This)->lpVtbl->get_wheelDelta(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEventObj4_QueryInterface(IHTMLEventObj4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEventObj4_AddRef(IHTMLEventObj4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEventObj4_Release(IHTMLEventObj4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEventObj4_GetTypeInfoCount(IHTMLEventObj4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEventObj4_GetTypeInfo(IHTMLEventObj4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEventObj4_GetIDsOfNames(IHTMLEventObj4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEventObj4_Invoke(IHTMLEventObj4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEventObj4 methods ***/
static inline HRESULT IHTMLEventObj4_get_wheelDelta(IHTMLEventObj4* This,LONG *p) {
    return This->lpVtbl->get_wheelDelta(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEventObj4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEventObj5 interface
 */
#ifndef __IHTMLEventObj5_INTERFACE_DEFINED__
#define __IHTMLEventObj5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEventObj5, 0x30510478, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510478-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEventObj5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_url(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_url(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_data(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_source(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_origin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_origin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_issession(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_issession(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEventObj5, 0x30510478, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEventObj5Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEventObj5 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEventObj5 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEventObj5 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEventObj5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEventObj5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEventObj5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEventObj5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEventObj5 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_url)(
        IHTMLEventObj5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_url)(
        IHTMLEventObj5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_data)(
        IHTMLEventObj5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        IHTMLEventObj5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_source)(
        IHTMLEventObj5 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_origin)(
        IHTMLEventObj5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_origin)(
        IHTMLEventObj5 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_issession)(
        IHTMLEventObj5 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_issession)(
        IHTMLEventObj5 *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLEventObj5Vtbl;

interface IHTMLEventObj5 {
    CONST_VTBL IHTMLEventObj5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEventObj5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEventObj5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEventObj5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEventObj5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEventObj5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEventObj5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEventObj5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEventObj5 methods ***/
#define IHTMLEventObj5_put_url(This,v) (This)->lpVtbl->put_url(This,v)
#define IHTMLEventObj5_get_url(This,p) (This)->lpVtbl->get_url(This,p)
#define IHTMLEventObj5_put_data(This,v) (This)->lpVtbl->put_data(This,v)
#define IHTMLEventObj5_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#define IHTMLEventObj5_get_source(This,p) (This)->lpVtbl->get_source(This,p)
#define IHTMLEventObj5_put_origin(This,v) (This)->lpVtbl->put_origin(This,v)
#define IHTMLEventObj5_get_origin(This,p) (This)->lpVtbl->get_origin(This,p)
#define IHTMLEventObj5_put_issession(This,v) (This)->lpVtbl->put_issession(This,v)
#define IHTMLEventObj5_get_issession(This,p) (This)->lpVtbl->get_issession(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEventObj5_QueryInterface(IHTMLEventObj5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEventObj5_AddRef(IHTMLEventObj5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEventObj5_Release(IHTMLEventObj5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEventObj5_GetTypeInfoCount(IHTMLEventObj5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEventObj5_GetTypeInfo(IHTMLEventObj5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEventObj5_GetIDsOfNames(IHTMLEventObj5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEventObj5_Invoke(IHTMLEventObj5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEventObj5 methods ***/
static inline HRESULT IHTMLEventObj5_put_url(IHTMLEventObj5* This,BSTR v) {
    return This->lpVtbl->put_url(This,v);
}
static inline HRESULT IHTMLEventObj5_get_url(IHTMLEventObj5* This,BSTR *p) {
    return This->lpVtbl->get_url(This,p);
}
static inline HRESULT IHTMLEventObj5_put_data(IHTMLEventObj5* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static inline HRESULT IHTMLEventObj5_get_data(IHTMLEventObj5* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static inline HRESULT IHTMLEventObj5_get_source(IHTMLEventObj5* This,IDispatch **p) {
    return This->lpVtbl->get_source(This,p);
}
static inline HRESULT IHTMLEventObj5_put_origin(IHTMLEventObj5* This,BSTR v) {
    return This->lpVtbl->put_origin(This,v);
}
static inline HRESULT IHTMLEventObj5_get_origin(IHTMLEventObj5* This,BSTR *p) {
    return This->lpVtbl->get_origin(This,p);
}
static inline HRESULT IHTMLEventObj5_put_issession(IHTMLEventObj5* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_issession(This,v);
}
static inline HRESULT IHTMLEventObj5_get_issession(IHTMLEventObj5* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_issession(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEventObj5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEventObj6 interface
 */
#ifndef __IHTMLEventObj6_INTERFACE_DEFINED__
#define __IHTMLEventObj6_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEventObj6, 0x30510734, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510734-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEventObj6 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_actionURL(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_buttonID(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEventObj6, 0x30510734, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEventObj6Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEventObj6 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEventObj6 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEventObj6 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEventObj6 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEventObj6 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEventObj6 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEventObj6 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEventObj6 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_actionURL)(
        IHTMLEventObj6 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_buttonID)(
        IHTMLEventObj6 *This,
        LONG *p);

    END_INTERFACE
} IHTMLEventObj6Vtbl;

interface IHTMLEventObj6 {
    CONST_VTBL IHTMLEventObj6Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEventObj6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEventObj6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEventObj6_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEventObj6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEventObj6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEventObj6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEventObj6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEventObj6 methods ***/
#define IHTMLEventObj6_get_actionURL(This,p) (This)->lpVtbl->get_actionURL(This,p)
#define IHTMLEventObj6_get_buttonID(This,p) (This)->lpVtbl->get_buttonID(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEventObj6_QueryInterface(IHTMLEventObj6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEventObj6_AddRef(IHTMLEventObj6* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEventObj6_Release(IHTMLEventObj6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEventObj6_GetTypeInfoCount(IHTMLEventObj6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEventObj6_GetTypeInfo(IHTMLEventObj6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEventObj6_GetIDsOfNames(IHTMLEventObj6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEventObj6_Invoke(IHTMLEventObj6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEventObj6 methods ***/
static inline HRESULT IHTMLEventObj6_get_actionURL(IHTMLEventObj6* This,BSTR *p) {
    return This->lpVtbl->get_actionURL(This,p);
}
static inline HRESULT IHTMLEventObj6_get_buttonID(IHTMLEventObj6* This,LONG *p) {
    return This->lpVtbl->get_buttonID(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEventObj6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispCEventObj dispinterface
 */
#ifndef __DispCEventObj_DISPINTERFACE_DEFINED__
#define __DispCEventObj_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCEventObj, 0x3050f558, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f558-98b5-11cf-bb82-00aa00bdce0b")
DispCEventObj : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCEventObj, 0x3050f558, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCEventObjVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCEventObj *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCEventObj *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCEventObj *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCEventObj *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCEventObj *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCEventObj *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCEventObj *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCEventObjVtbl;

interface DispCEventObj {
    CONST_VTBL DispCEventObjVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCEventObj_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCEventObj_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCEventObj_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCEventObj_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCEventObj_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCEventObj_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCEventObj_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCEventObj_QueryInterface(DispCEventObj* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCEventObj_AddRef(DispCEventObj* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCEventObj_Release(DispCEventObj* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCEventObj_GetTypeInfoCount(DispCEventObj* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCEventObj_GetTypeInfo(DispCEventObj* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCEventObj_GetIDsOfNames(DispCEventObj* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCEventObj_Invoke(DispCEventObj* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCEventObj_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CEventObj coclass
 */

DEFINE_GUID(CLSID_CEventObj, 0x3050f48a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f48a-98b5-11cf-bb82-00aa00bdce0b") CEventObj;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CEventObj, 0x3050f48a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CEventObj;
/*****************************************************************************
 * IHTMLStyleMedia interface
 */
#ifndef __IHTMLStyleMedia_INTERFACE_DEFINED__
#define __IHTMLStyleMedia_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleMedia, 0x3051074b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051074b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleMedia : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE matchMedium(
        BSTR mediaQuery,
        VARIANT_BOOL *matches) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleMedia, 0x3051074b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleMediaVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStyleMedia *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStyleMedia *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStyleMedia *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleMedia *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleMedia *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleMedia *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleMedia *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleMedia methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLStyleMedia *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *matchMedium)(
        IHTMLStyleMedia *This,
        BSTR mediaQuery,
        VARIANT_BOOL *matches);

    END_INTERFACE
} IHTMLStyleMediaVtbl;

interface IHTMLStyleMedia {
    CONST_VTBL IHTMLStyleMediaVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleMedia_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleMedia_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleMedia_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleMedia_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleMedia methods ***/
#define IHTMLStyleMedia_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLStyleMedia_matchMedium(This,mediaQuery,matches) (This)->lpVtbl->matchMedium(This,mediaQuery,matches)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleMedia_QueryInterface(IHTMLStyleMedia* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleMedia_AddRef(IHTMLStyleMedia* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleMedia_Release(IHTMLStyleMedia* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleMedia_GetTypeInfoCount(IHTMLStyleMedia* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleMedia_GetTypeInfo(IHTMLStyleMedia* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleMedia_GetIDsOfNames(IHTMLStyleMedia* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleMedia_Invoke(IHTMLStyleMedia* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleMedia methods ***/
static inline HRESULT IHTMLStyleMedia_get_type(IHTMLStyleMedia* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLStyleMedia_matchMedium(IHTMLStyleMedia* This,BSTR mediaQuery,VARIANT_BOOL *matches) {
    return This->lpVtbl->matchMedium(This,mediaQuery,matches);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleMedia_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleMedia dispinterface
 */
#ifndef __DispHTMLStyleMedia_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleMedia_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleMedia, 0x3059009e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059009e-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleMedia : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleMedia, 0x3059009e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleMediaVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLStyleMedia *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLStyleMedia *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLStyleMedia *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleMedia *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleMedia *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleMedia *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleMedia *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleMediaVtbl;

interface DispHTMLStyleMedia {
    CONST_VTBL DispHTMLStyleMediaVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleMedia_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleMedia_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleMedia_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleMedia_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleMedia_QueryInterface(DispHTMLStyleMedia* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleMedia_AddRef(DispHTMLStyleMedia* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleMedia_Release(DispHTMLStyleMedia* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleMedia_GetTypeInfoCount(DispHTMLStyleMedia* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleMedia_GetTypeInfo(DispHTMLStyleMedia* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleMedia_GetIDsOfNames(DispHTMLStyleMedia* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleMedia_Invoke(DispHTMLStyleMedia* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleMedia_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleMedia coclass
 */

DEFINE_GUID(CLSID_HTMLStyleMedia, 0x3051074c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051074c-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleMedia;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleMedia, 0x3051074c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleMedia;
/*****************************************************************************
 * HTMLWindowEvents3 dispinterface
 */
#ifndef __HTMLWindowEvents3_DISPINTERFACE_DEFINED__
#define __HTMLWindowEvents3_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLWindowEvents3, 0x3050f5a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5a1-98b5-11cf-bb82-00aa00bdce0b")
HTMLWindowEvents3 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLWindowEvents3, 0x3050f5a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLWindowEvents3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLWindowEvents3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLWindowEvents3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLWindowEvents3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLWindowEvents3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLWindowEvents3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLWindowEvents3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLWindowEvents3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLWindowEvents3Vtbl;

interface HTMLWindowEvents3 {
    CONST_VTBL HTMLWindowEvents3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLWindowEvents3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLWindowEvents3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLWindowEvents3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLWindowEvents3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLWindowEvents3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLWindowEvents3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLWindowEvents3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLWindowEvents3_QueryInterface(HTMLWindowEvents3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLWindowEvents3_AddRef(HTMLWindowEvents3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLWindowEvents3_Release(HTMLWindowEvents3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLWindowEvents3_GetTypeInfoCount(HTMLWindowEvents3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLWindowEvents3_GetTypeInfo(HTMLWindowEvents3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLWindowEvents3_GetIDsOfNames(HTMLWindowEvents3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLWindowEvents3_Invoke(HTMLWindowEvents3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLWindowEvents3_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLWindowEvents2 dispinterface
 */
#ifndef __HTMLWindowEvents2_DISPINTERFACE_DEFINED__
#define __HTMLWindowEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLWindowEvents2, 0x3050f625, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f625-98b5-11cf-bb82-00aa00bdce0b")
HTMLWindowEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLWindowEvents2, 0x3050f625, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLWindowEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLWindowEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLWindowEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLWindowEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLWindowEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLWindowEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLWindowEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLWindowEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLWindowEvents2Vtbl;

interface HTMLWindowEvents2 {
    CONST_VTBL HTMLWindowEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLWindowEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLWindowEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLWindowEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLWindowEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLWindowEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLWindowEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLWindowEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLWindowEvents2_QueryInterface(HTMLWindowEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLWindowEvents2_AddRef(HTMLWindowEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLWindowEvents2_Release(HTMLWindowEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLWindowEvents2_GetTypeInfoCount(HTMLWindowEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLWindowEvents2_GetTypeInfo(HTMLWindowEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLWindowEvents2_GetIDsOfNames(HTMLWindowEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLWindowEvents2_Invoke(HTMLWindowEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLWindowEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLWindowEvents dispinterface
 */
#ifndef __HTMLWindowEvents_DISPINTERFACE_DEFINED__
#define __HTMLWindowEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLWindowEvents, 0x96a0a4e0, 0xd062, 0x11cf, 0x94,0xb6, 0x00,0xaa,0x00,0x60,0x27,0x5c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("96a0a4e0-d062-11cf-94b6-00aa0060275c")
HTMLWindowEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLWindowEvents, 0x96a0a4e0, 0xd062, 0x11cf, 0x94,0xb6, 0x00,0xaa,0x00,0x60,0x27,0x5c)
#endif
#else
typedef struct HTMLWindowEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLWindowEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLWindowEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLWindowEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLWindowEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLWindowEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLWindowEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLWindowEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLWindowEventsVtbl;

interface HTMLWindowEvents {
    CONST_VTBL HTMLWindowEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLWindowEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLWindowEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLWindowEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLWindowEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLWindowEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLWindowEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLWindowEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLWindowEvents_QueryInterface(HTMLWindowEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLWindowEvents_AddRef(HTMLWindowEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLWindowEvents_Release(HTMLWindowEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLWindowEvents_GetTypeInfoCount(HTMLWindowEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLWindowEvents_GetTypeInfo(HTMLWindowEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLWindowEvents_GetIDsOfNames(HTMLWindowEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLWindowEvents_Invoke(HTMLWindowEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLWindowEvents_DISPINTERFACE_DEFINED__ */

#ifndef __IHTMLDocument_FWD_DEFINED__
#define __IHTMLDocument_FWD_DEFINED__
typedef interface IHTMLDocument IHTMLDocument;
#ifdef __cplusplus
interface IHTMLDocument;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument2_FWD_DEFINED__
#define __IHTMLDocument2_FWD_DEFINED__
typedef interface IHTMLDocument2 IHTMLDocument2;
#ifdef __cplusplus
interface IHTMLDocument2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFramesCollection2_FWD_DEFINED__
#define __IHTMLFramesCollection2_FWD_DEFINED__
typedef interface IHTMLFramesCollection2 IHTMLFramesCollection2;
#ifdef __cplusplus
interface IHTMLFramesCollection2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow2_FWD_DEFINED__
#define __IHTMLWindow2_FWD_DEFINED__
typedef interface IHTMLWindow2 IHTMLWindow2;
#ifdef __cplusplus
interface IHTMLWindow2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLWindow3_FWD_DEFINED__
#define __IHTMLWindow3_FWD_DEFINED__
typedef interface IHTMLWindow3 IHTMLWindow3;
#ifdef __cplusplus
interface IHTMLWindow3;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLFrameBase_FWD_DEFINED__
#define __IHTMLFrameBase_FWD_DEFINED__
typedef interface IHTMLFrameBase IHTMLFrameBase;
#ifdef __cplusplus
interface IHTMLFrameBase;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLStorage_FWD_DEFINED__
#define __IHTMLStorage_FWD_DEFINED__
typedef interface IHTMLStorage IHTMLStorage;
#ifdef __cplusplus
interface IHTMLStorage;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPerformance_FWD_DEFINED__
#define __IHTMLPerformance_FWD_DEFINED__
typedef interface IHTMLPerformance IHTMLPerformance;
#ifdef __cplusplus
interface IHTMLPerformance;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCSSStyleDeclaration_FWD_DEFINED__
#define __IHTMLCSSStyleDeclaration_FWD_DEFINED__
typedef interface IHTMLCSSStyleDeclaration IHTMLCSSStyleDeclaration;
#ifdef __cplusplus
interface IHTMLCSSStyleDeclaration;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLApplicationCache_FWD_DEFINED__
#define __IHTMLApplicationCache_FWD_DEFINED__
typedef interface IHTMLApplicationCache IHTMLApplicationCache;
#ifdef __cplusplus
interface IHTMLApplicationCache;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLFramesCollection2 interface
 */
#ifndef __IHTMLFramesCollection2_INTERFACE_DEFINED__
#define __IHTMLFramesCollection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFramesCollection2, 0x332c4426, 0x26cb, 0x11d0, 0xb4,0x83, 0x00,0xc0,0x4f,0xd9,0x01,0x19);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("332c4426-26cb-11d0-b483-00c04fd90119")
IHTMLFramesCollection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT *pvarIndex,
        VARIANT *pvarResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFramesCollection2, 0x332c4426, 0x26cb, 0x11d0, 0xb4,0x83, 0x00,0xc0,0x4f,0xd9,0x01,0x19)
#endif
#else
typedef struct IHTMLFramesCollection2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFramesCollection2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFramesCollection2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFramesCollection2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFramesCollection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFramesCollection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFramesCollection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFramesCollection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFramesCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLFramesCollection2 *This,
        VARIANT *pvarIndex,
        VARIANT *pvarResult);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLFramesCollection2 *This,
        LONG *p);

    END_INTERFACE
} IHTMLFramesCollection2Vtbl;

interface IHTMLFramesCollection2 {
    CONST_VTBL IHTMLFramesCollection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFramesCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFramesCollection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFramesCollection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFramesCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFramesCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFramesCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFramesCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFramesCollection2 methods ***/
#define IHTMLFramesCollection2_item(This,pvarIndex,pvarResult) (This)->lpVtbl->item(This,pvarIndex,pvarResult)
#define IHTMLFramesCollection2_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFramesCollection2_QueryInterface(IHTMLFramesCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFramesCollection2_AddRef(IHTMLFramesCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFramesCollection2_Release(IHTMLFramesCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFramesCollection2_GetTypeInfoCount(IHTMLFramesCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFramesCollection2_GetTypeInfo(IHTMLFramesCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFramesCollection2_GetIDsOfNames(IHTMLFramesCollection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFramesCollection2_Invoke(IHTMLFramesCollection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFramesCollection2 methods ***/
static inline HRESULT IHTMLFramesCollection2_item(IHTMLFramesCollection2* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
static inline HRESULT IHTMLFramesCollection2_get_length(IHTMLFramesCollection2* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFramesCollection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScreen interface
 */
#ifndef __IHTMLScreen_INTERFACE_DEFINED__
#define __IHTMLScreen_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScreen, 0x3050f35c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f35c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScreen : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_colorDepth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bufferDepth(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bufferDepth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_updateInterval(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_updateInterval(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_availHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_availWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontSmoothingEnabled(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScreen, 0x3050f35c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScreenVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScreen *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScreen *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScreen *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScreen *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScreen *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScreen *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScreen *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScreen methods ***/
    HRESULT (STDMETHODCALLTYPE *get_colorDepth)(
        IHTMLScreen *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_bufferDepth)(
        IHTMLScreen *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_bufferDepth)(
        IHTMLScreen *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLScreen *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLScreen *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_updateInterval)(
        IHTMLScreen *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_updateInterval)(
        IHTMLScreen *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_availHeight)(
        IHTMLScreen *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_availWidth)(
        IHTMLScreen *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_fontSmoothingEnabled)(
        IHTMLScreen *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLScreenVtbl;

interface IHTMLScreen {
    CONST_VTBL IHTMLScreenVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScreen_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScreen_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScreen_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScreen_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScreen_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScreen_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScreen_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScreen methods ***/
#define IHTMLScreen_get_colorDepth(This,p) (This)->lpVtbl->get_colorDepth(This,p)
#define IHTMLScreen_put_bufferDepth(This,v) (This)->lpVtbl->put_bufferDepth(This,v)
#define IHTMLScreen_get_bufferDepth(This,p) (This)->lpVtbl->get_bufferDepth(This,p)
#define IHTMLScreen_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLScreen_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLScreen_put_updateInterval(This,v) (This)->lpVtbl->put_updateInterval(This,v)
#define IHTMLScreen_get_updateInterval(This,p) (This)->lpVtbl->get_updateInterval(This,p)
#define IHTMLScreen_get_availHeight(This,p) (This)->lpVtbl->get_availHeight(This,p)
#define IHTMLScreen_get_availWidth(This,p) (This)->lpVtbl->get_availWidth(This,p)
#define IHTMLScreen_get_fontSmoothingEnabled(This,p) (This)->lpVtbl->get_fontSmoothingEnabled(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScreen_QueryInterface(IHTMLScreen* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScreen_AddRef(IHTMLScreen* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScreen_Release(IHTMLScreen* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScreen_GetTypeInfoCount(IHTMLScreen* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScreen_GetTypeInfo(IHTMLScreen* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScreen_GetIDsOfNames(IHTMLScreen* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScreen_Invoke(IHTMLScreen* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScreen methods ***/
static inline HRESULT IHTMLScreen_get_colorDepth(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_colorDepth(This,p);
}
static inline HRESULT IHTMLScreen_put_bufferDepth(IHTMLScreen* This,LONG v) {
    return This->lpVtbl->put_bufferDepth(This,v);
}
static inline HRESULT IHTMLScreen_get_bufferDepth(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_bufferDepth(This,p);
}
static inline HRESULT IHTMLScreen_get_width(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLScreen_get_height(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLScreen_put_updateInterval(IHTMLScreen* This,LONG v) {
    return This->lpVtbl->put_updateInterval(This,v);
}
static inline HRESULT IHTMLScreen_get_updateInterval(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_updateInterval(This,p);
}
static inline HRESULT IHTMLScreen_get_availHeight(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_availHeight(This,p);
}
static inline HRESULT IHTMLScreen_get_availWidth(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_availWidth(This,p);
}
static inline HRESULT IHTMLScreen_get_fontSmoothingEnabled(IHTMLScreen* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_fontSmoothingEnabled(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScreen_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScreen2 interface
 */
#ifndef __IHTMLScreen2_INTERFACE_DEFINED__
#define __IHTMLScreen2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScreen2, 0x3050f84a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f84a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScreen2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_logicalXDPI(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_logicalYDPI(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_deviceXDPI(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_deviceYDPI(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScreen2, 0x3050f84a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScreen2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScreen2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScreen2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScreen2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScreen2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScreen2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScreen2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScreen2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScreen2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_logicalXDPI)(
        IHTMLScreen2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_logicalYDPI)(
        IHTMLScreen2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_deviceXDPI)(
        IHTMLScreen2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_deviceYDPI)(
        IHTMLScreen2 *This,
        LONG *p);

    END_INTERFACE
} IHTMLScreen2Vtbl;

interface IHTMLScreen2 {
    CONST_VTBL IHTMLScreen2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScreen2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScreen2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScreen2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScreen2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScreen2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScreen2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScreen2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScreen2 methods ***/
#define IHTMLScreen2_get_logicalXDPI(This,p) (This)->lpVtbl->get_logicalXDPI(This,p)
#define IHTMLScreen2_get_logicalYDPI(This,p) (This)->lpVtbl->get_logicalYDPI(This,p)
#define IHTMLScreen2_get_deviceXDPI(This,p) (This)->lpVtbl->get_deviceXDPI(This,p)
#define IHTMLScreen2_get_deviceYDPI(This,p) (This)->lpVtbl->get_deviceYDPI(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScreen2_QueryInterface(IHTMLScreen2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScreen2_AddRef(IHTMLScreen2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScreen2_Release(IHTMLScreen2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScreen2_GetTypeInfoCount(IHTMLScreen2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScreen2_GetTypeInfo(IHTMLScreen2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScreen2_GetIDsOfNames(IHTMLScreen2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScreen2_Invoke(IHTMLScreen2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScreen2 methods ***/
static inline HRESULT IHTMLScreen2_get_logicalXDPI(IHTMLScreen2* This,LONG *p) {
    return This->lpVtbl->get_logicalXDPI(This,p);
}
static inline HRESULT IHTMLScreen2_get_logicalYDPI(IHTMLScreen2* This,LONG *p) {
    return This->lpVtbl->get_logicalYDPI(This,p);
}
static inline HRESULT IHTMLScreen2_get_deviceXDPI(IHTMLScreen2* This,LONG *p) {
    return This->lpVtbl->get_deviceXDPI(This,p);
}
static inline HRESULT IHTMLScreen2_get_deviceYDPI(IHTMLScreen2* This,LONG *p) {
    return This->lpVtbl->get_deviceYDPI(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScreen2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScreen3 interface
 */
#ifndef __IHTMLScreen3_INTERFACE_DEFINED__
#define __IHTMLScreen3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScreen3, 0x305104a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104a1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScreen3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_systemXDPI(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_systemYDPI(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScreen3, 0x305104a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScreen3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScreen3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScreen3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScreen3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScreen3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScreen3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScreen3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScreen3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScreen3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_systemXDPI)(
        IHTMLScreen3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_systemYDPI)(
        IHTMLScreen3 *This,
        LONG *p);

    END_INTERFACE
} IHTMLScreen3Vtbl;

interface IHTMLScreen3 {
    CONST_VTBL IHTMLScreen3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScreen3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScreen3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScreen3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScreen3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScreen3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScreen3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScreen3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScreen3 methods ***/
#define IHTMLScreen3_get_systemXDPI(This,p) (This)->lpVtbl->get_systemXDPI(This,p)
#define IHTMLScreen3_get_systemYDPI(This,p) (This)->lpVtbl->get_systemYDPI(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScreen3_QueryInterface(IHTMLScreen3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScreen3_AddRef(IHTMLScreen3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScreen3_Release(IHTMLScreen3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScreen3_GetTypeInfoCount(IHTMLScreen3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScreen3_GetTypeInfo(IHTMLScreen3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScreen3_GetIDsOfNames(IHTMLScreen3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScreen3_Invoke(IHTMLScreen3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScreen3 methods ***/
static inline HRESULT IHTMLScreen3_get_systemXDPI(IHTMLScreen3* This,LONG *p) {
    return This->lpVtbl->get_systemXDPI(This,p);
}
static inline HRESULT IHTMLScreen3_get_systemYDPI(IHTMLScreen3* This,LONG *p) {
    return This->lpVtbl->get_systemYDPI(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScreen3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScreen4 interface
 */
#ifndef __IHTMLScreen4_INTERFACE_DEFINED__
#define __IHTMLScreen4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScreen4, 0x3051076b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051076b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScreen4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_pixelDepth(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScreen4, 0x3051076b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScreen4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScreen4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScreen4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScreen4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScreen4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScreen4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScreen4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScreen4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScreen4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_pixelDepth)(
        IHTMLScreen4 *This,
        LONG *p);

    END_INTERFACE
} IHTMLScreen4Vtbl;

interface IHTMLScreen4 {
    CONST_VTBL IHTMLScreen4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScreen4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScreen4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScreen4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScreen4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScreen4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScreen4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScreen4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScreen4 methods ***/
#define IHTMLScreen4_get_pixelDepth(This,p) (This)->lpVtbl->get_pixelDepth(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScreen4_QueryInterface(IHTMLScreen4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScreen4_AddRef(IHTMLScreen4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScreen4_Release(IHTMLScreen4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScreen4_GetTypeInfoCount(IHTMLScreen4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScreen4_GetTypeInfo(IHTMLScreen4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScreen4_GetIDsOfNames(IHTMLScreen4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScreen4_Invoke(IHTMLScreen4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScreen4 methods ***/
static inline HRESULT IHTMLScreen4_get_pixelDepth(IHTMLScreen4* This,LONG *p) {
    return This->lpVtbl->get_pixelDepth(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScreen4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLWindow2 interface
 */
#ifndef __IHTMLWindow2_INTERFACE_DEFINED__
#define __IHTMLWindow2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLWindow2, 0x332c4427, 0x26cb, 0x11d0, 0xb4,0x83, 0x00,0xc0,0x4f,0xd9,0x01,0x19);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("332c4427-26cb-11d0-b483-00c04fd90119")
IHTMLWindow2 : public IHTMLFramesCollection2
{
    virtual HRESULT STDMETHODCALLTYPE get_frames(
        IHTMLFramesCollection2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultStatus(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultStatus(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_status(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setTimeout(
        BSTR expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearTimeout(
        LONG timerID) = 0;

    virtual HRESULT STDMETHODCALLTYPE alert(
        BSTR message = L"") = 0;

    virtual HRESULT STDMETHODCALLTYPE confirm(
        BSTR message = L"",
        VARIANT_BOOL *confirmed = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE prompt(
        BSTR message = L"",
        BSTR defstr = L"undefined",
        VARIANT *textdata = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Image(
        IHTMLImageElementFactory **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_location(
        IHTMLLocation **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_history(
        IOmHistory **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE close(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_opener(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_opener(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_navigator(
        IOmNavigator **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parent(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE open(
        BSTR url = L"",
        BSTR name = L"",
        BSTR features = L"",
        VARIANT_BOOL replace = 0,
        IHTMLWindow2 **pomWindowResult = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_self(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_top(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_window(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE navigate(
        BSTR url) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onblur(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onblur(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeunload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeunload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onunload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onunload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onhelp(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onhelp(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onresize(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onresize(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onscroll(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onscroll(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_document(
        IHTMLDocument2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_event(
        IHTMLEventObj **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE showModalDialog(
        BSTR dialog,
        VARIANT *varArgIn,
        VARIANT *varOptions,
        VARIANT *varArgOut) = 0;

    virtual HRESULT STDMETHODCALLTYPE showHelp(
        BSTR helpURL,
        VARIANT helpArg,
        BSTR features = L"") = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screen(
        IHTMLScreen **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Option(
        IHTMLOptionElementFactory **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE focus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_closed(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE blur(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE scroll(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientInformation(
        IOmNavigator **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setInterval(
        BSTR expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearInterval(
        LONG timerID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_offscreenBuffering(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offscreenBuffering(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE execScript(
        BSTR code,
        BSTR language = L"JScript",
        VARIANT *pvarRet = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *String) = 0;

    virtual HRESULT STDMETHODCALLTYPE scrollBy(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE scrollTo(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveTo(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveBy(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE resizeTo(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE resizeBy(
        LONG x,
        LONG y) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_external(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLWindow2, 0x332c4427, 0x26cb, 0x11d0, 0xb4,0x83, 0x00,0xc0,0x4f,0xd9,0x01,0x19)
#endif
#else
typedef struct IHTMLWindow2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLWindow2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLWindow2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLWindow2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLWindow2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLWindow2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLWindow2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLWindow2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFramesCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLWindow2 *This,
        VARIANT *pvarIndex,
        VARIANT *pvarResult);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLWindow2 *This,
        LONG *p);

    /*** IHTMLWindow2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_frames)(
        IHTMLWindow2 *This,
        IHTMLFramesCollection2 **p);

    HRESULT (STDMETHODCALLTYPE *put_defaultStatus)(
        IHTMLWindow2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_defaultStatus)(
        IHTMLWindow2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLWindow2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLWindow2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *setTimeout)(
        IHTMLWindow2 *This,
        BSTR expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID);

    HRESULT (STDMETHODCALLTYPE *clearTimeout)(
        IHTMLWindow2 *This,
        LONG timerID);

    HRESULT (STDMETHODCALLTYPE *alert)(
        IHTMLWindow2 *This,
        BSTR message);

    HRESULT (STDMETHODCALLTYPE *confirm)(
        IHTMLWindow2 *This,
        BSTR message,
        VARIANT_BOOL *confirmed);

    HRESULT (STDMETHODCALLTYPE *prompt)(
        IHTMLWindow2 *This,
        BSTR message,
        BSTR defstr,
        VARIANT *textdata);

    HRESULT (STDMETHODCALLTYPE *get_Image)(
        IHTMLWindow2 *This,
        IHTMLImageElementFactory **p);

    HRESULT (STDMETHODCALLTYPE *get_location)(
        IHTMLWindow2 *This,
        IHTMLLocation **p);

    HRESULT (STDMETHODCALLTYPE *get_history)(
        IHTMLWindow2 *This,
        IOmHistory **p);

    HRESULT (STDMETHODCALLTYPE *close)(
        IHTMLWindow2 *This);

    HRESULT (STDMETHODCALLTYPE *put_opener)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_opener)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_navigator)(
        IHTMLWindow2 *This,
        IOmNavigator **p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLWindow2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLWindow2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_parent)(
        IHTMLWindow2 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *open)(
        IHTMLWindow2 *This,
        BSTR url,
        BSTR name,
        BSTR features,
        VARIANT_BOOL replace,
        IHTMLWindow2 **pomWindowResult);

    HRESULT (STDMETHODCALLTYPE *get_self)(
        IHTMLWindow2 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *get_top)(
        IHTMLWindow2 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *get_window)(
        IHTMLWindow2 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *navigate)(
        IHTMLWindow2 *This,
        BSTR url);

    HRESULT (STDMETHODCALLTYPE *put_onfocus)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocus)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onblur)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onblur)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeunload)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeunload)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onunload)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onunload)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onhelp)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onhelp)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onresize)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onresize)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onscroll)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onscroll)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_document)(
        IHTMLWindow2 *This,
        IHTMLDocument2 **p);

    HRESULT (STDMETHODCALLTYPE *get_event)(
        IHTMLWindow2 *This,
        IHTMLEventObj **p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLWindow2 *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *showModalDialog)(
        IHTMLWindow2 *This,
        BSTR dialog,
        VARIANT *varArgIn,
        VARIANT *varOptions,
        VARIANT *varArgOut);

    HRESULT (STDMETHODCALLTYPE *showHelp)(
        IHTMLWindow2 *This,
        BSTR helpURL,
        VARIANT helpArg,
        BSTR features);

    HRESULT (STDMETHODCALLTYPE *get_screen)(
        IHTMLWindow2 *This,
        IHTMLScreen **p);

    HRESULT (STDMETHODCALLTYPE *get_Option)(
        IHTMLWindow2 *This,
        IHTMLOptionElementFactory **p);

    HRESULT (STDMETHODCALLTYPE *focus)(
        IHTMLWindow2 *This);

    HRESULT (STDMETHODCALLTYPE *get_closed)(
        IHTMLWindow2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *blur)(
        IHTMLWindow2 *This);

    HRESULT (STDMETHODCALLTYPE *scroll)(
        IHTMLWindow2 *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *get_clientInformation)(
        IHTMLWindow2 *This,
        IOmNavigator **p);

    HRESULT (STDMETHODCALLTYPE *setInterval)(
        IHTMLWindow2 *This,
        BSTR expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID);

    HRESULT (STDMETHODCALLTYPE *clearInterval)(
        IHTMLWindow2 *This,
        LONG timerID);

    HRESULT (STDMETHODCALLTYPE *put_offscreenBuffering)(
        IHTMLWindow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_offscreenBuffering)(
        IHTMLWindow2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *execScript)(
        IHTMLWindow2 *This,
        BSTR code,
        BSTR language,
        VARIANT *pvarRet);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLWindow2 *This,
        BSTR *String);

    HRESULT (STDMETHODCALLTYPE *scrollBy)(
        IHTMLWindow2 *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *scrollTo)(
        IHTMLWindow2 *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *moveTo)(
        IHTMLWindow2 *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *moveBy)(
        IHTMLWindow2 *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *resizeTo)(
        IHTMLWindow2 *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *resizeBy)(
        IHTMLWindow2 *This,
        LONG x,
        LONG y);

    HRESULT (STDMETHODCALLTYPE *get_external)(
        IHTMLWindow2 *This,
        IDispatch **p);

    END_INTERFACE
} IHTMLWindow2Vtbl;

interface IHTMLWindow2 {
    CONST_VTBL IHTMLWindow2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLWindow2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLWindow2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLWindow2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLWindow2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLWindow2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLWindow2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLWindow2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFramesCollection2 methods ***/
#define IHTMLWindow2_item(This,pvarIndex,pvarResult) (This)->lpVtbl->item(This,pvarIndex,pvarResult)
#define IHTMLWindow2_get_length(This,p) (This)->lpVtbl->get_length(This,p)
/*** IHTMLWindow2 methods ***/
#define IHTMLWindow2_get_frames(This,p) (This)->lpVtbl->get_frames(This,p)
#define IHTMLWindow2_put_defaultStatus(This,v) (This)->lpVtbl->put_defaultStatus(This,v)
#define IHTMLWindow2_get_defaultStatus(This,p) (This)->lpVtbl->get_defaultStatus(This,p)
#define IHTMLWindow2_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLWindow2_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLWindow2_setTimeout(This,expression,msec,language,timerID) (This)->lpVtbl->setTimeout(This,expression,msec,language,timerID)
#define IHTMLWindow2_clearTimeout(This,timerID) (This)->lpVtbl->clearTimeout(This,timerID)
#define IHTMLWindow2_alert(This,message) (This)->lpVtbl->alert(This,message)
#define IHTMLWindow2_confirm(This,message,confirmed) (This)->lpVtbl->confirm(This,message,confirmed)
#define IHTMLWindow2_prompt(This,message,defstr,textdata) (This)->lpVtbl->prompt(This,message,defstr,textdata)
#define IHTMLWindow2_get_Image(This,p) (This)->lpVtbl->get_Image(This,p)
#define IHTMLWindow2_get_location(This,p) (This)->lpVtbl->get_location(This,p)
#define IHTMLWindow2_get_history(This,p) (This)->lpVtbl->get_history(This,p)
#define IHTMLWindow2_close(This) (This)->lpVtbl->close(This)
#define IHTMLWindow2_put_opener(This,v) (This)->lpVtbl->put_opener(This,v)
#define IHTMLWindow2_get_opener(This,p) (This)->lpVtbl->get_opener(This,p)
#define IHTMLWindow2_get_navigator(This,p) (This)->lpVtbl->get_navigator(This,p)
#define IHTMLWindow2_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLWindow2_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLWindow2_get_parent(This,p) (This)->lpVtbl->get_parent(This,p)
#define IHTMLWindow2_open(This,url,name,features,replace,pomWindowResult) (This)->lpVtbl->open(This,url,name,features,replace,pomWindowResult)
#define IHTMLWindow2_get_self(This,p) (This)->lpVtbl->get_self(This,p)
#define IHTMLWindow2_get_top(This,p) (This)->lpVtbl->get_top(This,p)
#define IHTMLWindow2_get_window(This,p) (This)->lpVtbl->get_window(This,p)
#define IHTMLWindow2_navigate(This,url) (This)->lpVtbl->navigate(This,url)
#define IHTMLWindow2_put_onfocus(This,v) (This)->lpVtbl->put_onfocus(This,v)
#define IHTMLWindow2_get_onfocus(This,p) (This)->lpVtbl->get_onfocus(This,p)
#define IHTMLWindow2_put_onblur(This,v) (This)->lpVtbl->put_onblur(This,v)
#define IHTMLWindow2_get_onblur(This,p) (This)->lpVtbl->get_onblur(This,p)
#define IHTMLWindow2_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLWindow2_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLWindow2_put_onbeforeunload(This,v) (This)->lpVtbl->put_onbeforeunload(This,v)
#define IHTMLWindow2_get_onbeforeunload(This,p) (This)->lpVtbl->get_onbeforeunload(This,p)
#define IHTMLWindow2_put_onunload(This,v) (This)->lpVtbl->put_onunload(This,v)
#define IHTMLWindow2_get_onunload(This,p) (This)->lpVtbl->get_onunload(This,p)
#define IHTMLWindow2_put_onhelp(This,v) (This)->lpVtbl->put_onhelp(This,v)
#define IHTMLWindow2_get_onhelp(This,p) (This)->lpVtbl->get_onhelp(This,p)
#define IHTMLWindow2_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLWindow2_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLWindow2_put_onresize(This,v) (This)->lpVtbl->put_onresize(This,v)
#define IHTMLWindow2_get_onresize(This,p) (This)->lpVtbl->get_onresize(This,p)
#define IHTMLWindow2_put_onscroll(This,v) (This)->lpVtbl->put_onscroll(This,v)
#define IHTMLWindow2_get_onscroll(This,p) (This)->lpVtbl->get_onscroll(This,p)
#define IHTMLWindow2_get_document(This,p) (This)->lpVtbl->get_document(This,p)
#define IHTMLWindow2_get_event(This,p) (This)->lpVtbl->get_event(This,p)
#define IHTMLWindow2_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLWindow2_showModalDialog(This,dialog,varArgIn,varOptions,varArgOut) (This)->lpVtbl->showModalDialog(This,dialog,varArgIn,varOptions,varArgOut)
#define IHTMLWindow2_showHelp(This,helpURL,helpArg,features) (This)->lpVtbl->showHelp(This,helpURL,helpArg,features)
#define IHTMLWindow2_get_screen(This,p) (This)->lpVtbl->get_screen(This,p)
#define IHTMLWindow2_get_Option(This,p) (This)->lpVtbl->get_Option(This,p)
#define IHTMLWindow2_focus(This) (This)->lpVtbl->focus(This)
#define IHTMLWindow2_get_closed(This,p) (This)->lpVtbl->get_closed(This,p)
#define IHTMLWindow2_blur(This) (This)->lpVtbl->blur(This)
#define IHTMLWindow2_scroll(This,x,y) (This)->lpVtbl->scroll(This,x,y)
#define IHTMLWindow2_get_clientInformation(This,p) (This)->lpVtbl->get_clientInformation(This,p)
#define IHTMLWindow2_setInterval(This,expression,msec,language,timerID) (This)->lpVtbl->setInterval(This,expression,msec,language,timerID)
#define IHTMLWindow2_clearInterval(This,timerID) (This)->lpVtbl->clearInterval(This,timerID)
#define IHTMLWindow2_put_offscreenBuffering(This,v) (This)->lpVtbl->put_offscreenBuffering(This,v)
#define IHTMLWindow2_get_offscreenBuffering(This,p) (This)->lpVtbl->get_offscreenBuffering(This,p)
#define IHTMLWindow2_execScript(This,code,language,pvarRet) (This)->lpVtbl->execScript(This,code,language,pvarRet)
#define IHTMLWindow2_toString(This,String) (This)->lpVtbl->toString(This,String)
#define IHTMLWindow2_scrollBy(This,x,y) (This)->lpVtbl->scrollBy(This,x,y)
#define IHTMLWindow2_scrollTo(This,x,y) (This)->lpVtbl->scrollTo(This,x,y)
#define IHTMLWindow2_moveTo(This,x,y) (This)->lpVtbl->moveTo(This,x,y)
#define IHTMLWindow2_moveBy(This,x,y) (This)->lpVtbl->moveBy(This,x,y)
#define IHTMLWindow2_resizeTo(This,x,y) (This)->lpVtbl->resizeTo(This,x,y)
#define IHTMLWindow2_resizeBy(This,x,y) (This)->lpVtbl->resizeBy(This,x,y)
#define IHTMLWindow2_get_external(This,p) (This)->lpVtbl->get_external(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLWindow2_QueryInterface(IHTMLWindow2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLWindow2_AddRef(IHTMLWindow2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLWindow2_Release(IHTMLWindow2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLWindow2_GetTypeInfoCount(IHTMLWindow2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLWindow2_GetTypeInfo(IHTMLWindow2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLWindow2_GetIDsOfNames(IHTMLWindow2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLWindow2_Invoke(IHTMLWindow2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFramesCollection2 methods ***/
static inline HRESULT IHTMLWindow2_item(IHTMLWindow2* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
static inline HRESULT IHTMLWindow2_get_length(IHTMLWindow2* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
/*** IHTMLWindow2 methods ***/
static inline HRESULT IHTMLWindow2_get_frames(IHTMLWindow2* This,IHTMLFramesCollection2 **p) {
    return This->lpVtbl->get_frames(This,p);
}
static inline HRESULT IHTMLWindow2_put_defaultStatus(IHTMLWindow2* This,BSTR v) {
    return This->lpVtbl->put_defaultStatus(This,v);
}
static inline HRESULT IHTMLWindow2_get_defaultStatus(IHTMLWindow2* This,BSTR *p) {
    return This->lpVtbl->get_defaultStatus(This,p);
}
static inline HRESULT IHTMLWindow2_put_status(IHTMLWindow2* This,BSTR v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLWindow2_get_status(IHTMLWindow2* This,BSTR *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLWindow2_setTimeout(IHTMLWindow2* This,BSTR expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setTimeout(This,expression,msec,language,timerID);
}
static inline HRESULT IHTMLWindow2_clearTimeout(IHTMLWindow2* This,LONG timerID) {
    return This->lpVtbl->clearTimeout(This,timerID);
}
static inline HRESULT IHTMLWindow2_alert(IHTMLWindow2* This,BSTR message) {
    return This->lpVtbl->alert(This,message);
}
static inline HRESULT IHTMLWindow2_confirm(IHTMLWindow2* This,BSTR message,VARIANT_BOOL *confirmed) {
    return This->lpVtbl->confirm(This,message,confirmed);
}
static inline HRESULT IHTMLWindow2_prompt(IHTMLWindow2* This,BSTR message,BSTR defstr,VARIANT *textdata) {
    return This->lpVtbl->prompt(This,message,defstr,textdata);
}
static inline HRESULT IHTMLWindow2_get_Image(IHTMLWindow2* This,IHTMLImageElementFactory **p) {
    return This->lpVtbl->get_Image(This,p);
}
static inline HRESULT IHTMLWindow2_get_location(IHTMLWindow2* This,IHTMLLocation **p) {
    return This->lpVtbl->get_location(This,p);
}
static inline HRESULT IHTMLWindow2_get_history(IHTMLWindow2* This,IOmHistory **p) {
    return This->lpVtbl->get_history(This,p);
}
static inline HRESULT IHTMLWindow2_close(IHTMLWindow2* This) {
    return This->lpVtbl->close(This);
}
static inline HRESULT IHTMLWindow2_put_opener(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_opener(This,v);
}
static inline HRESULT IHTMLWindow2_get_opener(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_opener(This,p);
}
static inline HRESULT IHTMLWindow2_get_navigator(IHTMLWindow2* This,IOmNavigator **p) {
    return This->lpVtbl->get_navigator(This,p);
}
static inline HRESULT IHTMLWindow2_put_name(IHTMLWindow2* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLWindow2_get_name(IHTMLWindow2* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLWindow2_get_parent(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_parent(This,p);
}
static inline HRESULT IHTMLWindow2_open(IHTMLWindow2* This,BSTR url,BSTR name,BSTR features,VARIANT_BOOL replace,IHTMLWindow2 **pomWindowResult) {
    return This->lpVtbl->open(This,url,name,features,replace,pomWindowResult);
}
static inline HRESULT IHTMLWindow2_get_self(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_self(This,p);
}
static inline HRESULT IHTMLWindow2_get_top(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_top(This,p);
}
static inline HRESULT IHTMLWindow2_get_window(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_window(This,p);
}
static inline HRESULT IHTMLWindow2_navigate(IHTMLWindow2* This,BSTR url) {
    return This->lpVtbl->navigate(This,url);
}
static inline HRESULT IHTMLWindow2_put_onfocus(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static inline HRESULT IHTMLWindow2_get_onfocus(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static inline HRESULT IHTMLWindow2_put_onblur(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static inline HRESULT IHTMLWindow2_get_onblur(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static inline HRESULT IHTMLWindow2_put_onload(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLWindow2_get_onload(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLWindow2_put_onbeforeunload(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeunload(This,v);
}
static inline HRESULT IHTMLWindow2_get_onbeforeunload(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeunload(This,p);
}
static inline HRESULT IHTMLWindow2_put_onunload(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onunload(This,v);
}
static inline HRESULT IHTMLWindow2_get_onunload(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onunload(This,p);
}
static inline HRESULT IHTMLWindow2_put_onhelp(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onhelp(This,v);
}
static inline HRESULT IHTMLWindow2_get_onhelp(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onhelp(This,p);
}
static inline HRESULT IHTMLWindow2_put_onerror(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLWindow2_get_onerror(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLWindow2_put_onresize(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onresize(This,v);
}
static inline HRESULT IHTMLWindow2_get_onresize(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onresize(This,p);
}
static inline HRESULT IHTMLWindow2_put_onscroll(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static inline HRESULT IHTMLWindow2_get_onscroll(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
static inline HRESULT IHTMLWindow2_get_document(IHTMLWindow2* This,IHTMLDocument2 **p) {
    return This->lpVtbl->get_document(This,p);
}
static inline HRESULT IHTMLWindow2_get_event(IHTMLWindow2* This,IHTMLEventObj **p) {
    return This->lpVtbl->get_event(This,p);
}
static inline HRESULT IHTMLWindow2_get__newEnum(IHTMLWindow2* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLWindow2_showModalDialog(IHTMLWindow2* This,BSTR dialog,VARIANT *varArgIn,VARIANT *varOptions,VARIANT *varArgOut) {
    return This->lpVtbl->showModalDialog(This,dialog,varArgIn,varOptions,varArgOut);
}
static inline HRESULT IHTMLWindow2_showHelp(IHTMLWindow2* This,BSTR helpURL,VARIANT helpArg,BSTR features) {
    return This->lpVtbl->showHelp(This,helpURL,helpArg,features);
}
static inline HRESULT IHTMLWindow2_get_screen(IHTMLWindow2* This,IHTMLScreen **p) {
    return This->lpVtbl->get_screen(This,p);
}
static inline HRESULT IHTMLWindow2_get_Option(IHTMLWindow2* This,IHTMLOptionElementFactory **p) {
    return This->lpVtbl->get_Option(This,p);
}
static inline HRESULT IHTMLWindow2_focus(IHTMLWindow2* This) {
    return This->lpVtbl->focus(This);
}
static inline HRESULT IHTMLWindow2_get_closed(IHTMLWindow2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_closed(This,p);
}
static inline HRESULT IHTMLWindow2_blur(IHTMLWindow2* This) {
    return This->lpVtbl->blur(This);
}
static inline HRESULT IHTMLWindow2_scroll(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->scroll(This,x,y);
}
static inline HRESULT IHTMLWindow2_get_clientInformation(IHTMLWindow2* This,IOmNavigator **p) {
    return This->lpVtbl->get_clientInformation(This,p);
}
static inline HRESULT IHTMLWindow2_setInterval(IHTMLWindow2* This,BSTR expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setInterval(This,expression,msec,language,timerID);
}
static inline HRESULT IHTMLWindow2_clearInterval(IHTMLWindow2* This,LONG timerID) {
    return This->lpVtbl->clearInterval(This,timerID);
}
static inline HRESULT IHTMLWindow2_put_offscreenBuffering(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_offscreenBuffering(This,v);
}
static inline HRESULT IHTMLWindow2_get_offscreenBuffering(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_offscreenBuffering(This,p);
}
static inline HRESULT IHTMLWindow2_execScript(IHTMLWindow2* This,BSTR code,BSTR language,VARIANT *pvarRet) {
    return This->lpVtbl->execScript(This,code,language,pvarRet);
}
static inline HRESULT IHTMLWindow2_toString(IHTMLWindow2* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static inline HRESULT IHTMLWindow2_scrollBy(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->scrollBy(This,x,y);
}
static inline HRESULT IHTMLWindow2_scrollTo(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->scrollTo(This,x,y);
}
static inline HRESULT IHTMLWindow2_moveTo(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->moveTo(This,x,y);
}
static inline HRESULT IHTMLWindow2_moveBy(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->moveBy(This,x,y);
}
static inline HRESULT IHTMLWindow2_resizeTo(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->resizeTo(This,x,y);
}
static inline HRESULT IHTMLWindow2_resizeBy(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->resizeBy(This,x,y);
}
static inline HRESULT IHTMLWindow2_get_external(IHTMLWindow2* This,IDispatch **p) {
    return This->lpVtbl->get_external(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLWindow3 interface
 */
#ifndef __IHTMLWindow3_INTERFACE_DEFINED__
#define __IHTMLWindow3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLWindow3, 0x3050f4ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ae-98b5-11cf-bb82-00aa00bdce0b")
IHTMLWindow3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_screenLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE attachEvent(
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE detachEvent(
        BSTR event,
        IDispatch *pDisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE setTimeout(
        VARIANT *expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID) = 0;

    virtual HRESULT STDMETHODCALLTYPE setInterval(
        VARIANT *expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID) = 0;

    virtual HRESULT STDMETHODCALLTYPE print(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeprint(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeprint(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onafterprint(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onafterprint(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipboardData(
        IHTMLDataTransfer **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE showModelessDialog(
        BSTR url = L"",
        VARIANT *varArgIn = 0,
        VARIANT *options = 0,
        IHTMLWindow2 **pDialog = 0) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLWindow3, 0x3050f4ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLWindow3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLWindow3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLWindow3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLWindow3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLWindow3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLWindow3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLWindow3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLWindow3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLWindow3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_screenLeft)(
        IHTMLWindow3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_screenTop)(
        IHTMLWindow3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *attachEvent)(
        IHTMLWindow3 *This,
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *detachEvent)(
        IHTMLWindow3 *This,
        BSTR event,
        IDispatch *pDisp);

    HRESULT (STDMETHODCALLTYPE *setTimeout)(
        IHTMLWindow3 *This,
        VARIANT *expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID);

    HRESULT (STDMETHODCALLTYPE *setInterval)(
        IHTMLWindow3 *This,
        VARIANT *expression,
        LONG msec,
        VARIANT *language,
        LONG *timerID);

    HRESULT (STDMETHODCALLTYPE *print)(
        IHTMLWindow3 *This);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeprint)(
        IHTMLWindow3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeprint)(
        IHTMLWindow3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onafterprint)(
        IHTMLWindow3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onafterprint)(
        IHTMLWindow3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_clipboardData)(
        IHTMLWindow3 *This,
        IHTMLDataTransfer **p);

    HRESULT (STDMETHODCALLTYPE *showModelessDialog)(
        IHTMLWindow3 *This,
        BSTR url,
        VARIANT *varArgIn,
        VARIANT *options,
        IHTMLWindow2 **pDialog);

    END_INTERFACE
} IHTMLWindow3Vtbl;

interface IHTMLWindow3 {
    CONST_VTBL IHTMLWindow3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLWindow3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLWindow3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLWindow3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLWindow3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLWindow3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLWindow3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLWindow3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLWindow3 methods ***/
#define IHTMLWindow3_get_screenLeft(This,p) (This)->lpVtbl->get_screenLeft(This,p)
#define IHTMLWindow3_get_screenTop(This,p) (This)->lpVtbl->get_screenTop(This,p)
#define IHTMLWindow3_attachEvent(This,event,pDisp,pfResult) (This)->lpVtbl->attachEvent(This,event,pDisp,pfResult)
#define IHTMLWindow3_detachEvent(This,event,pDisp) (This)->lpVtbl->detachEvent(This,event,pDisp)
#define IHTMLWindow3_setTimeout(This,expression,msec,language,timerID) (This)->lpVtbl->setTimeout(This,expression,msec,language,timerID)
#define IHTMLWindow3_setInterval(This,expression,msec,language,timerID) (This)->lpVtbl->setInterval(This,expression,msec,language,timerID)
#define IHTMLWindow3_print(This) (This)->lpVtbl->print(This)
#define IHTMLWindow3_put_onbeforeprint(This,v) (This)->lpVtbl->put_onbeforeprint(This,v)
#define IHTMLWindow3_get_onbeforeprint(This,p) (This)->lpVtbl->get_onbeforeprint(This,p)
#define IHTMLWindow3_put_onafterprint(This,v) (This)->lpVtbl->put_onafterprint(This,v)
#define IHTMLWindow3_get_onafterprint(This,p) (This)->lpVtbl->get_onafterprint(This,p)
#define IHTMLWindow3_get_clipboardData(This,p) (This)->lpVtbl->get_clipboardData(This,p)
#define IHTMLWindow3_showModelessDialog(This,url,varArgIn,options,pDialog) (This)->lpVtbl->showModelessDialog(This,url,varArgIn,options,pDialog)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLWindow3_QueryInterface(IHTMLWindow3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLWindow3_AddRef(IHTMLWindow3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLWindow3_Release(IHTMLWindow3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLWindow3_GetTypeInfoCount(IHTMLWindow3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLWindow3_GetTypeInfo(IHTMLWindow3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLWindow3_GetIDsOfNames(IHTMLWindow3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLWindow3_Invoke(IHTMLWindow3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLWindow3 methods ***/
static inline HRESULT IHTMLWindow3_get_screenLeft(IHTMLWindow3* This,LONG *p) {
    return This->lpVtbl->get_screenLeft(This,p);
}
static inline HRESULT IHTMLWindow3_get_screenTop(IHTMLWindow3* This,LONG *p) {
    return This->lpVtbl->get_screenTop(This,p);
}
static inline HRESULT IHTMLWindow3_attachEvent(IHTMLWindow3* This,BSTR event,IDispatch *pDisp,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->attachEvent(This,event,pDisp,pfResult);
}
static inline HRESULT IHTMLWindow3_detachEvent(IHTMLWindow3* This,BSTR event,IDispatch *pDisp) {
    return This->lpVtbl->detachEvent(This,event,pDisp);
}
static inline HRESULT IHTMLWindow3_setTimeout(IHTMLWindow3* This,VARIANT *expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setTimeout(This,expression,msec,language,timerID);
}
static inline HRESULT IHTMLWindow3_setInterval(IHTMLWindow3* This,VARIANT *expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setInterval(This,expression,msec,language,timerID);
}
static inline HRESULT IHTMLWindow3_print(IHTMLWindow3* This) {
    return This->lpVtbl->print(This);
}
static inline HRESULT IHTMLWindow3_put_onbeforeprint(IHTMLWindow3* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeprint(This,v);
}
static inline HRESULT IHTMLWindow3_get_onbeforeprint(IHTMLWindow3* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeprint(This,p);
}
static inline HRESULT IHTMLWindow3_put_onafterprint(IHTMLWindow3* This,VARIANT v) {
    return This->lpVtbl->put_onafterprint(This,v);
}
static inline HRESULT IHTMLWindow3_get_onafterprint(IHTMLWindow3* This,VARIANT *p) {
    return This->lpVtbl->get_onafterprint(This,p);
}
static inline HRESULT IHTMLWindow3_get_clipboardData(IHTMLWindow3* This,IHTMLDataTransfer **p) {
    return This->lpVtbl->get_clipboardData(This,p);
}
static inline HRESULT IHTMLWindow3_showModelessDialog(IHTMLWindow3* This,BSTR url,VARIANT *varArgIn,VARIANT *options,IHTMLWindow2 **pDialog) {
    return This->lpVtbl->showModelessDialog(This,url,varArgIn,options,pDialog);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLWindow4 interface
 */
#ifndef __IHTMLWindow4_INTERFACE_DEFINED__
#define __IHTMLWindow4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLWindow4, 0x3050f6cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6cf-98b5-11cf-bb82-00aa00bdce0b")
IHTMLWindow4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createPopup(
        VARIANT *varArgIn,
        IDispatch **ppPopup) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameElement(
        IHTMLFrameBase **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLWindow4, 0x3050f6cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLWindow4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLWindow4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLWindow4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLWindow4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLWindow4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLWindow4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLWindow4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLWindow4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLWindow4 methods ***/
    HRESULT (STDMETHODCALLTYPE *createPopup)(
        IHTMLWindow4 *This,
        VARIANT *varArgIn,
        IDispatch **ppPopup);

    HRESULT (STDMETHODCALLTYPE *get_frameElement)(
        IHTMLWindow4 *This,
        IHTMLFrameBase **p);

    END_INTERFACE
} IHTMLWindow4Vtbl;

interface IHTMLWindow4 {
    CONST_VTBL IHTMLWindow4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLWindow4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLWindow4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLWindow4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLWindow4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLWindow4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLWindow4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLWindow4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLWindow4 methods ***/
#define IHTMLWindow4_createPopup(This,varArgIn,ppPopup) (This)->lpVtbl->createPopup(This,varArgIn,ppPopup)
#define IHTMLWindow4_get_frameElement(This,p) (This)->lpVtbl->get_frameElement(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLWindow4_QueryInterface(IHTMLWindow4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLWindow4_AddRef(IHTMLWindow4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLWindow4_Release(IHTMLWindow4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLWindow4_GetTypeInfoCount(IHTMLWindow4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLWindow4_GetTypeInfo(IHTMLWindow4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLWindow4_GetIDsOfNames(IHTMLWindow4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLWindow4_Invoke(IHTMLWindow4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLWindow4 methods ***/
static inline HRESULT IHTMLWindow4_createPopup(IHTMLWindow4* This,VARIANT *varArgIn,IDispatch **ppPopup) {
    return This->lpVtbl->createPopup(This,varArgIn,ppPopup);
}
static inline HRESULT IHTMLWindow4_get_frameElement(IHTMLWindow4* This,IHTMLFrameBase **p) {
    return This->lpVtbl->get_frameElement(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLWindow5 interface
 */
#ifndef __IHTMLWindow5_INTERFACE_DEFINED__
#define __IHTMLWindow5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLWindow5, 0x3051040e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051040e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLWindow5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_XMLHttpRequest(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_XMLHttpRequest(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLWindow5, 0x3051040e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLWindow5Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLWindow5 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLWindow5 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLWindow5 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLWindow5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLWindow5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLWindow5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLWindow5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLWindow5 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_XMLHttpRequest)(
        IHTMLWindow5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_XMLHttpRequest)(
        IHTMLWindow5 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLWindow5Vtbl;

interface IHTMLWindow5 {
    CONST_VTBL IHTMLWindow5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLWindow5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLWindow5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLWindow5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLWindow5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLWindow5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLWindow5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLWindow5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLWindow5 methods ***/
#define IHTMLWindow5_put_XMLHttpRequest(This,v) (This)->lpVtbl->put_XMLHttpRequest(This,v)
#define IHTMLWindow5_get_XMLHttpRequest(This,p) (This)->lpVtbl->get_XMLHttpRequest(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLWindow5_QueryInterface(IHTMLWindow5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLWindow5_AddRef(IHTMLWindow5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLWindow5_Release(IHTMLWindow5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLWindow5_GetTypeInfoCount(IHTMLWindow5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLWindow5_GetTypeInfo(IHTMLWindow5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLWindow5_GetIDsOfNames(IHTMLWindow5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLWindow5_Invoke(IHTMLWindow5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLWindow5 methods ***/
static inline HRESULT IHTMLWindow5_put_XMLHttpRequest(IHTMLWindow5* This,VARIANT v) {
    return This->lpVtbl->put_XMLHttpRequest(This,v);
}
static inline HRESULT IHTMLWindow5_get_XMLHttpRequest(IHTMLWindow5* This,VARIANT *p) {
    return This->lpVtbl->get_XMLHttpRequest(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLWindow6 interface
 */
#ifndef __IHTMLWindow6_INTERFACE_DEFINED__
#define __IHTMLWindow6_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLWindow6, 0x30510453, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510453-98b5-11cf-bb82-00aa00bdce0b")
IHTMLWindow6 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_XDomainRequest(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_XDomainRequest(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_sessionStorage(
        IHTMLStorage **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_localStorage(
        IHTMLStorage **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onhashchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onhashchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maxConnectionsPerServer(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE postMessage(
        BSTR msg,
        VARIANT targetOrigin) = 0;

    virtual HRESULT STDMETHODCALLTYPE toStaticHTML(
        BSTR bstrHTML,
        BSTR *pbstrStaticHTML) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmessage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmessage(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE msWriteProfilerMark(
        BSTR bstrProfilerMarkName) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLWindow6, 0x30510453, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLWindow6Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLWindow6 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLWindow6 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLWindow6 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLWindow6 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLWindow6 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLWindow6 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLWindow6 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLWindow6 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_XDomainRequest)(
        IHTMLWindow6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_XDomainRequest)(
        IHTMLWindow6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_sessionStorage)(
        IHTMLWindow6 *This,
        IHTMLStorage **p);

    HRESULT (STDMETHODCALLTYPE *get_localStorage)(
        IHTMLWindow6 *This,
        IHTMLStorage **p);

    HRESULT (STDMETHODCALLTYPE *put_onhashchange)(
        IHTMLWindow6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onhashchange)(
        IHTMLWindow6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_maxConnectionsPerServer)(
        IHTMLWindow6 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *postMessage)(
        IHTMLWindow6 *This,
        BSTR msg,
        VARIANT targetOrigin);

    HRESULT (STDMETHODCALLTYPE *toStaticHTML)(
        IHTMLWindow6 *This,
        BSTR bstrHTML,
        BSTR *pbstrStaticHTML);

    HRESULT (STDMETHODCALLTYPE *put_onmessage)(
        IHTMLWindow6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmessage)(
        IHTMLWindow6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *msWriteProfilerMark)(
        IHTMLWindow6 *This,
        BSTR bstrProfilerMarkName);

    END_INTERFACE
} IHTMLWindow6Vtbl;

interface IHTMLWindow6 {
    CONST_VTBL IHTMLWindow6Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLWindow6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLWindow6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLWindow6_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLWindow6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLWindow6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLWindow6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLWindow6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLWindow6 methods ***/
#define IHTMLWindow6_put_XDomainRequest(This,v) (This)->lpVtbl->put_XDomainRequest(This,v)
#define IHTMLWindow6_get_XDomainRequest(This,p) (This)->lpVtbl->get_XDomainRequest(This,p)
#define IHTMLWindow6_get_sessionStorage(This,p) (This)->lpVtbl->get_sessionStorage(This,p)
#define IHTMLWindow6_get_localStorage(This,p) (This)->lpVtbl->get_localStorage(This,p)
#define IHTMLWindow6_put_onhashchange(This,v) (This)->lpVtbl->put_onhashchange(This,v)
#define IHTMLWindow6_get_onhashchange(This,p) (This)->lpVtbl->get_onhashchange(This,p)
#define IHTMLWindow6_get_maxConnectionsPerServer(This,p) (This)->lpVtbl->get_maxConnectionsPerServer(This,p)
#define IHTMLWindow6_postMessage(This,msg,targetOrigin) (This)->lpVtbl->postMessage(This,msg,targetOrigin)
#define IHTMLWindow6_toStaticHTML(This,bstrHTML,pbstrStaticHTML) (This)->lpVtbl->toStaticHTML(This,bstrHTML,pbstrStaticHTML)
#define IHTMLWindow6_put_onmessage(This,v) (This)->lpVtbl->put_onmessage(This,v)
#define IHTMLWindow6_get_onmessage(This,p) (This)->lpVtbl->get_onmessage(This,p)
#define IHTMLWindow6_msWriteProfilerMark(This,bstrProfilerMarkName) (This)->lpVtbl->msWriteProfilerMark(This,bstrProfilerMarkName)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLWindow6_QueryInterface(IHTMLWindow6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLWindow6_AddRef(IHTMLWindow6* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLWindow6_Release(IHTMLWindow6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLWindow6_GetTypeInfoCount(IHTMLWindow6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLWindow6_GetTypeInfo(IHTMLWindow6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLWindow6_GetIDsOfNames(IHTMLWindow6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLWindow6_Invoke(IHTMLWindow6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLWindow6 methods ***/
static inline HRESULT IHTMLWindow6_put_XDomainRequest(IHTMLWindow6* This,VARIANT v) {
    return This->lpVtbl->put_XDomainRequest(This,v);
}
static inline HRESULT IHTMLWindow6_get_XDomainRequest(IHTMLWindow6* This,VARIANT *p) {
    return This->lpVtbl->get_XDomainRequest(This,p);
}
static inline HRESULT IHTMLWindow6_get_sessionStorage(IHTMLWindow6* This,IHTMLStorage **p) {
    return This->lpVtbl->get_sessionStorage(This,p);
}
static inline HRESULT IHTMLWindow6_get_localStorage(IHTMLWindow6* This,IHTMLStorage **p) {
    return This->lpVtbl->get_localStorage(This,p);
}
static inline HRESULT IHTMLWindow6_put_onhashchange(IHTMLWindow6* This,VARIANT v) {
    return This->lpVtbl->put_onhashchange(This,v);
}
static inline HRESULT IHTMLWindow6_get_onhashchange(IHTMLWindow6* This,VARIANT *p) {
    return This->lpVtbl->get_onhashchange(This,p);
}
static inline HRESULT IHTMLWindow6_get_maxConnectionsPerServer(IHTMLWindow6* This,LONG *p) {
    return This->lpVtbl->get_maxConnectionsPerServer(This,p);
}
static inline HRESULT IHTMLWindow6_postMessage(IHTMLWindow6* This,BSTR msg,VARIANT targetOrigin) {
    return This->lpVtbl->postMessage(This,msg,targetOrigin);
}
static inline HRESULT IHTMLWindow6_toStaticHTML(IHTMLWindow6* This,BSTR bstrHTML,BSTR *pbstrStaticHTML) {
    return This->lpVtbl->toStaticHTML(This,bstrHTML,pbstrStaticHTML);
}
static inline HRESULT IHTMLWindow6_put_onmessage(IHTMLWindow6* This,VARIANT v) {
    return This->lpVtbl->put_onmessage(This,v);
}
static inline HRESULT IHTMLWindow6_get_onmessage(IHTMLWindow6* This,VARIANT *p) {
    return This->lpVtbl->get_onmessage(This,p);
}
static inline HRESULT IHTMLWindow6_msWriteProfilerMark(IHTMLWindow6* This,BSTR bstrProfilerMarkName) {
    return This->lpVtbl->msWriteProfilerMark(This,bstrProfilerMarkName);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLWindow7 interface
 */
#ifndef __IHTMLWindow7_INTERFACE_DEFINED__
#define __IHTMLWindow7_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLWindow7, 0x305104b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104b7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLWindow7 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getSelection(
        IHTMLSelection **ppIHTMLSelection) = 0;

    virtual HRESULT STDMETHODCALLTYPE getComputedStyle(
        IHTMLDOMNode *varArgIn,
        BSTR bstrPseudoElt = L"",
        IHTMLCSSStyleDeclaration **ppComputedStyle = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleMedia(
        IHTMLStyleMedia **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_performance(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_performance(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_innerWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_innerHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageXOffset(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageYOffset(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outerWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_outerHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onabort(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onabort(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncanplay(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncanplay(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncanplaythrough(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncanplaythrough(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onclick(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onclick(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncontextmenu(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncontextmenu(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondblclick(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondblclick(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondrag(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondrag(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragenter(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragenter(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragleave(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragleave(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondrop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondrop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondurationchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondurationchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocusin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocusin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocusout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocusout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oninput(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oninput(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onemptied(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onemptied(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onended(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onended(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeydown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeydown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeypress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeypress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeyup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeyup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadeddata(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadeddata(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadedmetadata(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadedmetadata(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmousedown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousedown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseenter(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseenter(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseleave(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseleave(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmousemove(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousemove(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmousewheel(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousewheel(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onoffline(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onoffline(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ononline(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ononline(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onprogress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onprogress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onratechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onratechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreset(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreset(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onseeked(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onseeked(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onseeking(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onseeking(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstalled(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstalled(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstorage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstorage(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsubmit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsubmit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsuspend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsuspend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ontimeupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ontimeupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpause(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpause(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onplay(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onplay(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onplaying(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onplaying(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onvolumechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onvolumechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onwaiting(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onwaiting(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLWindow7, 0x305104b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLWindow7Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLWindow7 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLWindow7 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLWindow7 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLWindow7 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLWindow7 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLWindow7 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLWindow7 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLWindow7 methods ***/
    HRESULT (STDMETHODCALLTYPE *getSelection)(
        IHTMLWindow7 *This,
        IHTMLSelection **ppIHTMLSelection);

    HRESULT (STDMETHODCALLTYPE *getComputedStyle)(
        IHTMLWindow7 *This,
        IHTMLDOMNode *varArgIn,
        BSTR bstrPseudoElt,
        IHTMLCSSStyleDeclaration **ppComputedStyle);

    HRESULT (STDMETHODCALLTYPE *get_styleMedia)(
        IHTMLWindow7 *This,
        IHTMLStyleMedia **p);

    HRESULT (STDMETHODCALLTYPE *put_performance)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_performance)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_innerWidth)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_innerHeight)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageXOffset)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageYOffset)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_screenX)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_screenY)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_outerWidth)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_outerHeight)(
        IHTMLWindow7 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_onabort)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onabort)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncanplay)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncanplay)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncanplaythrough)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncanplaythrough)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onclick)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onclick)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncontextmenu)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncontextmenu)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondblclick)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondblclick)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondrag)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondrag)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragend)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragend)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragenter)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragenter)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragleave)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragleave)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragover)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragover)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragstart)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragstart)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondrop)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondrop)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondurationchange)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondurationchange)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocusin)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocusin)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocusout)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocusout)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oninput)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oninput)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onemptied)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onemptied)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onended)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onended)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeydown)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeydown)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeypress)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeypress)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeyup)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeyup)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadeddata)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadeddata)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadedmetadata)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadedmetadata)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadstart)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadstart)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmousedown)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousedown)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseenter)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseenter)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseleave)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseleave)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmousemove)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousemove)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseout)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseout)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseover)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseover)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseup)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseup)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmousewheel)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousewheel)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onoffline)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onoffline)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ononline)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ononline)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onprogress)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onprogress)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onratechange)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onratechange)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreset)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreset)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onseeked)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onseeked)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onseeking)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onseeking)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstalled)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstalled)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstorage)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstorage)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onsubmit)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onsubmit)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onsuspend)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onsuspend)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ontimeupdate)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ontimeupdate)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onpause)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpause)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onplay)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onplay)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onplaying)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onplaying)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onvolumechange)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onvolumechange)(
        IHTMLWindow7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onwaiting)(
        IHTMLWindow7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onwaiting)(
        IHTMLWindow7 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLWindow7Vtbl;

interface IHTMLWindow7 {
    CONST_VTBL IHTMLWindow7Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLWindow7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLWindow7_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLWindow7_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLWindow7_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLWindow7_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLWindow7_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLWindow7_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLWindow7 methods ***/
#define IHTMLWindow7_getSelection(This,ppIHTMLSelection) (This)->lpVtbl->getSelection(This,ppIHTMLSelection)
#define IHTMLWindow7_getComputedStyle(This,varArgIn,bstrPseudoElt,ppComputedStyle) (This)->lpVtbl->getComputedStyle(This,varArgIn,bstrPseudoElt,ppComputedStyle)
#define IHTMLWindow7_get_styleMedia(This,p) (This)->lpVtbl->get_styleMedia(This,p)
#define IHTMLWindow7_put_performance(This,v) (This)->lpVtbl->put_performance(This,v)
#define IHTMLWindow7_get_performance(This,p) (This)->lpVtbl->get_performance(This,p)
#define IHTMLWindow7_get_innerWidth(This,p) (This)->lpVtbl->get_innerWidth(This,p)
#define IHTMLWindow7_get_innerHeight(This,p) (This)->lpVtbl->get_innerHeight(This,p)
#define IHTMLWindow7_get_pageXOffset(This,p) (This)->lpVtbl->get_pageXOffset(This,p)
#define IHTMLWindow7_get_pageYOffset(This,p) (This)->lpVtbl->get_pageYOffset(This,p)
#define IHTMLWindow7_get_screenX(This,p) (This)->lpVtbl->get_screenX(This,p)
#define IHTMLWindow7_get_screenY(This,p) (This)->lpVtbl->get_screenY(This,p)
#define IHTMLWindow7_get_outerWidth(This,p) (This)->lpVtbl->get_outerWidth(This,p)
#define IHTMLWindow7_get_outerHeight(This,p) (This)->lpVtbl->get_outerHeight(This,p)
#define IHTMLWindow7_put_onabort(This,v) (This)->lpVtbl->put_onabort(This,v)
#define IHTMLWindow7_get_onabort(This,p) (This)->lpVtbl->get_onabort(This,p)
#define IHTMLWindow7_put_oncanplay(This,v) (This)->lpVtbl->put_oncanplay(This,v)
#define IHTMLWindow7_get_oncanplay(This,p) (This)->lpVtbl->get_oncanplay(This,p)
#define IHTMLWindow7_put_oncanplaythrough(This,v) (This)->lpVtbl->put_oncanplaythrough(This,v)
#define IHTMLWindow7_get_oncanplaythrough(This,p) (This)->lpVtbl->get_oncanplaythrough(This,p)
#define IHTMLWindow7_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLWindow7_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLWindow7_put_onclick(This,v) (This)->lpVtbl->put_onclick(This,v)
#define IHTMLWindow7_get_onclick(This,p) (This)->lpVtbl->get_onclick(This,p)
#define IHTMLWindow7_put_oncontextmenu(This,v) (This)->lpVtbl->put_oncontextmenu(This,v)
#define IHTMLWindow7_get_oncontextmenu(This,p) (This)->lpVtbl->get_oncontextmenu(This,p)
#define IHTMLWindow7_put_ondblclick(This,v) (This)->lpVtbl->put_ondblclick(This,v)
#define IHTMLWindow7_get_ondblclick(This,p) (This)->lpVtbl->get_ondblclick(This,p)
#define IHTMLWindow7_put_ondrag(This,v) (This)->lpVtbl->put_ondrag(This,v)
#define IHTMLWindow7_get_ondrag(This,p) (This)->lpVtbl->get_ondrag(This,p)
#define IHTMLWindow7_put_ondragend(This,v) (This)->lpVtbl->put_ondragend(This,v)
#define IHTMLWindow7_get_ondragend(This,p) (This)->lpVtbl->get_ondragend(This,p)
#define IHTMLWindow7_put_ondragenter(This,v) (This)->lpVtbl->put_ondragenter(This,v)
#define IHTMLWindow7_get_ondragenter(This,p) (This)->lpVtbl->get_ondragenter(This,p)
#define IHTMLWindow7_put_ondragleave(This,v) (This)->lpVtbl->put_ondragleave(This,v)
#define IHTMLWindow7_get_ondragleave(This,p) (This)->lpVtbl->get_ondragleave(This,p)
#define IHTMLWindow7_put_ondragover(This,v) (This)->lpVtbl->put_ondragover(This,v)
#define IHTMLWindow7_get_ondragover(This,p) (This)->lpVtbl->get_ondragover(This,p)
#define IHTMLWindow7_put_ondragstart(This,v) (This)->lpVtbl->put_ondragstart(This,v)
#define IHTMLWindow7_get_ondragstart(This,p) (This)->lpVtbl->get_ondragstart(This,p)
#define IHTMLWindow7_put_ondrop(This,v) (This)->lpVtbl->put_ondrop(This,v)
#define IHTMLWindow7_get_ondrop(This,p) (This)->lpVtbl->get_ondrop(This,p)
#define IHTMLWindow7_put_ondurationchange(This,v) (This)->lpVtbl->put_ondurationchange(This,v)
#define IHTMLWindow7_get_ondurationchange(This,p) (This)->lpVtbl->get_ondurationchange(This,p)
#define IHTMLWindow7_put_onfocusin(This,v) (This)->lpVtbl->put_onfocusin(This,v)
#define IHTMLWindow7_get_onfocusin(This,p) (This)->lpVtbl->get_onfocusin(This,p)
#define IHTMLWindow7_put_onfocusout(This,v) (This)->lpVtbl->put_onfocusout(This,v)
#define IHTMLWindow7_get_onfocusout(This,p) (This)->lpVtbl->get_onfocusout(This,p)
#define IHTMLWindow7_put_oninput(This,v) (This)->lpVtbl->put_oninput(This,v)
#define IHTMLWindow7_get_oninput(This,p) (This)->lpVtbl->get_oninput(This,p)
#define IHTMLWindow7_put_onemptied(This,v) (This)->lpVtbl->put_onemptied(This,v)
#define IHTMLWindow7_get_onemptied(This,p) (This)->lpVtbl->get_onemptied(This,p)
#define IHTMLWindow7_put_onended(This,v) (This)->lpVtbl->put_onended(This,v)
#define IHTMLWindow7_get_onended(This,p) (This)->lpVtbl->get_onended(This,p)
#define IHTMLWindow7_put_onkeydown(This,v) (This)->lpVtbl->put_onkeydown(This,v)
#define IHTMLWindow7_get_onkeydown(This,p) (This)->lpVtbl->get_onkeydown(This,p)
#define IHTMLWindow7_put_onkeypress(This,v) (This)->lpVtbl->put_onkeypress(This,v)
#define IHTMLWindow7_get_onkeypress(This,p) (This)->lpVtbl->get_onkeypress(This,p)
#define IHTMLWindow7_put_onkeyup(This,v) (This)->lpVtbl->put_onkeyup(This,v)
#define IHTMLWindow7_get_onkeyup(This,p) (This)->lpVtbl->get_onkeyup(This,p)
#define IHTMLWindow7_put_onloadeddata(This,v) (This)->lpVtbl->put_onloadeddata(This,v)
#define IHTMLWindow7_get_onloadeddata(This,p) (This)->lpVtbl->get_onloadeddata(This,p)
#define IHTMLWindow7_put_onloadedmetadata(This,v) (This)->lpVtbl->put_onloadedmetadata(This,v)
#define IHTMLWindow7_get_onloadedmetadata(This,p) (This)->lpVtbl->get_onloadedmetadata(This,p)
#define IHTMLWindow7_put_onloadstart(This,v) (This)->lpVtbl->put_onloadstart(This,v)
#define IHTMLWindow7_get_onloadstart(This,p) (This)->lpVtbl->get_onloadstart(This,p)
#define IHTMLWindow7_put_onmousedown(This,v) (This)->lpVtbl->put_onmousedown(This,v)
#define IHTMLWindow7_get_onmousedown(This,p) (This)->lpVtbl->get_onmousedown(This,p)
#define IHTMLWindow7_put_onmouseenter(This,v) (This)->lpVtbl->put_onmouseenter(This,v)
#define IHTMLWindow7_get_onmouseenter(This,p) (This)->lpVtbl->get_onmouseenter(This,p)
#define IHTMLWindow7_put_onmouseleave(This,v) (This)->lpVtbl->put_onmouseleave(This,v)
#define IHTMLWindow7_get_onmouseleave(This,p) (This)->lpVtbl->get_onmouseleave(This,p)
#define IHTMLWindow7_put_onmousemove(This,v) (This)->lpVtbl->put_onmousemove(This,v)
#define IHTMLWindow7_get_onmousemove(This,p) (This)->lpVtbl->get_onmousemove(This,p)
#define IHTMLWindow7_put_onmouseout(This,v) (This)->lpVtbl->put_onmouseout(This,v)
#define IHTMLWindow7_get_onmouseout(This,p) (This)->lpVtbl->get_onmouseout(This,p)
#define IHTMLWindow7_put_onmouseover(This,v) (This)->lpVtbl->put_onmouseover(This,v)
#define IHTMLWindow7_get_onmouseover(This,p) (This)->lpVtbl->get_onmouseover(This,p)
#define IHTMLWindow7_put_onmouseup(This,v) (This)->lpVtbl->put_onmouseup(This,v)
#define IHTMLWindow7_get_onmouseup(This,p) (This)->lpVtbl->get_onmouseup(This,p)
#define IHTMLWindow7_put_onmousewheel(This,v) (This)->lpVtbl->put_onmousewheel(This,v)
#define IHTMLWindow7_get_onmousewheel(This,p) (This)->lpVtbl->get_onmousewheel(This,p)
#define IHTMLWindow7_put_onoffline(This,v) (This)->lpVtbl->put_onoffline(This,v)
#define IHTMLWindow7_get_onoffline(This,p) (This)->lpVtbl->get_onoffline(This,p)
#define IHTMLWindow7_put_ononline(This,v) (This)->lpVtbl->put_ononline(This,v)
#define IHTMLWindow7_get_ononline(This,p) (This)->lpVtbl->get_ononline(This,p)
#define IHTMLWindow7_put_onprogress(This,v) (This)->lpVtbl->put_onprogress(This,v)
#define IHTMLWindow7_get_onprogress(This,p) (This)->lpVtbl->get_onprogress(This,p)
#define IHTMLWindow7_put_onratechange(This,v) (This)->lpVtbl->put_onratechange(This,v)
#define IHTMLWindow7_get_onratechange(This,p) (This)->lpVtbl->get_onratechange(This,p)
#define IHTMLWindow7_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLWindow7_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLWindow7_put_onreset(This,v) (This)->lpVtbl->put_onreset(This,v)
#define IHTMLWindow7_get_onreset(This,p) (This)->lpVtbl->get_onreset(This,p)
#define IHTMLWindow7_put_onseeked(This,v) (This)->lpVtbl->put_onseeked(This,v)
#define IHTMLWindow7_get_onseeked(This,p) (This)->lpVtbl->get_onseeked(This,p)
#define IHTMLWindow7_put_onseeking(This,v) (This)->lpVtbl->put_onseeking(This,v)
#define IHTMLWindow7_get_onseeking(This,p) (This)->lpVtbl->get_onseeking(This,p)
#define IHTMLWindow7_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLWindow7_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLWindow7_put_onstalled(This,v) (This)->lpVtbl->put_onstalled(This,v)
#define IHTMLWindow7_get_onstalled(This,p) (This)->lpVtbl->get_onstalled(This,p)
#define IHTMLWindow7_put_onstorage(This,v) (This)->lpVtbl->put_onstorage(This,v)
#define IHTMLWindow7_get_onstorage(This,p) (This)->lpVtbl->get_onstorage(This,p)
#define IHTMLWindow7_put_onsubmit(This,v) (This)->lpVtbl->put_onsubmit(This,v)
#define IHTMLWindow7_get_onsubmit(This,p) (This)->lpVtbl->get_onsubmit(This,p)
#define IHTMLWindow7_put_onsuspend(This,v) (This)->lpVtbl->put_onsuspend(This,v)
#define IHTMLWindow7_get_onsuspend(This,p) (This)->lpVtbl->get_onsuspend(This,p)
#define IHTMLWindow7_put_ontimeupdate(This,v) (This)->lpVtbl->put_ontimeupdate(This,v)
#define IHTMLWindow7_get_ontimeupdate(This,p) (This)->lpVtbl->get_ontimeupdate(This,p)
#define IHTMLWindow7_put_onpause(This,v) (This)->lpVtbl->put_onpause(This,v)
#define IHTMLWindow7_get_onpause(This,p) (This)->lpVtbl->get_onpause(This,p)
#define IHTMLWindow7_put_onplay(This,v) (This)->lpVtbl->put_onplay(This,v)
#define IHTMLWindow7_get_onplay(This,p) (This)->lpVtbl->get_onplay(This,p)
#define IHTMLWindow7_put_onplaying(This,v) (This)->lpVtbl->put_onplaying(This,v)
#define IHTMLWindow7_get_onplaying(This,p) (This)->lpVtbl->get_onplaying(This,p)
#define IHTMLWindow7_put_onvolumechange(This,v) (This)->lpVtbl->put_onvolumechange(This,v)
#define IHTMLWindow7_get_onvolumechange(This,p) (This)->lpVtbl->get_onvolumechange(This,p)
#define IHTMLWindow7_put_onwaiting(This,v) (This)->lpVtbl->put_onwaiting(This,v)
#define IHTMLWindow7_get_onwaiting(This,p) (This)->lpVtbl->get_onwaiting(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLWindow7_QueryInterface(IHTMLWindow7* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLWindow7_AddRef(IHTMLWindow7* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLWindow7_Release(IHTMLWindow7* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLWindow7_GetTypeInfoCount(IHTMLWindow7* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLWindow7_GetTypeInfo(IHTMLWindow7* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLWindow7_GetIDsOfNames(IHTMLWindow7* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLWindow7_Invoke(IHTMLWindow7* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLWindow7 methods ***/
static inline HRESULT IHTMLWindow7_getSelection(IHTMLWindow7* This,IHTMLSelection **ppIHTMLSelection) {
    return This->lpVtbl->getSelection(This,ppIHTMLSelection);
}
static inline HRESULT IHTMLWindow7_getComputedStyle(IHTMLWindow7* This,IHTMLDOMNode *varArgIn,BSTR bstrPseudoElt,IHTMLCSSStyleDeclaration **ppComputedStyle) {
    return This->lpVtbl->getComputedStyle(This,varArgIn,bstrPseudoElt,ppComputedStyle);
}
static inline HRESULT IHTMLWindow7_get_styleMedia(IHTMLWindow7* This,IHTMLStyleMedia **p) {
    return This->lpVtbl->get_styleMedia(This,p);
}
static inline HRESULT IHTMLWindow7_put_performance(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_performance(This,v);
}
static inline HRESULT IHTMLWindow7_get_performance(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_performance(This,p);
}
static inline HRESULT IHTMLWindow7_get_innerWidth(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_innerWidth(This,p);
}
static inline HRESULT IHTMLWindow7_get_innerHeight(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_innerHeight(This,p);
}
static inline HRESULT IHTMLWindow7_get_pageXOffset(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_pageXOffset(This,p);
}
static inline HRESULT IHTMLWindow7_get_pageYOffset(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_pageYOffset(This,p);
}
static inline HRESULT IHTMLWindow7_get_screenX(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_screenX(This,p);
}
static inline HRESULT IHTMLWindow7_get_screenY(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_screenY(This,p);
}
static inline HRESULT IHTMLWindow7_get_outerWidth(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_outerWidth(This,p);
}
static inline HRESULT IHTMLWindow7_get_outerHeight(IHTMLWindow7* This,LONG *p) {
    return This->lpVtbl->get_outerHeight(This,p);
}
static inline HRESULT IHTMLWindow7_put_onabort(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static inline HRESULT IHTMLWindow7_get_onabort(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static inline HRESULT IHTMLWindow7_put_oncanplay(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_oncanplay(This,v);
}
static inline HRESULT IHTMLWindow7_get_oncanplay(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplay(This,p);
}
static inline HRESULT IHTMLWindow7_put_oncanplaythrough(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_oncanplaythrough(This,v);
}
static inline HRESULT IHTMLWindow7_get_oncanplaythrough(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplaythrough(This,p);
}
static inline HRESULT IHTMLWindow7_put_onchange(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLWindow7_get_onchange(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLWindow7_put_onclick(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onclick(This,v);
}
static inline HRESULT IHTMLWindow7_get_onclick(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onclick(This,p);
}
static inline HRESULT IHTMLWindow7_put_oncontextmenu(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_oncontextmenu(This,v);
}
static inline HRESULT IHTMLWindow7_get_oncontextmenu(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_oncontextmenu(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondblclick(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondblclick(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondblclick(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondblclick(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondrag(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondrag(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondrag(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondrag(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondragend(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondragend(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondragend(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragend(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondragenter(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondragenter(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondragenter(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragenter(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondragleave(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondragleave(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondragleave(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragleave(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondragover(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondragover(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondragover(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragover(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondragstart(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondragstart(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondragstart(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragstart(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondrop(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondrop(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondrop(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondrop(This,p);
}
static inline HRESULT IHTMLWindow7_put_ondurationchange(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ondurationchange(This,v);
}
static inline HRESULT IHTMLWindow7_get_ondurationchange(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ondurationchange(This,p);
}
static inline HRESULT IHTMLWindow7_put_onfocusin(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onfocusin(This,v);
}
static inline HRESULT IHTMLWindow7_get_onfocusin(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusin(This,p);
}
static inline HRESULT IHTMLWindow7_put_onfocusout(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onfocusout(This,v);
}
static inline HRESULT IHTMLWindow7_get_onfocusout(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusout(This,p);
}
static inline HRESULT IHTMLWindow7_put_oninput(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_oninput(This,v);
}
static inline HRESULT IHTMLWindow7_get_oninput(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_oninput(This,p);
}
static inline HRESULT IHTMLWindow7_put_onemptied(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onemptied(This,v);
}
static inline HRESULT IHTMLWindow7_get_onemptied(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onemptied(This,p);
}
static inline HRESULT IHTMLWindow7_put_onended(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onended(This,v);
}
static inline HRESULT IHTMLWindow7_get_onended(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onended(This,p);
}
static inline HRESULT IHTMLWindow7_put_onkeydown(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onkeydown(This,v);
}
static inline HRESULT IHTMLWindow7_get_onkeydown(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onkeydown(This,p);
}
static inline HRESULT IHTMLWindow7_put_onkeypress(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onkeypress(This,v);
}
static inline HRESULT IHTMLWindow7_get_onkeypress(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onkeypress(This,p);
}
static inline HRESULT IHTMLWindow7_put_onkeyup(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onkeyup(This,v);
}
static inline HRESULT IHTMLWindow7_get_onkeyup(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onkeyup(This,p);
}
static inline HRESULT IHTMLWindow7_put_onloadeddata(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onloadeddata(This,v);
}
static inline HRESULT IHTMLWindow7_get_onloadeddata(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadeddata(This,p);
}
static inline HRESULT IHTMLWindow7_put_onloadedmetadata(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onloadedmetadata(This,v);
}
static inline HRESULT IHTMLWindow7_get_onloadedmetadata(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadedmetadata(This,p);
}
static inline HRESULT IHTMLWindow7_put_onloadstart(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onloadstart(This,v);
}
static inline HRESULT IHTMLWindow7_get_onloadstart(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadstart(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmousedown(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmousedown(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmousedown(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmousedown(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmouseenter(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmouseenter(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmouseenter(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseenter(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmouseleave(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmouseleave(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmouseleave(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseleave(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmousemove(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmousemove(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmousemove(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmousemove(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmouseout(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmouseout(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmouseout(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseout(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmouseover(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmouseover(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmouseover(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseover(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmouseup(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmouseup(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmouseup(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseup(This,p);
}
static inline HRESULT IHTMLWindow7_put_onmousewheel(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onmousewheel(This,v);
}
static inline HRESULT IHTMLWindow7_get_onmousewheel(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onmousewheel(This,p);
}
static inline HRESULT IHTMLWindow7_put_onoffline(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onoffline(This,v);
}
static inline HRESULT IHTMLWindow7_get_onoffline(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onoffline(This,p);
}
static inline HRESULT IHTMLWindow7_put_ononline(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ononline(This,v);
}
static inline HRESULT IHTMLWindow7_get_ononline(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ononline(This,p);
}
static inline HRESULT IHTMLWindow7_put_onprogress(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onprogress(This,v);
}
static inline HRESULT IHTMLWindow7_get_onprogress(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onprogress(This,p);
}
static inline HRESULT IHTMLWindow7_put_onratechange(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onratechange(This,v);
}
static inline HRESULT IHTMLWindow7_get_onratechange(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onratechange(This,p);
}
static inline HRESULT IHTMLWindow7_put_onreadystatechange(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLWindow7_get_onreadystatechange(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLWindow7_put_onreset(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onreset(This,v);
}
static inline HRESULT IHTMLWindow7_get_onreset(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onreset(This,p);
}
static inline HRESULT IHTMLWindow7_put_onseeked(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onseeked(This,v);
}
static inline HRESULT IHTMLWindow7_get_onseeked(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onseeked(This,p);
}
static inline HRESULT IHTMLWindow7_put_onseeking(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onseeking(This,v);
}
static inline HRESULT IHTMLWindow7_get_onseeking(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onseeking(This,p);
}
static inline HRESULT IHTMLWindow7_put_onselect(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLWindow7_get_onselect(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLWindow7_put_onstalled(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onstalled(This,v);
}
static inline HRESULT IHTMLWindow7_get_onstalled(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onstalled(This,p);
}
static inline HRESULT IHTMLWindow7_put_onstorage(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onstorage(This,v);
}
static inline HRESULT IHTMLWindow7_get_onstorage(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onstorage(This,p);
}
static inline HRESULT IHTMLWindow7_put_onsubmit(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onsubmit(This,v);
}
static inline HRESULT IHTMLWindow7_get_onsubmit(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onsubmit(This,p);
}
static inline HRESULT IHTMLWindow7_put_onsuspend(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onsuspend(This,v);
}
static inline HRESULT IHTMLWindow7_get_onsuspend(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onsuspend(This,p);
}
static inline HRESULT IHTMLWindow7_put_ontimeupdate(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_ontimeupdate(This,v);
}
static inline HRESULT IHTMLWindow7_get_ontimeupdate(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_ontimeupdate(This,p);
}
static inline HRESULT IHTMLWindow7_put_onpause(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onpause(This,v);
}
static inline HRESULT IHTMLWindow7_get_onpause(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onpause(This,p);
}
static inline HRESULT IHTMLWindow7_put_onplay(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onplay(This,v);
}
static inline HRESULT IHTMLWindow7_get_onplay(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onplay(This,p);
}
static inline HRESULT IHTMLWindow7_put_onplaying(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onplaying(This,v);
}
static inline HRESULT IHTMLWindow7_get_onplaying(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onplaying(This,p);
}
static inline HRESULT IHTMLWindow7_put_onvolumechange(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onvolumechange(This,v);
}
static inline HRESULT IHTMLWindow7_get_onvolumechange(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onvolumechange(This,p);
}
static inline HRESULT IHTMLWindow7_put_onwaiting(IHTMLWindow7* This,VARIANT v) {
    return This->lpVtbl->put_onwaiting(This,v);
}
static inline HRESULT IHTMLWindow7_get_onwaiting(IHTMLWindow7* This,VARIANT *p) {
    return This->lpVtbl->get_onwaiting(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow7_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLWindow8 interface
 */
#ifndef __IHTMLWindow8_INTERFACE_DEFINED__
#define __IHTMLWindow8_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLWindow8, 0x305107ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107ab-98b5-11cf-bb82-00aa00bdce0b")
IHTMLWindow8 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onmspointerdown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerdown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointermove(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointermove(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointercancel(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointercancel(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerhover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerhover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturestart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturestart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgestureend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgestureend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturehold(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturehold(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturetap(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturetap(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturedoubletap(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturedoubletap(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsinertiastart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsinertiastart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_applicationCache(
        IHTMLApplicationCache **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpopstate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpopstate(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLWindow8, 0x305107ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLWindow8Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLWindow8 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLWindow8 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLWindow8 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLWindow8 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLWindow8 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLWindow8 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLWindow8 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLWindow8 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onmspointerdown)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerdown)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointermove)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointermove)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerup)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerup)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerover)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerover)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerout)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerout)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointercancel)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointercancel)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerhover)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerhover)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturestart)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturestart)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturechange)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturechange)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgestureend)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgestureend)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturehold)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturehold)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturetap)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturetap)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturedoubletap)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturedoubletap)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsinertiastart)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsinertiastart)(
        IHTMLWindow8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_applicationCache)(
        IHTMLWindow8 *This,
        IHTMLApplicationCache **p);

    HRESULT (STDMETHODCALLTYPE *put_onpopstate)(
        IHTMLWindow8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpopstate)(
        IHTMLWindow8 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLWindow8Vtbl;

interface IHTMLWindow8 {
    CONST_VTBL IHTMLWindow8Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLWindow8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLWindow8_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLWindow8_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLWindow8_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLWindow8_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLWindow8_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLWindow8_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLWindow8 methods ***/
#define IHTMLWindow8_put_onmspointerdown(This,v) (This)->lpVtbl->put_onmspointerdown(This,v)
#define IHTMLWindow8_get_onmspointerdown(This,p) (This)->lpVtbl->get_onmspointerdown(This,p)
#define IHTMLWindow8_put_onmspointermove(This,v) (This)->lpVtbl->put_onmspointermove(This,v)
#define IHTMLWindow8_get_onmspointermove(This,p) (This)->lpVtbl->get_onmspointermove(This,p)
#define IHTMLWindow8_put_onmspointerup(This,v) (This)->lpVtbl->put_onmspointerup(This,v)
#define IHTMLWindow8_get_onmspointerup(This,p) (This)->lpVtbl->get_onmspointerup(This,p)
#define IHTMLWindow8_put_onmspointerover(This,v) (This)->lpVtbl->put_onmspointerover(This,v)
#define IHTMLWindow8_get_onmspointerover(This,p) (This)->lpVtbl->get_onmspointerover(This,p)
#define IHTMLWindow8_put_onmspointerout(This,v) (This)->lpVtbl->put_onmspointerout(This,v)
#define IHTMLWindow8_get_onmspointerout(This,p) (This)->lpVtbl->get_onmspointerout(This,p)
#define IHTMLWindow8_put_onmspointercancel(This,v) (This)->lpVtbl->put_onmspointercancel(This,v)
#define IHTMLWindow8_get_onmspointercancel(This,p) (This)->lpVtbl->get_onmspointercancel(This,p)
#define IHTMLWindow8_put_onmspointerhover(This,v) (This)->lpVtbl->put_onmspointerhover(This,v)
#define IHTMLWindow8_get_onmspointerhover(This,p) (This)->lpVtbl->get_onmspointerhover(This,p)
#define IHTMLWindow8_put_onmsgesturestart(This,v) (This)->lpVtbl->put_onmsgesturestart(This,v)
#define IHTMLWindow8_get_onmsgesturestart(This,p) (This)->lpVtbl->get_onmsgesturestart(This,p)
#define IHTMLWindow8_put_onmsgesturechange(This,v) (This)->lpVtbl->put_onmsgesturechange(This,v)
#define IHTMLWindow8_get_onmsgesturechange(This,p) (This)->lpVtbl->get_onmsgesturechange(This,p)
#define IHTMLWindow8_put_onmsgestureend(This,v) (This)->lpVtbl->put_onmsgestureend(This,v)
#define IHTMLWindow8_get_onmsgestureend(This,p) (This)->lpVtbl->get_onmsgestureend(This,p)
#define IHTMLWindow8_put_onmsgesturehold(This,v) (This)->lpVtbl->put_onmsgesturehold(This,v)
#define IHTMLWindow8_get_onmsgesturehold(This,p) (This)->lpVtbl->get_onmsgesturehold(This,p)
#define IHTMLWindow8_put_onmsgesturetap(This,v) (This)->lpVtbl->put_onmsgesturetap(This,v)
#define IHTMLWindow8_get_onmsgesturetap(This,p) (This)->lpVtbl->get_onmsgesturetap(This,p)
#define IHTMLWindow8_put_onmsgesturedoubletap(This,v) (This)->lpVtbl->put_onmsgesturedoubletap(This,v)
#define IHTMLWindow8_get_onmsgesturedoubletap(This,p) (This)->lpVtbl->get_onmsgesturedoubletap(This,p)
#define IHTMLWindow8_put_onmsinertiastart(This,v) (This)->lpVtbl->put_onmsinertiastart(This,v)
#define IHTMLWindow8_get_onmsinertiastart(This,p) (This)->lpVtbl->get_onmsinertiastart(This,p)
#define IHTMLWindow8_get_applicationCache(This,p) (This)->lpVtbl->get_applicationCache(This,p)
#define IHTMLWindow8_put_onpopstate(This,v) (This)->lpVtbl->put_onpopstate(This,v)
#define IHTMLWindow8_get_onpopstate(This,p) (This)->lpVtbl->get_onpopstate(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLWindow8_QueryInterface(IHTMLWindow8* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLWindow8_AddRef(IHTMLWindow8* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLWindow8_Release(IHTMLWindow8* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLWindow8_GetTypeInfoCount(IHTMLWindow8* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLWindow8_GetTypeInfo(IHTMLWindow8* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLWindow8_GetIDsOfNames(IHTMLWindow8* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLWindow8_Invoke(IHTMLWindow8* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLWindow8 methods ***/
static inline HRESULT IHTMLWindow8_put_onmspointerdown(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerdown(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmspointerdown(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerdown(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmspointermove(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointermove(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmspointermove(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointermove(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmspointerup(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerup(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmspointerup(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerup(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmspointerover(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerover(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmspointerover(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerover(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmspointerout(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerout(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmspointerout(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerout(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmspointercancel(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointercancel(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmspointercancel(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointercancel(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmspointerhover(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerhover(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmspointerhover(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerhover(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmsgesturestart(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturestart(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmsgesturestart(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturestart(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmsgesturechange(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturechange(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmsgesturechange(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturechange(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmsgestureend(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgestureend(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmsgestureend(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgestureend(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmsgesturehold(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturehold(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmsgesturehold(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturehold(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmsgesturetap(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturetap(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmsgesturetap(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturetap(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmsgesturedoubletap(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturedoubletap(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmsgesturedoubletap(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturedoubletap(This,p);
}
static inline HRESULT IHTMLWindow8_put_onmsinertiastart(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onmsinertiastart(This,v);
}
static inline HRESULT IHTMLWindow8_get_onmsinertiastart(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsinertiastart(This,p);
}
static inline HRESULT IHTMLWindow8_get_applicationCache(IHTMLWindow8* This,IHTMLApplicationCache **p) {
    return This->lpVtbl->get_applicationCache(This,p);
}
static inline HRESULT IHTMLWindow8_put_onpopstate(IHTMLWindow8* This,VARIANT v) {
    return This->lpVtbl->put_onpopstate(This,v);
}
static inline HRESULT IHTMLWindow8_get_onpopstate(IHTMLWindow8* This,VARIANT *p) {
    return This->lpVtbl->get_onpopstate(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow8_INTERFACE_DEFINED__ */

/*****************************************************************************
 * FramesCollection coclass
 */

DEFINE_GUID(CLSID_FramesCollection, 0x3050f7f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f7f6-98b5-11cf-bb82-00aa00bdce0b") FramesCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FramesCollection, 0x3050f7f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFramesCollection;
/*****************************************************************************
 * DispHTMLScreen dispinterface
 */
#ifndef __DispHTMLScreen_DISPINTERFACE_DEFINED__
#define __DispHTMLScreen_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLScreen, 0x3050f591, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f591-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLScreen : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLScreen, 0x3050f591, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLScreenVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLScreen *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLScreen *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLScreen *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLScreen *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLScreen *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLScreen *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLScreen *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLScreenVtbl;

interface DispHTMLScreen {
    CONST_VTBL DispHTMLScreenVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLScreen_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLScreen_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLScreen_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLScreen_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLScreen_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLScreen_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLScreen_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLScreen_QueryInterface(DispHTMLScreen* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLScreen_AddRef(DispHTMLScreen* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLScreen_Release(DispHTMLScreen* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLScreen_GetTypeInfoCount(DispHTMLScreen* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLScreen_GetTypeInfo(DispHTMLScreen* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLScreen_GetIDsOfNames(DispHTMLScreen* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLScreen_Invoke(DispHTMLScreen* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLScreen_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLScreen coclass
 */

DEFINE_GUID(CLSID_HTMLScreen, 0x3050f35d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f35d-98b5-11cf-bb82-00aa00bdce0b") HTMLScreen;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLScreen, 0x3050f35d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CScreen;
/*****************************************************************************
 * DispHTMLWindow2 dispinterface
 */
#ifndef __DispHTMLWindow2_DISPINTERFACE_DEFINED__
#define __DispHTMLWindow2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLWindow2, 0x3050f55d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f55d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLWindow2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLWindow2, 0x3050f55d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLWindow2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLWindow2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLWindow2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLWindow2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLWindow2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLWindow2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLWindow2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLWindow2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLWindow2Vtbl;

interface DispHTMLWindow2 {
    CONST_VTBL DispHTMLWindow2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLWindow2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLWindow2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLWindow2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLWindow2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLWindow2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLWindow2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLWindow2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLWindow2_QueryInterface(DispHTMLWindow2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLWindow2_AddRef(DispHTMLWindow2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLWindow2_Release(DispHTMLWindow2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLWindow2_GetTypeInfoCount(DispHTMLWindow2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLWindow2_GetTypeInfo(DispHTMLWindow2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLWindow2_GetIDsOfNames(DispHTMLWindow2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLWindow2_Invoke(DispHTMLWindow2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLWindow2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLWindow2 coclass
 */

DEFINE_GUID(CLSID_HTMLWindow2, 0xd48a6ec6, 0x6a4a, 0x11cf, 0x94,0xa7, 0x44,0x45,0x53,0x54,0x00,0x00);

#ifdef __cplusplus
class DECLSPEC_UUID("d48a6ec6-6a4a-11cf-94a7-444553540000") HTMLWindow2;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLWindow2, 0xd48a6ec6, 0x6a4a, 0x11cf, 0x94,0xa7, 0x44,0x45,0x53,0x54,0x00,0x00)
#endif
#endif

EXTERN_C const GUID CLSID_CWindow;
/*****************************************************************************
 * DispHTMLWindowProxy dispinterface
 */
#ifndef __DispHTMLWindowProxy_DISPINTERFACE_DEFINED__
#define __DispHTMLWindowProxy_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLWindowProxy, 0x3050f55e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f55e-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLWindowProxy : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLWindowProxy, 0x3050f55e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLWindowProxyVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLWindowProxy *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLWindowProxy *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLWindowProxy *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLWindowProxy *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLWindowProxy *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLWindowProxy *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLWindowProxy *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLWindowProxyVtbl;

interface DispHTMLWindowProxy {
    CONST_VTBL DispHTMLWindowProxyVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLWindowProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLWindowProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLWindowProxy_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLWindowProxy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLWindowProxy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLWindowProxy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLWindowProxy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLWindowProxy_QueryInterface(DispHTMLWindowProxy* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLWindowProxy_AddRef(DispHTMLWindowProxy* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLWindowProxy_Release(DispHTMLWindowProxy* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLWindowProxy_GetTypeInfoCount(DispHTMLWindowProxy* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLWindowProxy_GetTypeInfo(DispHTMLWindowProxy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLWindowProxy_GetIDsOfNames(DispHTMLWindowProxy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLWindowProxy_Invoke(DispHTMLWindowProxy* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLWindowProxy_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLWindowProxy coclass
 */

DEFINE_GUID(CLSID_HTMLWindowProxy, 0x3050f391, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f391-98b5-11cf-bb82-00aa00bdce0b") HTMLWindowProxy;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLWindowProxy, 0x3050f391, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_COmWindowProxy;
/*****************************************************************************
 * IHTMLDocumentCompatibleInfo interface
 */
#ifndef __IHTMLDocumentCompatibleInfo_INTERFACE_DEFINED__
#define __IHTMLDocumentCompatibleInfo_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocumentCompatibleInfo, 0x3051041a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051041a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocumentCompatibleInfo : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_userAgent(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_version(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocumentCompatibleInfo, 0x3051041a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocumentCompatibleInfoVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocumentCompatibleInfo *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocumentCompatibleInfo *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocumentCompatibleInfo *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocumentCompatibleInfo *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocumentCompatibleInfo *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocumentCompatibleInfo *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocumentCompatibleInfo *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocumentCompatibleInfo methods ***/
    HRESULT (STDMETHODCALLTYPE *get_userAgent)(
        IHTMLDocumentCompatibleInfo *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_version)(
        IHTMLDocumentCompatibleInfo *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDocumentCompatibleInfoVtbl;

interface IHTMLDocumentCompatibleInfo {
    CONST_VTBL IHTMLDocumentCompatibleInfoVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocumentCompatibleInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocumentCompatibleInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocumentCompatibleInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocumentCompatibleInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocumentCompatibleInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocumentCompatibleInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocumentCompatibleInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocumentCompatibleInfo methods ***/
#define IHTMLDocumentCompatibleInfo_get_userAgent(This,p) (This)->lpVtbl->get_userAgent(This,p)
#define IHTMLDocumentCompatibleInfo_get_version(This,p) (This)->lpVtbl->get_version(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocumentCompatibleInfo_QueryInterface(IHTMLDocumentCompatibleInfo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocumentCompatibleInfo_AddRef(IHTMLDocumentCompatibleInfo* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocumentCompatibleInfo_Release(IHTMLDocumentCompatibleInfo* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocumentCompatibleInfo_GetTypeInfoCount(IHTMLDocumentCompatibleInfo* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocumentCompatibleInfo_GetTypeInfo(IHTMLDocumentCompatibleInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocumentCompatibleInfo_GetIDsOfNames(IHTMLDocumentCompatibleInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocumentCompatibleInfo_Invoke(IHTMLDocumentCompatibleInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocumentCompatibleInfo methods ***/
static inline HRESULT IHTMLDocumentCompatibleInfo_get_userAgent(IHTMLDocumentCompatibleInfo* This,BSTR *p) {
    return This->lpVtbl->get_userAgent(This,p);
}
static inline HRESULT IHTMLDocumentCompatibleInfo_get_version(IHTMLDocumentCompatibleInfo* This,BSTR *p) {
    return This->lpVtbl->get_version(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocumentCompatibleInfo_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocumentCompatibleInfoCollection interface
 */
#ifndef __IHTMLDocumentCompatibleInfoCollection_INTERFACE_DEFINED__
#define __IHTMLDocumentCompatibleInfoCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocumentCompatibleInfoCollection, 0x30510418, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510418-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocumentCompatibleInfoCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLDocumentCompatibleInfo **compatibleInfo) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocumentCompatibleInfoCollection, 0x30510418, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocumentCompatibleInfoCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocumentCompatibleInfoCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocumentCompatibleInfoCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocumentCompatibleInfoCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocumentCompatibleInfoCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocumentCompatibleInfoCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocumentCompatibleInfoCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocumentCompatibleInfoCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocumentCompatibleInfoCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLDocumentCompatibleInfoCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLDocumentCompatibleInfoCollection *This,
        LONG index,
        IHTMLDocumentCompatibleInfo **compatibleInfo);

    END_INTERFACE
} IHTMLDocumentCompatibleInfoCollectionVtbl;

interface IHTMLDocumentCompatibleInfoCollection {
    CONST_VTBL IHTMLDocumentCompatibleInfoCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocumentCompatibleInfoCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocumentCompatibleInfoCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocumentCompatibleInfoCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocumentCompatibleInfoCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocumentCompatibleInfoCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocumentCompatibleInfoCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocumentCompatibleInfoCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocumentCompatibleInfoCollection methods ***/
#define IHTMLDocumentCompatibleInfoCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLDocumentCompatibleInfoCollection_item(This,index,compatibleInfo) (This)->lpVtbl->item(This,index,compatibleInfo)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocumentCompatibleInfoCollection_QueryInterface(IHTMLDocumentCompatibleInfoCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocumentCompatibleInfoCollection_AddRef(IHTMLDocumentCompatibleInfoCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocumentCompatibleInfoCollection_Release(IHTMLDocumentCompatibleInfoCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocumentCompatibleInfoCollection_GetTypeInfoCount(IHTMLDocumentCompatibleInfoCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocumentCompatibleInfoCollection_GetTypeInfo(IHTMLDocumentCompatibleInfoCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocumentCompatibleInfoCollection_GetIDsOfNames(IHTMLDocumentCompatibleInfoCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocumentCompatibleInfoCollection_Invoke(IHTMLDocumentCompatibleInfoCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocumentCompatibleInfoCollection methods ***/
static inline HRESULT IHTMLDocumentCompatibleInfoCollection_get_length(IHTMLDocumentCompatibleInfoCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLDocumentCompatibleInfoCollection_item(IHTMLDocumentCompatibleInfoCollection* This,LONG index,IHTMLDocumentCompatibleInfo **compatibleInfo) {
    return This->lpVtbl->item(This,index,compatibleInfo);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocumentCompatibleInfoCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDocumentCompatibleInfo dispinterface
 */
#ifndef __DispHTMLDocumentCompatibleInfo_DISPINTERFACE_DEFINED__
#define __DispHTMLDocumentCompatibleInfo_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDocumentCompatibleInfo, 0x3050f53e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f53e-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDocumentCompatibleInfo : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDocumentCompatibleInfo, 0x3050f53e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDocumentCompatibleInfoVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLDocumentCompatibleInfo *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLDocumentCompatibleInfo *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLDocumentCompatibleInfo *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDocumentCompatibleInfo *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDocumentCompatibleInfo *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDocumentCompatibleInfo *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDocumentCompatibleInfo *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDocumentCompatibleInfoVtbl;

interface DispHTMLDocumentCompatibleInfo {
    CONST_VTBL DispHTMLDocumentCompatibleInfoVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDocumentCompatibleInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDocumentCompatibleInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDocumentCompatibleInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDocumentCompatibleInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDocumentCompatibleInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDocumentCompatibleInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDocumentCompatibleInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDocumentCompatibleInfo_QueryInterface(DispHTMLDocumentCompatibleInfo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDocumentCompatibleInfo_AddRef(DispHTMLDocumentCompatibleInfo* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDocumentCompatibleInfo_Release(DispHTMLDocumentCompatibleInfo* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDocumentCompatibleInfo_GetTypeInfoCount(DispHTMLDocumentCompatibleInfo* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDocumentCompatibleInfo_GetTypeInfo(DispHTMLDocumentCompatibleInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDocumentCompatibleInfo_GetIDsOfNames(DispHTMLDocumentCompatibleInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDocumentCompatibleInfo_Invoke(DispHTMLDocumentCompatibleInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDocumentCompatibleInfo_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDocumentCompatibleInfo coclass
 */

DEFINE_GUID(CLSID_HTMLDocumentCompatibleInfo, 0x3051041b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051041b-98b5-11cf-bb82-00aa00bdce0b") HTMLDocumentCompatibleInfo;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDocumentCompatibleInfo, 0x3051041b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDocumentVersion;
/*****************************************************************************
 * DispHTMLDocumentCompatibleInfoCollection dispinterface
 */
#ifndef __DispHTMLDocumentCompatibleInfoCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLDocumentCompatibleInfoCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDocumentCompatibleInfoCollection, 0x3050f53f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f53f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDocumentCompatibleInfoCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDocumentCompatibleInfoCollection, 0x3050f53f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDocumentCompatibleInfoCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLDocumentCompatibleInfoCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLDocumentCompatibleInfoCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLDocumentCompatibleInfoCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDocumentCompatibleInfoCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDocumentCompatibleInfoCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDocumentCompatibleInfoCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDocumentCompatibleInfoCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDocumentCompatibleInfoCollectionVtbl;

interface DispHTMLDocumentCompatibleInfoCollection {
    CONST_VTBL DispHTMLDocumentCompatibleInfoCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDocumentCompatibleInfoCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDocumentCompatibleInfoCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDocumentCompatibleInfoCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDocumentCompatibleInfoCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDocumentCompatibleInfoCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDocumentCompatibleInfoCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDocumentCompatibleInfoCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDocumentCompatibleInfoCollection_QueryInterface(DispHTMLDocumentCompatibleInfoCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDocumentCompatibleInfoCollection_AddRef(DispHTMLDocumentCompatibleInfoCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDocumentCompatibleInfoCollection_Release(DispHTMLDocumentCompatibleInfoCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDocumentCompatibleInfoCollection_GetTypeInfoCount(DispHTMLDocumentCompatibleInfoCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDocumentCompatibleInfoCollection_GetTypeInfo(DispHTMLDocumentCompatibleInfoCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDocumentCompatibleInfoCollection_GetIDsOfNames(DispHTMLDocumentCompatibleInfoCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDocumentCompatibleInfoCollection_Invoke(DispHTMLDocumentCompatibleInfoCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDocumentCompatibleInfoCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDocumentCompatibleInfoCollection coclass
 */

DEFINE_GUID(CLSID_HTMLDocumentCompatibleInfoCollection, 0x30510419, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510419-98b5-11cf-bb82-00aa00bdce0b") HTMLDocumentCompatibleInfoCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDocumentCompatibleInfoCollection, 0x30510419, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDocumentVersionCollection;
/*****************************************************************************
 * HTMLDocumentEvents4 dispinterface
 */
#ifndef __HTMLDocumentEvents4_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents4_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLDocumentEvents4, 0x30510737, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510737-98b5-11cf-bb82-00aa00bdce0b")
HTMLDocumentEvents4 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDocumentEvents4, 0x30510737, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLDocumentEvents4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLDocumentEvents4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLDocumentEvents4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLDocumentEvents4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLDocumentEvents4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLDocumentEvents4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLDocumentEvents4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLDocumentEvents4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLDocumentEvents4Vtbl;

interface HTMLDocumentEvents4 {
    CONST_VTBL HTMLDocumentEvents4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLDocumentEvents4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLDocumentEvents4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLDocumentEvents4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLDocumentEvents4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLDocumentEvents4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLDocumentEvents4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLDocumentEvents4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLDocumentEvents4_QueryInterface(HTMLDocumentEvents4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLDocumentEvents4_AddRef(HTMLDocumentEvents4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLDocumentEvents4_Release(HTMLDocumentEvents4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLDocumentEvents4_GetTypeInfoCount(HTMLDocumentEvents4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLDocumentEvents4_GetTypeInfo(HTMLDocumentEvents4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLDocumentEvents4_GetIDsOfNames(HTMLDocumentEvents4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLDocumentEvents4_Invoke(HTMLDocumentEvents4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLDocumentEvents4_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDocumentEvents3 dispinterface
 */
#ifndef __HTMLDocumentEvents3_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents3_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLDocumentEvents3, 0x3050f5a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5a0-98b5-11cf-bb82-00aa00bdce0b")
HTMLDocumentEvents3 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDocumentEvents3, 0x3050f5a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLDocumentEvents3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLDocumentEvents3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLDocumentEvents3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLDocumentEvents3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLDocumentEvents3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLDocumentEvents3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLDocumentEvents3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLDocumentEvents3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLDocumentEvents3Vtbl;

interface HTMLDocumentEvents3 {
    CONST_VTBL HTMLDocumentEvents3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLDocumentEvents3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLDocumentEvents3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLDocumentEvents3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLDocumentEvents3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLDocumentEvents3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLDocumentEvents3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLDocumentEvents3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLDocumentEvents3_QueryInterface(HTMLDocumentEvents3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLDocumentEvents3_AddRef(HTMLDocumentEvents3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLDocumentEvents3_Release(HTMLDocumentEvents3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLDocumentEvents3_GetTypeInfoCount(HTMLDocumentEvents3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLDocumentEvents3_GetTypeInfo(HTMLDocumentEvents3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLDocumentEvents3_GetIDsOfNames(HTMLDocumentEvents3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLDocumentEvents3_Invoke(HTMLDocumentEvents3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLDocumentEvents3_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDocumentEvents2 dispinterface
 */
#ifndef __HTMLDocumentEvents2_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLDocumentEvents2, 0x3050f613, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f613-98b5-11cf-bb82-00aa00bdce0b")
HTMLDocumentEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDocumentEvents2, 0x3050f613, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLDocumentEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLDocumentEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLDocumentEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLDocumentEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLDocumentEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLDocumentEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLDocumentEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLDocumentEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLDocumentEvents2Vtbl;

interface HTMLDocumentEvents2 {
    CONST_VTBL HTMLDocumentEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLDocumentEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLDocumentEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLDocumentEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLDocumentEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLDocumentEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLDocumentEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLDocumentEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLDocumentEvents2_QueryInterface(HTMLDocumentEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLDocumentEvents2_AddRef(HTMLDocumentEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLDocumentEvents2_Release(HTMLDocumentEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLDocumentEvents2_GetTypeInfoCount(HTMLDocumentEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLDocumentEvents2_GetTypeInfo(HTMLDocumentEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLDocumentEvents2_GetIDsOfNames(HTMLDocumentEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLDocumentEvents2_Invoke(HTMLDocumentEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLDocumentEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDocumentEvents dispinterface
 */
#ifndef __HTMLDocumentEvents_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLDocumentEvents, 0x3050f260, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f260-98b5-11cf-bb82-00aa00bdce0b")
HTMLDocumentEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDocumentEvents, 0x3050f260, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLDocumentEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLDocumentEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLDocumentEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLDocumentEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLDocumentEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLDocumentEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLDocumentEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLDocumentEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLDocumentEventsVtbl;

interface HTMLDocumentEvents {
    CONST_VTBL HTMLDocumentEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLDocumentEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLDocumentEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLDocumentEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLDocumentEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLDocumentEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLDocumentEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLDocumentEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLDocumentEvents_QueryInterface(HTMLDocumentEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLDocumentEvents_AddRef(HTMLDocumentEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLDocumentEvents_Release(HTMLDocumentEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLDocumentEvents_GetTypeInfoCount(HTMLDocumentEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLDocumentEvents_GetTypeInfo(HTMLDocumentEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLDocumentEvents_GetIDsOfNames(HTMLDocumentEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLDocumentEvents_Invoke(HTMLDocumentEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLDocumentEvents_DISPINTERFACE_DEFINED__ */

typedef enum _htmlCompatMode {
    htmlCompatModeBackCompat = 0,
    htmlCompatModeCSS1Compat = 1,
    htmlCompatMode_Max = 0x7fffffff
} htmlCompatMode;
#ifndef __ISVGSVGElement_FWD_DEFINED__
#define __ISVGSVGElement_FWD_DEFINED__
typedef interface ISVGSVGElement ISVGSVGElement;
#ifdef __cplusplus
interface ISVGSVGElement;
#endif /* __cplusplus */
#endif

#ifndef __IDOMNodeIterator_FWD_DEFINED__
#define __IDOMNodeIterator_FWD_DEFINED__
typedef interface IDOMNodeIterator IDOMNodeIterator;
#ifdef __cplusplus
interface IDOMNodeIterator;
#endif /* __cplusplus */
#endif

#ifndef __IDOMTreeWalker_FWD_DEFINED__
#define __IDOMTreeWalker_FWD_DEFINED__
typedef interface IDOMTreeWalker IDOMTreeWalker;
#ifdef __cplusplus
interface IDOMTreeWalker;
#endif /* __cplusplus */
#endif

#ifndef __IDOMProcessingInstruction_FWD_DEFINED__
#define __IDOMProcessingInstruction_FWD_DEFINED__
typedef interface IDOMProcessingInstruction IDOMProcessingInstruction;
#ifdef __cplusplus
interface IDOMProcessingInstruction;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLDocument interface
 */
#ifndef __IHTMLDocument_INTERFACE_DEFINED__
#define __IHTMLDocument_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument, 0x626fc520, 0xa41e, 0x11cf, 0xa7,0x31, 0x00,0xa0,0xc9,0x08,0x26,0x37);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("626fc520-a41e-11cf-a731-00a0c9082637")
IHTMLDocument : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Script(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument, 0x626fc520, 0xa41e, 0x11cf, 0xa7,0x31, 0x00,0xa0,0xc9,0x08,0x26,0x37)
#endif
#else
typedef struct IHTMLDocumentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Script)(
        IHTMLDocument *This,
        IDispatch **p);

    END_INTERFACE
} IHTMLDocumentVtbl;

interface IHTMLDocument {
    CONST_VTBL IHTMLDocumentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument methods ***/
#define IHTMLDocument_get_Script(This,p) (This)->lpVtbl->get_Script(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument_QueryInterface(IHTMLDocument* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument_AddRef(IHTMLDocument* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument_Release(IHTMLDocument* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument_GetTypeInfoCount(IHTMLDocument* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument_GetTypeInfo(IHTMLDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument_GetIDsOfNames(IHTMLDocument* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument_Invoke(IHTMLDocument* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument methods ***/
static inline HRESULT IHTMLDocument_get_Script(IHTMLDocument* This,IDispatch **p) {
    return This->lpVtbl->get_Script(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocument2 interface
 */
#ifndef __IHTMLDocument2_INTERFACE_DEFINED__
#define __IHTMLDocument2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument2, 0x332c4425, 0x26cb, 0x11d0, 0xb4,0x83, 0x00,0xc0,0x4f,0xd9,0x01,0x19);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("332c4425-26cb-11d0-b483-00c04fd90119")
IHTMLDocument2 : public IHTMLDocument
{
    virtual HRESULT STDMETHODCALLTYPE get_all(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_body(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_activeElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_images(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_applets(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_links(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_forms(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_anchors(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_title(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_title(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scripts(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_designMode(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_designMode(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selection(
        IHTMLSelectionObject **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frames(
        IHTMLFramesCollection2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_embeds(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_plugins(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alinkColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alinkColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_linkColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_linkColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vlinkColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vlinkColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_referrer(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_location(
        IHTMLLocation **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lastModified(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_URL(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_URL(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_domain(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domain(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cookie(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cookie(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_expando(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_expando(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_charset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_charset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultCharset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultCharset(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_mimeType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileSize(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileCreatedDate(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileModifiedDate(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fileUpdatedDate(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_security(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_protocol(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nameProp(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE write(
        SAFEARRAY *psarray) = 0;

    virtual HRESULT STDMETHODCALLTYPE writeln(
        SAFEARRAY *psarray) = 0;

    virtual HRESULT STDMETHODCALLTYPE open(
        BSTR url,
        VARIANT name,
        VARIANT features,
        VARIANT replace,
        IDispatch **pomWindowResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE close(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandSupported(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandEnabled(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandState(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandIndeterm(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandText(
        BSTR cmdID,
        BSTR *pcmdText) = 0;

    virtual HRESULT STDMETHODCALLTYPE queryCommandValue(
        BSTR cmdID,
        VARIANT *pcmdValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE execCommand(
        BSTR cmdID,
        VARIANT_BOOL showUI,
        VARIANT value,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE execCommandShowHelp(
        BSTR cmdID,
        VARIANT_BOOL *pfRet) = 0;

    virtual HRESULT STDMETHODCALLTYPE createElement(
        BSTR eTag,
        IHTMLElement **newElem) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onhelp(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onhelp(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onclick(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onclick(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondblclick(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondblclick(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeyup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeyup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeydown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeydown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onkeypress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onkeypress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmousedown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousedown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmousemove(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousemove(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmouseover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmouseover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onafterupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onafterupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowexit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowexit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowenter(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowenter(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselectstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselectstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE elementFromPoint(
        LONG x,
        LONG y,
        IHTMLElement **elementHit) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentWindow(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleSheets(
        IHTMLStyleSheetsCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerrorupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerrorupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *String) = 0;

    virtual HRESULT STDMETHODCALLTYPE createStyleSheet(
        BSTR bstrHref = L"",
        LONG lIndex = -1,
        IHTMLStyleSheet **ppnewStyleSheet = 0) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument2, 0x332c4425, 0x26cb, 0x11d0, 0xb4,0x83, 0x00,0xc0,0x4f,0xd9,0x01,0x19)
#endif
#else
typedef struct IHTMLDocument2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Script)(
        IHTMLDocument2 *This,
        IDispatch **p);

    /*** IHTMLDocument2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_all)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_body)(
        IHTMLDocument2 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_activeElement)(
        IHTMLDocument2 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_images)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_applets)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_links)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_forms)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_anchors)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_title)(
        IHTMLDocument2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_title)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_scripts)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_designMode)(
        IHTMLDocument2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_designMode)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_selection)(
        IHTMLDocument2 *This,
        IHTMLSelectionObject **p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_frames)(
        IHTMLDocument2 *This,
        IHTMLFramesCollection2 **p);

    HRESULT (STDMETHODCALLTYPE *get_embeds)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_plugins)(
        IHTMLDocument2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_alinkColor)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_alinkColor)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_bgColor)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bgColor)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_fgColor)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_fgColor)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_linkColor)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_linkColor)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_vlinkColor)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_vlinkColor)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_referrer)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_location)(
        IHTMLDocument2 *This,
        IHTMLLocation **p);

    HRESULT (STDMETHODCALLTYPE *get_lastModified)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_URL)(
        IHTMLDocument2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_URL)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_domain)(
        IHTMLDocument2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_domain)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cookie)(
        IHTMLDocument2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cookie)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_expando)(
        IHTMLDocument2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_expando)(
        IHTMLDocument2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_charset)(
        IHTMLDocument2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_charset)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultCharset)(
        IHTMLDocument2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_defaultCharset)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_mimeType)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileSize)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileCreatedDate)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileModifiedDate)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_fileUpdatedDate)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_security)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_protocol)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_nameProp)(
        IHTMLDocument2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *write)(
        IHTMLDocument2 *This,
        SAFEARRAY *psarray);

    HRESULT (STDMETHODCALLTYPE *writeln)(
        IHTMLDocument2 *This,
        SAFEARRAY *psarray);

    HRESULT (STDMETHODCALLTYPE *open)(
        IHTMLDocument2 *This,
        BSTR url,
        VARIANT name,
        VARIANT features,
        VARIANT replace,
        IDispatch **pomWindowResult);

    HRESULT (STDMETHODCALLTYPE *close)(
        IHTMLDocument2 *This);

    HRESULT (STDMETHODCALLTYPE *clear)(
        IHTMLDocument2 *This);

    HRESULT (STDMETHODCALLTYPE *queryCommandSupported)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandEnabled)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandState)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandIndeterm)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *queryCommandText)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        BSTR *pcmdText);

    HRESULT (STDMETHODCALLTYPE *queryCommandValue)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        VARIANT *pcmdValue);

    HRESULT (STDMETHODCALLTYPE *execCommand)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        VARIANT_BOOL showUI,
        VARIANT value,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *execCommandShowHelp)(
        IHTMLDocument2 *This,
        BSTR cmdID,
        VARIANT_BOOL *pfRet);

    HRESULT (STDMETHODCALLTYPE *createElement)(
        IHTMLDocument2 *This,
        BSTR eTag,
        IHTMLElement **newElem);

    HRESULT (STDMETHODCALLTYPE *put_onhelp)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onhelp)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onclick)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onclick)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondblclick)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondblclick)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeyup)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeyup)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeydown)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeydown)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onkeypress)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onkeypress)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseup)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseup)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmousedown)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousedown)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmousemove)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousemove)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseout)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseout)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmouseover)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmouseover)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onafterupdate)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onafterupdate)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onrowexit)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowexit)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onrowenter)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowenter)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragstart)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragstart)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselectstart)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselectstart)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *elementFromPoint)(
        IHTMLDocument2 *This,
        LONG x,
        LONG y,
        IHTMLElement **elementHit);

    HRESULT (STDMETHODCALLTYPE *get_parentWindow)(
        IHTMLDocument2 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *get_styleSheets)(
        IHTMLDocument2 *This,
        IHTMLStyleSheetsCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeupdate)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeupdate)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerrorupdate)(
        IHTMLDocument2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerrorupdate)(
        IHTMLDocument2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLDocument2 *This,
        BSTR *String);

    HRESULT (STDMETHODCALLTYPE *createStyleSheet)(
        IHTMLDocument2 *This,
        BSTR bstrHref,
        LONG lIndex,
        IHTMLStyleSheet **ppnewStyleSheet);

    END_INTERFACE
} IHTMLDocument2Vtbl;

interface IHTMLDocument2 {
    CONST_VTBL IHTMLDocument2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument methods ***/
#define IHTMLDocument2_get_Script(This,p) (This)->lpVtbl->get_Script(This,p)
/*** IHTMLDocument2 methods ***/
#define IHTMLDocument2_get_all(This,p) (This)->lpVtbl->get_all(This,p)
#define IHTMLDocument2_get_body(This,p) (This)->lpVtbl->get_body(This,p)
#define IHTMLDocument2_get_activeElement(This,p) (This)->lpVtbl->get_activeElement(This,p)
#define IHTMLDocument2_get_images(This,p) (This)->lpVtbl->get_images(This,p)
#define IHTMLDocument2_get_applets(This,p) (This)->lpVtbl->get_applets(This,p)
#define IHTMLDocument2_get_links(This,p) (This)->lpVtbl->get_links(This,p)
#define IHTMLDocument2_get_forms(This,p) (This)->lpVtbl->get_forms(This,p)
#define IHTMLDocument2_get_anchors(This,p) (This)->lpVtbl->get_anchors(This,p)
#define IHTMLDocument2_put_title(This,v) (This)->lpVtbl->put_title(This,v)
#define IHTMLDocument2_get_title(This,p) (This)->lpVtbl->get_title(This,p)
#define IHTMLDocument2_get_scripts(This,p) (This)->lpVtbl->get_scripts(This,p)
#define IHTMLDocument2_put_designMode(This,v) (This)->lpVtbl->put_designMode(This,v)
#define IHTMLDocument2_get_designMode(This,p) (This)->lpVtbl->get_designMode(This,p)
#define IHTMLDocument2_get_selection(This,p) (This)->lpVtbl->get_selection(This,p)
#define IHTMLDocument2_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLDocument2_get_frames(This,p) (This)->lpVtbl->get_frames(This,p)
#define IHTMLDocument2_get_embeds(This,p) (This)->lpVtbl->get_embeds(This,p)
#define IHTMLDocument2_get_plugins(This,p) (This)->lpVtbl->get_plugins(This,p)
#define IHTMLDocument2_put_alinkColor(This,v) (This)->lpVtbl->put_alinkColor(This,v)
#define IHTMLDocument2_get_alinkColor(This,p) (This)->lpVtbl->get_alinkColor(This,p)
#define IHTMLDocument2_put_bgColor(This,v) (This)->lpVtbl->put_bgColor(This,v)
#define IHTMLDocument2_get_bgColor(This,p) (This)->lpVtbl->get_bgColor(This,p)
#define IHTMLDocument2_put_fgColor(This,v) (This)->lpVtbl->put_fgColor(This,v)
#define IHTMLDocument2_get_fgColor(This,p) (This)->lpVtbl->get_fgColor(This,p)
#define IHTMLDocument2_put_linkColor(This,v) (This)->lpVtbl->put_linkColor(This,v)
#define IHTMLDocument2_get_linkColor(This,p) (This)->lpVtbl->get_linkColor(This,p)
#define IHTMLDocument2_put_vlinkColor(This,v) (This)->lpVtbl->put_vlinkColor(This,v)
#define IHTMLDocument2_get_vlinkColor(This,p) (This)->lpVtbl->get_vlinkColor(This,p)
#define IHTMLDocument2_get_referrer(This,p) (This)->lpVtbl->get_referrer(This,p)
#define IHTMLDocument2_get_location(This,p) (This)->lpVtbl->get_location(This,p)
#define IHTMLDocument2_get_lastModified(This,p) (This)->lpVtbl->get_lastModified(This,p)
#define IHTMLDocument2_put_URL(This,v) (This)->lpVtbl->put_URL(This,v)
#define IHTMLDocument2_get_URL(This,p) (This)->lpVtbl->get_URL(This,p)
#define IHTMLDocument2_put_domain(This,v) (This)->lpVtbl->put_domain(This,v)
#define IHTMLDocument2_get_domain(This,p) (This)->lpVtbl->get_domain(This,p)
#define IHTMLDocument2_put_cookie(This,v) (This)->lpVtbl->put_cookie(This,v)
#define IHTMLDocument2_get_cookie(This,p) (This)->lpVtbl->get_cookie(This,p)
#define IHTMLDocument2_put_expando(This,v) (This)->lpVtbl->put_expando(This,v)
#define IHTMLDocument2_get_expando(This,p) (This)->lpVtbl->get_expando(This,p)
#define IHTMLDocument2_put_charset(This,v) (This)->lpVtbl->put_charset(This,v)
#define IHTMLDocument2_get_charset(This,p) (This)->lpVtbl->get_charset(This,p)
#define IHTMLDocument2_put_defaultCharset(This,v) (This)->lpVtbl->put_defaultCharset(This,v)
#define IHTMLDocument2_get_defaultCharset(This,p) (This)->lpVtbl->get_defaultCharset(This,p)
#define IHTMLDocument2_get_mimeType(This,p) (This)->lpVtbl->get_mimeType(This,p)
#define IHTMLDocument2_get_fileSize(This,p) (This)->lpVtbl->get_fileSize(This,p)
#define IHTMLDocument2_get_fileCreatedDate(This,p) (This)->lpVtbl->get_fileCreatedDate(This,p)
#define IHTMLDocument2_get_fileModifiedDate(This,p) (This)->lpVtbl->get_fileModifiedDate(This,p)
#define IHTMLDocument2_get_fileUpdatedDate(This,p) (This)->lpVtbl->get_fileUpdatedDate(This,p)
#define IHTMLDocument2_get_security(This,p) (This)->lpVtbl->get_security(This,p)
#define IHTMLDocument2_get_protocol(This,p) (This)->lpVtbl->get_protocol(This,p)
#define IHTMLDocument2_get_nameProp(This,p) (This)->lpVtbl->get_nameProp(This,p)
#define IHTMLDocument2_write(This,psarray) (This)->lpVtbl->write(This,psarray)
#define IHTMLDocument2_writeln(This,psarray) (This)->lpVtbl->writeln(This,psarray)
#define IHTMLDocument2_open(This,url,name,features,replace,pomWindowResult) (This)->lpVtbl->open(This,url,name,features,replace,pomWindowResult)
#define IHTMLDocument2_close(This) (This)->lpVtbl->close(This)
#define IHTMLDocument2_clear(This) (This)->lpVtbl->clear(This)
#define IHTMLDocument2_queryCommandSupported(This,cmdID,pfRet) (This)->lpVtbl->queryCommandSupported(This,cmdID,pfRet)
#define IHTMLDocument2_queryCommandEnabled(This,cmdID,pfRet) (This)->lpVtbl->queryCommandEnabled(This,cmdID,pfRet)
#define IHTMLDocument2_queryCommandState(This,cmdID,pfRet) (This)->lpVtbl->queryCommandState(This,cmdID,pfRet)
#define IHTMLDocument2_queryCommandIndeterm(This,cmdID,pfRet) (This)->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet)
#define IHTMLDocument2_queryCommandText(This,cmdID,pcmdText) (This)->lpVtbl->queryCommandText(This,cmdID,pcmdText)
#define IHTMLDocument2_queryCommandValue(This,cmdID,pcmdValue) (This)->lpVtbl->queryCommandValue(This,cmdID,pcmdValue)
#define IHTMLDocument2_execCommand(This,cmdID,showUI,value,pfRet) (This)->lpVtbl->execCommand(This,cmdID,showUI,value,pfRet)
#define IHTMLDocument2_execCommandShowHelp(This,cmdID,pfRet) (This)->lpVtbl->execCommandShowHelp(This,cmdID,pfRet)
#define IHTMLDocument2_createElement(This,eTag,newElem) (This)->lpVtbl->createElement(This,eTag,newElem)
#define IHTMLDocument2_put_onhelp(This,v) (This)->lpVtbl->put_onhelp(This,v)
#define IHTMLDocument2_get_onhelp(This,p) (This)->lpVtbl->get_onhelp(This,p)
#define IHTMLDocument2_put_onclick(This,v) (This)->lpVtbl->put_onclick(This,v)
#define IHTMLDocument2_get_onclick(This,p) (This)->lpVtbl->get_onclick(This,p)
#define IHTMLDocument2_put_ondblclick(This,v) (This)->lpVtbl->put_ondblclick(This,v)
#define IHTMLDocument2_get_ondblclick(This,p) (This)->lpVtbl->get_ondblclick(This,p)
#define IHTMLDocument2_put_onkeyup(This,v) (This)->lpVtbl->put_onkeyup(This,v)
#define IHTMLDocument2_get_onkeyup(This,p) (This)->lpVtbl->get_onkeyup(This,p)
#define IHTMLDocument2_put_onkeydown(This,v) (This)->lpVtbl->put_onkeydown(This,v)
#define IHTMLDocument2_get_onkeydown(This,p) (This)->lpVtbl->get_onkeydown(This,p)
#define IHTMLDocument2_put_onkeypress(This,v) (This)->lpVtbl->put_onkeypress(This,v)
#define IHTMLDocument2_get_onkeypress(This,p) (This)->lpVtbl->get_onkeypress(This,p)
#define IHTMLDocument2_put_onmouseup(This,v) (This)->lpVtbl->put_onmouseup(This,v)
#define IHTMLDocument2_get_onmouseup(This,p) (This)->lpVtbl->get_onmouseup(This,p)
#define IHTMLDocument2_put_onmousedown(This,v) (This)->lpVtbl->put_onmousedown(This,v)
#define IHTMLDocument2_get_onmousedown(This,p) (This)->lpVtbl->get_onmousedown(This,p)
#define IHTMLDocument2_put_onmousemove(This,v) (This)->lpVtbl->put_onmousemove(This,v)
#define IHTMLDocument2_get_onmousemove(This,p) (This)->lpVtbl->get_onmousemove(This,p)
#define IHTMLDocument2_put_onmouseout(This,v) (This)->lpVtbl->put_onmouseout(This,v)
#define IHTMLDocument2_get_onmouseout(This,p) (This)->lpVtbl->get_onmouseout(This,p)
#define IHTMLDocument2_put_onmouseover(This,v) (This)->lpVtbl->put_onmouseover(This,v)
#define IHTMLDocument2_get_onmouseover(This,p) (This)->lpVtbl->get_onmouseover(This,p)
#define IHTMLDocument2_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLDocument2_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLDocument2_put_onafterupdate(This,v) (This)->lpVtbl->put_onafterupdate(This,v)
#define IHTMLDocument2_get_onafterupdate(This,p) (This)->lpVtbl->get_onafterupdate(This,p)
#define IHTMLDocument2_put_onrowexit(This,v) (This)->lpVtbl->put_onrowexit(This,v)
#define IHTMLDocument2_get_onrowexit(This,p) (This)->lpVtbl->get_onrowexit(This,p)
#define IHTMLDocument2_put_onrowenter(This,v) (This)->lpVtbl->put_onrowenter(This,v)
#define IHTMLDocument2_get_onrowenter(This,p) (This)->lpVtbl->get_onrowenter(This,p)
#define IHTMLDocument2_put_ondragstart(This,v) (This)->lpVtbl->put_ondragstart(This,v)
#define IHTMLDocument2_get_ondragstart(This,p) (This)->lpVtbl->get_ondragstart(This,p)
#define IHTMLDocument2_put_onselectstart(This,v) (This)->lpVtbl->put_onselectstart(This,v)
#define IHTMLDocument2_get_onselectstart(This,p) (This)->lpVtbl->get_onselectstart(This,p)
#define IHTMLDocument2_elementFromPoint(This,x,y,elementHit) (This)->lpVtbl->elementFromPoint(This,x,y,elementHit)
#define IHTMLDocument2_get_parentWindow(This,p) (This)->lpVtbl->get_parentWindow(This,p)
#define IHTMLDocument2_get_styleSheets(This,p) (This)->lpVtbl->get_styleSheets(This,p)
#define IHTMLDocument2_put_onbeforeupdate(This,v) (This)->lpVtbl->put_onbeforeupdate(This,v)
#define IHTMLDocument2_get_onbeforeupdate(This,p) (This)->lpVtbl->get_onbeforeupdate(This,p)
#define IHTMLDocument2_put_onerrorupdate(This,v) (This)->lpVtbl->put_onerrorupdate(This,v)
#define IHTMLDocument2_get_onerrorupdate(This,p) (This)->lpVtbl->get_onerrorupdate(This,p)
#define IHTMLDocument2_toString(This,String) (This)->lpVtbl->toString(This,String)
#define IHTMLDocument2_createStyleSheet(This,bstrHref,lIndex,ppnewStyleSheet) (This)->lpVtbl->createStyleSheet(This,bstrHref,lIndex,ppnewStyleSheet)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument2_QueryInterface(IHTMLDocument2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument2_AddRef(IHTMLDocument2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument2_Release(IHTMLDocument2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument2_GetTypeInfoCount(IHTMLDocument2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument2_GetTypeInfo(IHTMLDocument2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument2_GetIDsOfNames(IHTMLDocument2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument2_Invoke(IHTMLDocument2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument methods ***/
static inline HRESULT IHTMLDocument2_get_Script(IHTMLDocument2* This,IDispatch **p) {
    return This->lpVtbl->get_Script(This,p);
}
/*** IHTMLDocument2 methods ***/
static inline HRESULT IHTMLDocument2_get_all(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_all(This,p);
}
static inline HRESULT IHTMLDocument2_get_body(IHTMLDocument2* This,IHTMLElement **p) {
    return This->lpVtbl->get_body(This,p);
}
static inline HRESULT IHTMLDocument2_get_activeElement(IHTMLDocument2* This,IHTMLElement **p) {
    return This->lpVtbl->get_activeElement(This,p);
}
static inline HRESULT IHTMLDocument2_get_images(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_images(This,p);
}
static inline HRESULT IHTMLDocument2_get_applets(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_applets(This,p);
}
static inline HRESULT IHTMLDocument2_get_links(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_links(This,p);
}
static inline HRESULT IHTMLDocument2_get_forms(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_forms(This,p);
}
static inline HRESULT IHTMLDocument2_get_anchors(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_anchors(This,p);
}
static inline HRESULT IHTMLDocument2_put_title(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_title(This,v);
}
static inline HRESULT IHTMLDocument2_get_title(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_title(This,p);
}
static inline HRESULT IHTMLDocument2_get_scripts(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_scripts(This,p);
}
static inline HRESULT IHTMLDocument2_put_designMode(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_designMode(This,v);
}
static inline HRESULT IHTMLDocument2_get_designMode(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_designMode(This,p);
}
static inline HRESULT IHTMLDocument2_get_selection(IHTMLDocument2* This,IHTMLSelectionObject **p) {
    return This->lpVtbl->get_selection(This,p);
}
static inline HRESULT IHTMLDocument2_get_readyState(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLDocument2_get_frames(IHTMLDocument2* This,IHTMLFramesCollection2 **p) {
    return This->lpVtbl->get_frames(This,p);
}
static inline HRESULT IHTMLDocument2_get_embeds(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_embeds(This,p);
}
static inline HRESULT IHTMLDocument2_get_plugins(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_plugins(This,p);
}
static inline HRESULT IHTMLDocument2_put_alinkColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_alinkColor(This,v);
}
static inline HRESULT IHTMLDocument2_get_alinkColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_alinkColor(This,p);
}
static inline HRESULT IHTMLDocument2_put_bgColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static inline HRESULT IHTMLDocument2_get_bgColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static inline HRESULT IHTMLDocument2_put_fgColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_fgColor(This,v);
}
static inline HRESULT IHTMLDocument2_get_fgColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_fgColor(This,p);
}
static inline HRESULT IHTMLDocument2_put_linkColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_linkColor(This,v);
}
static inline HRESULT IHTMLDocument2_get_linkColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_linkColor(This,p);
}
static inline HRESULT IHTMLDocument2_put_vlinkColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_vlinkColor(This,v);
}
static inline HRESULT IHTMLDocument2_get_vlinkColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_vlinkColor(This,p);
}
static inline HRESULT IHTMLDocument2_get_referrer(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_referrer(This,p);
}
static inline HRESULT IHTMLDocument2_get_location(IHTMLDocument2* This,IHTMLLocation **p) {
    return This->lpVtbl->get_location(This,p);
}
static inline HRESULT IHTMLDocument2_get_lastModified(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_lastModified(This,p);
}
static inline HRESULT IHTMLDocument2_put_URL(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_URL(This,v);
}
static inline HRESULT IHTMLDocument2_get_URL(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_URL(This,p);
}
static inline HRESULT IHTMLDocument2_put_domain(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_domain(This,v);
}
static inline HRESULT IHTMLDocument2_get_domain(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_domain(This,p);
}
static inline HRESULT IHTMLDocument2_put_cookie(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_cookie(This,v);
}
static inline HRESULT IHTMLDocument2_get_cookie(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_cookie(This,p);
}
static inline HRESULT IHTMLDocument2_put_expando(IHTMLDocument2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_expando(This,v);
}
static inline HRESULT IHTMLDocument2_get_expando(IHTMLDocument2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_expando(This,p);
}
static inline HRESULT IHTMLDocument2_put_charset(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static inline HRESULT IHTMLDocument2_get_charset(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
static inline HRESULT IHTMLDocument2_put_defaultCharset(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_defaultCharset(This,v);
}
static inline HRESULT IHTMLDocument2_get_defaultCharset(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_defaultCharset(This,p);
}
static inline HRESULT IHTMLDocument2_get_mimeType(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_mimeType(This,p);
}
static inline HRESULT IHTMLDocument2_get_fileSize(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileSize(This,p);
}
static inline HRESULT IHTMLDocument2_get_fileCreatedDate(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileCreatedDate(This,p);
}
static inline HRESULT IHTMLDocument2_get_fileModifiedDate(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileModifiedDate(This,p);
}
static inline HRESULT IHTMLDocument2_get_fileUpdatedDate(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileUpdatedDate(This,p);
}
static inline HRESULT IHTMLDocument2_get_security(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_security(This,p);
}
static inline HRESULT IHTMLDocument2_get_protocol(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static inline HRESULT IHTMLDocument2_get_nameProp(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_nameProp(This,p);
}
static inline HRESULT IHTMLDocument2_write(IHTMLDocument2* This,SAFEARRAY *psarray) {
    return This->lpVtbl->write(This,psarray);
}
static inline HRESULT IHTMLDocument2_writeln(IHTMLDocument2* This,SAFEARRAY *psarray) {
    return This->lpVtbl->writeln(This,psarray);
}
static inline HRESULT IHTMLDocument2_open(IHTMLDocument2* This,BSTR url,VARIANT name,VARIANT features,VARIANT replace,IDispatch **pomWindowResult) {
    return This->lpVtbl->open(This,url,name,features,replace,pomWindowResult);
}
static inline HRESULT IHTMLDocument2_close(IHTMLDocument2* This) {
    return This->lpVtbl->close(This);
}
static inline HRESULT IHTMLDocument2_clear(IHTMLDocument2* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT IHTMLDocument2_queryCommandSupported(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandSupported(This,cmdID,pfRet);
}
static inline HRESULT IHTMLDocument2_queryCommandEnabled(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandEnabled(This,cmdID,pfRet);
}
static inline HRESULT IHTMLDocument2_queryCommandState(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandState(This,cmdID,pfRet);
}
static inline HRESULT IHTMLDocument2_queryCommandIndeterm(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet);
}
static inline HRESULT IHTMLDocument2_queryCommandText(IHTMLDocument2* This,BSTR cmdID,BSTR *pcmdText) {
    return This->lpVtbl->queryCommandText(This,cmdID,pcmdText);
}
static inline HRESULT IHTMLDocument2_queryCommandValue(IHTMLDocument2* This,BSTR cmdID,VARIANT *pcmdValue) {
    return This->lpVtbl->queryCommandValue(This,cmdID,pcmdValue);
}
static inline HRESULT IHTMLDocument2_execCommand(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL showUI,VARIANT value,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommand(This,cmdID,showUI,value,pfRet);
}
static inline HRESULT IHTMLDocument2_execCommandShowHelp(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommandShowHelp(This,cmdID,pfRet);
}
static inline HRESULT IHTMLDocument2_createElement(IHTMLDocument2* This,BSTR eTag,IHTMLElement **newElem) {
    return This->lpVtbl->createElement(This,eTag,newElem);
}
static inline HRESULT IHTMLDocument2_put_onhelp(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onhelp(This,v);
}
static inline HRESULT IHTMLDocument2_get_onhelp(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onhelp(This,p);
}
static inline HRESULT IHTMLDocument2_put_onclick(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onclick(This,v);
}
static inline HRESULT IHTMLDocument2_get_onclick(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onclick(This,p);
}
static inline HRESULT IHTMLDocument2_put_ondblclick(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_ondblclick(This,v);
}
static inline HRESULT IHTMLDocument2_get_ondblclick(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_ondblclick(This,p);
}
static inline HRESULT IHTMLDocument2_put_onkeyup(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onkeyup(This,v);
}
static inline HRESULT IHTMLDocument2_get_onkeyup(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onkeyup(This,p);
}
static inline HRESULT IHTMLDocument2_put_onkeydown(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onkeydown(This,v);
}
static inline HRESULT IHTMLDocument2_get_onkeydown(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onkeydown(This,p);
}
static inline HRESULT IHTMLDocument2_put_onkeypress(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onkeypress(This,v);
}
static inline HRESULT IHTMLDocument2_get_onkeypress(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onkeypress(This,p);
}
static inline HRESULT IHTMLDocument2_put_onmouseup(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmouseup(This,v);
}
static inline HRESULT IHTMLDocument2_get_onmouseup(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseup(This,p);
}
static inline HRESULT IHTMLDocument2_put_onmousedown(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmousedown(This,v);
}
static inline HRESULT IHTMLDocument2_get_onmousedown(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmousedown(This,p);
}
static inline HRESULT IHTMLDocument2_put_onmousemove(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmousemove(This,v);
}
static inline HRESULT IHTMLDocument2_get_onmousemove(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmousemove(This,p);
}
static inline HRESULT IHTMLDocument2_put_onmouseout(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmouseout(This,v);
}
static inline HRESULT IHTMLDocument2_get_onmouseout(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseout(This,p);
}
static inline HRESULT IHTMLDocument2_put_onmouseover(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmouseover(This,v);
}
static inline HRESULT IHTMLDocument2_get_onmouseover(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseover(This,p);
}
static inline HRESULT IHTMLDocument2_put_onreadystatechange(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLDocument2_get_onreadystatechange(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLDocument2_put_onafterupdate(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onafterupdate(This,v);
}
static inline HRESULT IHTMLDocument2_get_onafterupdate(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onafterupdate(This,p);
}
static inline HRESULT IHTMLDocument2_put_onrowexit(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onrowexit(This,v);
}
static inline HRESULT IHTMLDocument2_get_onrowexit(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowexit(This,p);
}
static inline HRESULT IHTMLDocument2_put_onrowenter(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onrowenter(This,v);
}
static inline HRESULT IHTMLDocument2_get_onrowenter(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowenter(This,p);
}
static inline HRESULT IHTMLDocument2_put_ondragstart(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_ondragstart(This,v);
}
static inline HRESULT IHTMLDocument2_get_ondragstart(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragstart(This,p);
}
static inline HRESULT IHTMLDocument2_put_onselectstart(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onselectstart(This,v);
}
static inline HRESULT IHTMLDocument2_get_onselectstart(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onselectstart(This,p);
}
static inline HRESULT IHTMLDocument2_elementFromPoint(IHTMLDocument2* This,LONG x,LONG y,IHTMLElement **elementHit) {
    return This->lpVtbl->elementFromPoint(This,x,y,elementHit);
}
static inline HRESULT IHTMLDocument2_get_parentWindow(IHTMLDocument2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_parentWindow(This,p);
}
static inline HRESULT IHTMLDocument2_get_styleSheets(IHTMLDocument2* This,IHTMLStyleSheetsCollection **p) {
    return This->lpVtbl->get_styleSheets(This,p);
}
static inline HRESULT IHTMLDocument2_put_onbeforeupdate(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeupdate(This,v);
}
static inline HRESULT IHTMLDocument2_get_onbeforeupdate(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeupdate(This,p);
}
static inline HRESULT IHTMLDocument2_put_onerrorupdate(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onerrorupdate(This,v);
}
static inline HRESULT IHTMLDocument2_get_onerrorupdate(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onerrorupdate(This,p);
}
static inline HRESULT IHTMLDocument2_toString(IHTMLDocument2* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static inline HRESULT IHTMLDocument2_createStyleSheet(IHTMLDocument2* This,BSTR bstrHref,LONG lIndex,IHTMLStyleSheet **ppnewStyleSheet) {
    return This->lpVtbl->createStyleSheet(This,bstrHref,lIndex,ppnewStyleSheet);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocument3 interface
 */
#ifndef __IHTMLDocument3_INTERFACE_DEFINED__
#define __IHTMLDocument3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument3, 0x3050f485, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f485-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocument3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE releaseCapture(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE recalc(
        VARIANT_BOOL fForce = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTextNode(
        BSTR text,
        IHTMLDOMNode **newTextNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_documentElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_uniqueID(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE attachEvent(
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE detachEvent(
        BSTR event,
        IDispatch *pDisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowsdelete(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowsdelete(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onrowsinserted(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onrowsinserted(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncellchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncellchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondatasetchanged(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondatasetchanged(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondataavailable(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondataavailable(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondatasetcomplete(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondatasetcomplete(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpropertychange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpropertychange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dir(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dir(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncontextmenu(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncontextmenu(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(
        IHTMLDocument2 **pNewDoc) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentDocument(
        IHTMLDocument2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_enableDownload(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_enableDownload(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_baseUrl(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseUrl(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_childNodes(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_inheritStyleSheets(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_inheritStyleSheets(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeeditfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeeditfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementsByName(
        BSTR v,
        IHTMLElementCollection **pelColl) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementById(
        BSTR v,
        IHTMLElement **pel) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
        BSTR v,
        IHTMLElementCollection **pelColl) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument3, 0x3050f485, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocument3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument3 methods ***/
    HRESULT (STDMETHODCALLTYPE *releaseCapture)(
        IHTMLDocument3 *This);

    HRESULT (STDMETHODCALLTYPE *recalc)(
        IHTMLDocument3 *This,
        VARIANT_BOOL fForce);

    HRESULT (STDMETHODCALLTYPE *createTextNode)(
        IHTMLDocument3 *This,
        BSTR text,
        IHTMLDOMNode **newTextNode);

    HRESULT (STDMETHODCALLTYPE *get_documentElement)(
        IHTMLDocument3 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_uniqueID)(
        IHTMLDocument3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *attachEvent)(
        IHTMLDocument3 *This,
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *detachEvent)(
        IHTMLDocument3 *This,
        BSTR event,
        IDispatch *pDisp);

    HRESULT (STDMETHODCALLTYPE *put_onrowsdelete)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowsdelete)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onrowsinserted)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onrowsinserted)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncellchange)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncellchange)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondatasetchanged)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondatasetchanged)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondataavailable)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondataavailable)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondatasetcomplete)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondatasetcomplete)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onpropertychange)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpropertychange)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_dir)(
        IHTMLDocument3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dir)(
        IHTMLDocument3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_oncontextmenu)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncontextmenu)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstop)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstop)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *createDocumentFragment)(
        IHTMLDocument3 *This,
        IHTMLDocument2 **pNewDoc);

    HRESULT (STDMETHODCALLTYPE *get_parentDocument)(
        IHTMLDocument3 *This,
        IHTMLDocument2 **p);

    HRESULT (STDMETHODCALLTYPE *put_enableDownload)(
        IHTMLDocument3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_enableDownload)(
        IHTMLDocument3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_baseUrl)(
        IHTMLDocument3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_baseUrl)(
        IHTMLDocument3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_childNodes)(
        IHTMLDocument3 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_inheritStyleSheets)(
        IHTMLDocument3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_inheritStyleSheets)(
        IHTMLDocument3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeeditfocus)(
        IHTMLDocument3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeeditfocus)(
        IHTMLDocument3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *getElementsByName)(
        IHTMLDocument3 *This,
        BSTR v,
        IHTMLElementCollection **pelColl);

    HRESULT (STDMETHODCALLTYPE *getElementById)(
        IHTMLDocument3 *This,
        BSTR v,
        IHTMLElement **pel);

    HRESULT (STDMETHODCALLTYPE *getElementsByTagName)(
        IHTMLDocument3 *This,
        BSTR v,
        IHTMLElementCollection **pelColl);

    END_INTERFACE
} IHTMLDocument3Vtbl;

interface IHTMLDocument3 {
    CONST_VTBL IHTMLDocument3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument3 methods ***/
#define IHTMLDocument3_releaseCapture(This) (This)->lpVtbl->releaseCapture(This)
#define IHTMLDocument3_recalc(This,fForce) (This)->lpVtbl->recalc(This,fForce)
#define IHTMLDocument3_createTextNode(This,text,newTextNode) (This)->lpVtbl->createTextNode(This,text,newTextNode)
#define IHTMLDocument3_get_documentElement(This,p) (This)->lpVtbl->get_documentElement(This,p)
#define IHTMLDocument3_get_uniqueID(This,p) (This)->lpVtbl->get_uniqueID(This,p)
#define IHTMLDocument3_attachEvent(This,event,pDisp,pfResult) (This)->lpVtbl->attachEvent(This,event,pDisp,pfResult)
#define IHTMLDocument3_detachEvent(This,event,pDisp) (This)->lpVtbl->detachEvent(This,event,pDisp)
#define IHTMLDocument3_put_onrowsdelete(This,v) (This)->lpVtbl->put_onrowsdelete(This,v)
#define IHTMLDocument3_get_onrowsdelete(This,p) (This)->lpVtbl->get_onrowsdelete(This,p)
#define IHTMLDocument3_put_onrowsinserted(This,v) (This)->lpVtbl->put_onrowsinserted(This,v)
#define IHTMLDocument3_get_onrowsinserted(This,p) (This)->lpVtbl->get_onrowsinserted(This,p)
#define IHTMLDocument3_put_oncellchange(This,v) (This)->lpVtbl->put_oncellchange(This,v)
#define IHTMLDocument3_get_oncellchange(This,p) (This)->lpVtbl->get_oncellchange(This,p)
#define IHTMLDocument3_put_ondatasetchanged(This,v) (This)->lpVtbl->put_ondatasetchanged(This,v)
#define IHTMLDocument3_get_ondatasetchanged(This,p) (This)->lpVtbl->get_ondatasetchanged(This,p)
#define IHTMLDocument3_put_ondataavailable(This,v) (This)->lpVtbl->put_ondataavailable(This,v)
#define IHTMLDocument3_get_ondataavailable(This,p) (This)->lpVtbl->get_ondataavailable(This,p)
#define IHTMLDocument3_put_ondatasetcomplete(This,v) (This)->lpVtbl->put_ondatasetcomplete(This,v)
#define IHTMLDocument3_get_ondatasetcomplete(This,p) (This)->lpVtbl->get_ondatasetcomplete(This,p)
#define IHTMLDocument3_put_onpropertychange(This,v) (This)->lpVtbl->put_onpropertychange(This,v)
#define IHTMLDocument3_get_onpropertychange(This,p) (This)->lpVtbl->get_onpropertychange(This,p)
#define IHTMLDocument3_put_dir(This,v) (This)->lpVtbl->put_dir(This,v)
#define IHTMLDocument3_get_dir(This,p) (This)->lpVtbl->get_dir(This,p)
#define IHTMLDocument3_put_oncontextmenu(This,v) (This)->lpVtbl->put_oncontextmenu(This,v)
#define IHTMLDocument3_get_oncontextmenu(This,p) (This)->lpVtbl->get_oncontextmenu(This,p)
#define IHTMLDocument3_put_onstop(This,v) (This)->lpVtbl->put_onstop(This,v)
#define IHTMLDocument3_get_onstop(This,p) (This)->lpVtbl->get_onstop(This,p)
#define IHTMLDocument3_createDocumentFragment(This,pNewDoc) (This)->lpVtbl->createDocumentFragment(This,pNewDoc)
#define IHTMLDocument3_get_parentDocument(This,p) (This)->lpVtbl->get_parentDocument(This,p)
#define IHTMLDocument3_put_enableDownload(This,v) (This)->lpVtbl->put_enableDownload(This,v)
#define IHTMLDocument3_get_enableDownload(This,p) (This)->lpVtbl->get_enableDownload(This,p)
#define IHTMLDocument3_put_baseUrl(This,v) (This)->lpVtbl->put_baseUrl(This,v)
#define IHTMLDocument3_get_baseUrl(This,p) (This)->lpVtbl->get_baseUrl(This,p)
#define IHTMLDocument3_get_childNodes(This,p) (This)->lpVtbl->get_childNodes(This,p)
#define IHTMLDocument3_put_inheritStyleSheets(This,v) (This)->lpVtbl->put_inheritStyleSheets(This,v)
#define IHTMLDocument3_get_inheritStyleSheets(This,p) (This)->lpVtbl->get_inheritStyleSheets(This,p)
#define IHTMLDocument3_put_onbeforeeditfocus(This,v) (This)->lpVtbl->put_onbeforeeditfocus(This,v)
#define IHTMLDocument3_get_onbeforeeditfocus(This,p) (This)->lpVtbl->get_onbeforeeditfocus(This,p)
#define IHTMLDocument3_getElementsByName(This,v,pelColl) (This)->lpVtbl->getElementsByName(This,v,pelColl)
#define IHTMLDocument3_getElementById(This,v,pel) (This)->lpVtbl->getElementById(This,v,pel)
#define IHTMLDocument3_getElementsByTagName(This,v,pelColl) (This)->lpVtbl->getElementsByTagName(This,v,pelColl)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument3_QueryInterface(IHTMLDocument3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument3_AddRef(IHTMLDocument3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument3_Release(IHTMLDocument3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument3_GetTypeInfoCount(IHTMLDocument3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument3_GetTypeInfo(IHTMLDocument3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument3_GetIDsOfNames(IHTMLDocument3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument3_Invoke(IHTMLDocument3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument3 methods ***/
static inline HRESULT IHTMLDocument3_releaseCapture(IHTMLDocument3* This) {
    return This->lpVtbl->releaseCapture(This);
}
static inline HRESULT IHTMLDocument3_recalc(IHTMLDocument3* This,VARIANT_BOOL fForce) {
    return This->lpVtbl->recalc(This,fForce);
}
static inline HRESULT IHTMLDocument3_createTextNode(IHTMLDocument3* This,BSTR text,IHTMLDOMNode **newTextNode) {
    return This->lpVtbl->createTextNode(This,text,newTextNode);
}
static inline HRESULT IHTMLDocument3_get_documentElement(IHTMLDocument3* This,IHTMLElement **p) {
    return This->lpVtbl->get_documentElement(This,p);
}
static inline HRESULT IHTMLDocument3_get_uniqueID(IHTMLDocument3* This,BSTR *p) {
    return This->lpVtbl->get_uniqueID(This,p);
}
static inline HRESULT IHTMLDocument3_attachEvent(IHTMLDocument3* This,BSTR event,IDispatch *pDisp,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->attachEvent(This,event,pDisp,pfResult);
}
static inline HRESULT IHTMLDocument3_detachEvent(IHTMLDocument3* This,BSTR event,IDispatch *pDisp) {
    return This->lpVtbl->detachEvent(This,event,pDisp);
}
static inline HRESULT IHTMLDocument3_put_onrowsdelete(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onrowsdelete(This,v);
}
static inline HRESULT IHTMLDocument3_get_onrowsdelete(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsdelete(This,p);
}
static inline HRESULT IHTMLDocument3_put_onrowsinserted(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onrowsinserted(This,v);
}
static inline HRESULT IHTMLDocument3_get_onrowsinserted(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsinserted(This,p);
}
static inline HRESULT IHTMLDocument3_put_oncellchange(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_oncellchange(This,v);
}
static inline HRESULT IHTMLDocument3_get_oncellchange(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_oncellchange(This,p);
}
static inline HRESULT IHTMLDocument3_put_ondatasetchanged(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetchanged(This,v);
}
static inline HRESULT IHTMLDocument3_get_ondatasetchanged(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetchanged(This,p);
}
static inline HRESULT IHTMLDocument3_put_ondataavailable(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_ondataavailable(This,v);
}
static inline HRESULT IHTMLDocument3_get_ondataavailable(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_ondataavailable(This,p);
}
static inline HRESULT IHTMLDocument3_put_ondatasetcomplete(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetcomplete(This,v);
}
static inline HRESULT IHTMLDocument3_get_ondatasetcomplete(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetcomplete(This,p);
}
static inline HRESULT IHTMLDocument3_put_onpropertychange(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onpropertychange(This,v);
}
static inline HRESULT IHTMLDocument3_get_onpropertychange(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onpropertychange(This,p);
}
static inline HRESULT IHTMLDocument3_put_dir(IHTMLDocument3* This,BSTR v) {
    return This->lpVtbl->put_dir(This,v);
}
static inline HRESULT IHTMLDocument3_get_dir(IHTMLDocument3* This,BSTR *p) {
    return This->lpVtbl->get_dir(This,p);
}
static inline HRESULT IHTMLDocument3_put_oncontextmenu(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_oncontextmenu(This,v);
}
static inline HRESULT IHTMLDocument3_get_oncontextmenu(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_oncontextmenu(This,p);
}
static inline HRESULT IHTMLDocument3_put_onstop(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onstop(This,v);
}
static inline HRESULT IHTMLDocument3_get_onstop(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onstop(This,p);
}
static inline HRESULT IHTMLDocument3_createDocumentFragment(IHTMLDocument3* This,IHTMLDocument2 **pNewDoc) {
    return This->lpVtbl->createDocumentFragment(This,pNewDoc);
}
static inline HRESULT IHTMLDocument3_get_parentDocument(IHTMLDocument3* This,IHTMLDocument2 **p) {
    return This->lpVtbl->get_parentDocument(This,p);
}
static inline HRESULT IHTMLDocument3_put_enableDownload(IHTMLDocument3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_enableDownload(This,v);
}
static inline HRESULT IHTMLDocument3_get_enableDownload(IHTMLDocument3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_enableDownload(This,p);
}
static inline HRESULT IHTMLDocument3_put_baseUrl(IHTMLDocument3* This,BSTR v) {
    return This->lpVtbl->put_baseUrl(This,v);
}
static inline HRESULT IHTMLDocument3_get_baseUrl(IHTMLDocument3* This,BSTR *p) {
    return This->lpVtbl->get_baseUrl(This,p);
}
static inline HRESULT IHTMLDocument3_get_childNodes(IHTMLDocument3* This,IDispatch **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static inline HRESULT IHTMLDocument3_put_inheritStyleSheets(IHTMLDocument3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_inheritStyleSheets(This,v);
}
static inline HRESULT IHTMLDocument3_get_inheritStyleSheets(IHTMLDocument3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_inheritStyleSheets(This,p);
}
static inline HRESULT IHTMLDocument3_put_onbeforeeditfocus(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeeditfocus(This,v);
}
static inline HRESULT IHTMLDocument3_get_onbeforeeditfocus(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeeditfocus(This,p);
}
static inline HRESULT IHTMLDocument3_getElementsByName(IHTMLDocument3* This,BSTR v,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByName(This,v,pelColl);
}
static inline HRESULT IHTMLDocument3_getElementById(IHTMLDocument3* This,BSTR v,IHTMLElement **pel) {
    return This->lpVtbl->getElementById(This,v,pel);
}
static inline HRESULT IHTMLDocument3_getElementsByTagName(IHTMLDocument3* This,BSTR v,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByTagName(This,v,pelColl);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocument4 interface
 */
#ifndef __IHTMLDocument4_INTERFACE_DEFINED__
#define __IHTMLDocument4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument4, 0x3050f69a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f69a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocument4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE focus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasFocus(
        VARIANT_BOOL *pfFocus) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselectionchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselectionchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_namespaces(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createDocumentFromUrl(
        BSTR bstrUrl,
        BSTR bstrOptions,
        IHTMLDocument2 **newDoc) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createEventObject(
        VARIANT *pvarEventObject,
        IHTMLEventObj **ppEventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE fireEvent(
        BSTR bstrEventName,
        VARIANT *pvarEventObject,
        VARIANT_BOOL *pfCancelled) = 0;

    virtual HRESULT STDMETHODCALLTYPE createRenderStyle(
        BSTR v,
        IHTMLRenderStyle **ppIHTMLRenderStyle) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncontrolselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncontrolselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_URLUnencoded(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument4, 0x3050f69a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocument4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument4 methods ***/
    HRESULT (STDMETHODCALLTYPE *focus)(
        IHTMLDocument4 *This);

    HRESULT (STDMETHODCALLTYPE *hasFocus)(
        IHTMLDocument4 *This,
        VARIANT_BOOL *pfFocus);

    HRESULT (STDMETHODCALLTYPE *put_onselectionchange)(
        IHTMLDocument4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselectionchange)(
        IHTMLDocument4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_namespaces)(
        IHTMLDocument4 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *createDocumentFromUrl)(
        IHTMLDocument4 *This,
        BSTR bstrUrl,
        BSTR bstrOptions,
        IHTMLDocument2 **newDoc);

    HRESULT (STDMETHODCALLTYPE *put_media)(
        IHTMLDocument4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLDocument4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *createEventObject)(
        IHTMLDocument4 *This,
        VARIANT *pvarEventObject,
        IHTMLEventObj **ppEventObj);

    HRESULT (STDMETHODCALLTYPE *fireEvent)(
        IHTMLDocument4 *This,
        BSTR bstrEventName,
        VARIANT *pvarEventObject,
        VARIANT_BOOL *pfCancelled);

    HRESULT (STDMETHODCALLTYPE *createRenderStyle)(
        IHTMLDocument4 *This,
        BSTR v,
        IHTMLRenderStyle **ppIHTMLRenderStyle);

    HRESULT (STDMETHODCALLTYPE *put_oncontrolselect)(
        IHTMLDocument4 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncontrolselect)(
        IHTMLDocument4 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_URLUnencoded)(
        IHTMLDocument4 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDocument4Vtbl;

interface IHTMLDocument4 {
    CONST_VTBL IHTMLDocument4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument4 methods ***/
#define IHTMLDocument4_focus(This) (This)->lpVtbl->focus(This)
#define IHTMLDocument4_hasFocus(This,pfFocus) (This)->lpVtbl->hasFocus(This,pfFocus)
#define IHTMLDocument4_put_onselectionchange(This,v) (This)->lpVtbl->put_onselectionchange(This,v)
#define IHTMLDocument4_get_onselectionchange(This,p) (This)->lpVtbl->get_onselectionchange(This,p)
#define IHTMLDocument4_get_namespaces(This,p) (This)->lpVtbl->get_namespaces(This,p)
#define IHTMLDocument4_createDocumentFromUrl(This,bstrUrl,bstrOptions,newDoc) (This)->lpVtbl->createDocumentFromUrl(This,bstrUrl,bstrOptions,newDoc)
#define IHTMLDocument4_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define IHTMLDocument4_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#define IHTMLDocument4_createEventObject(This,pvarEventObject,ppEventObj) (This)->lpVtbl->createEventObject(This,pvarEventObject,ppEventObj)
#define IHTMLDocument4_fireEvent(This,bstrEventName,pvarEventObject,pfCancelled) (This)->lpVtbl->fireEvent(This,bstrEventName,pvarEventObject,pfCancelled)
#define IHTMLDocument4_createRenderStyle(This,v,ppIHTMLRenderStyle) (This)->lpVtbl->createRenderStyle(This,v,ppIHTMLRenderStyle)
#define IHTMLDocument4_put_oncontrolselect(This,v) (This)->lpVtbl->put_oncontrolselect(This,v)
#define IHTMLDocument4_get_oncontrolselect(This,p) (This)->lpVtbl->get_oncontrolselect(This,p)
#define IHTMLDocument4_get_URLUnencoded(This,p) (This)->lpVtbl->get_URLUnencoded(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument4_QueryInterface(IHTMLDocument4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument4_AddRef(IHTMLDocument4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument4_Release(IHTMLDocument4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument4_GetTypeInfoCount(IHTMLDocument4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument4_GetTypeInfo(IHTMLDocument4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument4_GetIDsOfNames(IHTMLDocument4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument4_Invoke(IHTMLDocument4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument4 methods ***/
static inline HRESULT IHTMLDocument4_focus(IHTMLDocument4* This) {
    return This->lpVtbl->focus(This);
}
static inline HRESULT IHTMLDocument4_hasFocus(IHTMLDocument4* This,VARIANT_BOOL *pfFocus) {
    return This->lpVtbl->hasFocus(This,pfFocus);
}
static inline HRESULT IHTMLDocument4_put_onselectionchange(IHTMLDocument4* This,VARIANT v) {
    return This->lpVtbl->put_onselectionchange(This,v);
}
static inline HRESULT IHTMLDocument4_get_onselectionchange(IHTMLDocument4* This,VARIANT *p) {
    return This->lpVtbl->get_onselectionchange(This,p);
}
static inline HRESULT IHTMLDocument4_get_namespaces(IHTMLDocument4* This,IDispatch **p) {
    return This->lpVtbl->get_namespaces(This,p);
}
static inline HRESULT IHTMLDocument4_createDocumentFromUrl(IHTMLDocument4* This,BSTR bstrUrl,BSTR bstrOptions,IHTMLDocument2 **newDoc) {
    return This->lpVtbl->createDocumentFromUrl(This,bstrUrl,bstrOptions,newDoc);
}
static inline HRESULT IHTMLDocument4_put_media(IHTMLDocument4* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT IHTMLDocument4_get_media(IHTMLDocument4* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
static inline HRESULT IHTMLDocument4_createEventObject(IHTMLDocument4* This,VARIANT *pvarEventObject,IHTMLEventObj **ppEventObj) {
    return This->lpVtbl->createEventObject(This,pvarEventObject,ppEventObj);
}
static inline HRESULT IHTMLDocument4_fireEvent(IHTMLDocument4* This,BSTR bstrEventName,VARIANT *pvarEventObject,VARIANT_BOOL *pfCancelled) {
    return This->lpVtbl->fireEvent(This,bstrEventName,pvarEventObject,pfCancelled);
}
static inline HRESULT IHTMLDocument4_createRenderStyle(IHTMLDocument4* This,BSTR v,IHTMLRenderStyle **ppIHTMLRenderStyle) {
    return This->lpVtbl->createRenderStyle(This,v,ppIHTMLRenderStyle);
}
static inline HRESULT IHTMLDocument4_put_oncontrolselect(IHTMLDocument4* This,VARIANT v) {
    return This->lpVtbl->put_oncontrolselect(This,v);
}
static inline HRESULT IHTMLDocument4_get_oncontrolselect(IHTMLDocument4* This,VARIANT *p) {
    return This->lpVtbl->get_oncontrolselect(This,p);
}
static inline HRESULT IHTMLDocument4_get_URLUnencoded(IHTMLDocument4* This,BSTR *p) {
    return This->lpVtbl->get_URLUnencoded(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocument5 interface
 */
#ifndef __IHTMLDocument5_INTERFACE_DEFINED__
#define __IHTMLDocument5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument5, 0x3050f80c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f80c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocument5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onmousewheel(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmousewheel(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_doctype(
        IHTMLDOMNode **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_implementation(
        IHTMLDOMImplementation **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createAttribute(
        BSTR bstrattrName,
        IHTMLDOMAttribute **ppattribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE createComment(
        BSTR bstrdata,
        IHTMLDOMNode **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocusin(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocusin(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocusout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocusout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondeactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondeactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforedeactivate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforedeactivate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_compatMode(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument5, 0x3050f80c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocument5Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument5 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument5 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument5 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument5 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onmousewheel)(
        IHTMLDocument5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmousewheel)(
        IHTMLDocument5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_doctype)(
        IHTMLDocument5 *This,
        IHTMLDOMNode **p);

    HRESULT (STDMETHODCALLTYPE *get_implementation)(
        IHTMLDocument5 *This,
        IHTMLDOMImplementation **p);

    HRESULT (STDMETHODCALLTYPE *createAttribute)(
        IHTMLDocument5 *This,
        BSTR bstrattrName,
        IHTMLDOMAttribute **ppattribute);

    HRESULT (STDMETHODCALLTYPE *createComment)(
        IHTMLDocument5 *This,
        BSTR bstrdata,
        IHTMLDOMNode **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *put_onfocusin)(
        IHTMLDocument5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocusin)(
        IHTMLDocument5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocusout)(
        IHTMLDocument5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocusout)(
        IHTMLDocument5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onactivate)(
        IHTMLDocument5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onactivate)(
        IHTMLDocument5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondeactivate)(
        IHTMLDocument5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondeactivate)(
        IHTMLDocument5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeactivate)(
        IHTMLDocument5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeactivate)(
        IHTMLDocument5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforedeactivate)(
        IHTMLDocument5 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforedeactivate)(
        IHTMLDocument5 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_compatMode)(
        IHTMLDocument5 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDocument5Vtbl;

interface IHTMLDocument5 {
    CONST_VTBL IHTMLDocument5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument5 methods ***/
#define IHTMLDocument5_put_onmousewheel(This,v) (This)->lpVtbl->put_onmousewheel(This,v)
#define IHTMLDocument5_get_onmousewheel(This,p) (This)->lpVtbl->get_onmousewheel(This,p)
#define IHTMLDocument5_get_doctype(This,p) (This)->lpVtbl->get_doctype(This,p)
#define IHTMLDocument5_get_implementation(This,p) (This)->lpVtbl->get_implementation(This,p)
#define IHTMLDocument5_createAttribute(This,bstrattrName,ppattribute) (This)->lpVtbl->createAttribute(This,bstrattrName,ppattribute)
#define IHTMLDocument5_createComment(This,bstrdata,ppRetNode) (This)->lpVtbl->createComment(This,bstrdata,ppRetNode)
#define IHTMLDocument5_put_onfocusin(This,v) (This)->lpVtbl->put_onfocusin(This,v)
#define IHTMLDocument5_get_onfocusin(This,p) (This)->lpVtbl->get_onfocusin(This,p)
#define IHTMLDocument5_put_onfocusout(This,v) (This)->lpVtbl->put_onfocusout(This,v)
#define IHTMLDocument5_get_onfocusout(This,p) (This)->lpVtbl->get_onfocusout(This,p)
#define IHTMLDocument5_put_onactivate(This,v) (This)->lpVtbl->put_onactivate(This,v)
#define IHTMLDocument5_get_onactivate(This,p) (This)->lpVtbl->get_onactivate(This,p)
#define IHTMLDocument5_put_ondeactivate(This,v) (This)->lpVtbl->put_ondeactivate(This,v)
#define IHTMLDocument5_get_ondeactivate(This,p) (This)->lpVtbl->get_ondeactivate(This,p)
#define IHTMLDocument5_put_onbeforeactivate(This,v) (This)->lpVtbl->put_onbeforeactivate(This,v)
#define IHTMLDocument5_get_onbeforeactivate(This,p) (This)->lpVtbl->get_onbeforeactivate(This,p)
#define IHTMLDocument5_put_onbeforedeactivate(This,v) (This)->lpVtbl->put_onbeforedeactivate(This,v)
#define IHTMLDocument5_get_onbeforedeactivate(This,p) (This)->lpVtbl->get_onbeforedeactivate(This,p)
#define IHTMLDocument5_get_compatMode(This,p) (This)->lpVtbl->get_compatMode(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument5_QueryInterface(IHTMLDocument5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument5_AddRef(IHTMLDocument5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument5_Release(IHTMLDocument5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument5_GetTypeInfoCount(IHTMLDocument5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument5_GetTypeInfo(IHTMLDocument5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument5_GetIDsOfNames(IHTMLDocument5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument5_Invoke(IHTMLDocument5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument5 methods ***/
static inline HRESULT IHTMLDocument5_put_onmousewheel(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onmousewheel(This,v);
}
static inline HRESULT IHTMLDocument5_get_onmousewheel(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onmousewheel(This,p);
}
static inline HRESULT IHTMLDocument5_get_doctype(IHTMLDocument5* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_doctype(This,p);
}
static inline HRESULT IHTMLDocument5_get_implementation(IHTMLDocument5* This,IHTMLDOMImplementation **p) {
    return This->lpVtbl->get_implementation(This,p);
}
static inline HRESULT IHTMLDocument5_createAttribute(IHTMLDocument5* This,BSTR bstrattrName,IHTMLDOMAttribute **ppattribute) {
    return This->lpVtbl->createAttribute(This,bstrattrName,ppattribute);
}
static inline HRESULT IHTMLDocument5_createComment(IHTMLDocument5* This,BSTR bstrdata,IHTMLDOMNode **ppRetNode) {
    return This->lpVtbl->createComment(This,bstrdata,ppRetNode);
}
static inline HRESULT IHTMLDocument5_put_onfocusin(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onfocusin(This,v);
}
static inline HRESULT IHTMLDocument5_get_onfocusin(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusin(This,p);
}
static inline HRESULT IHTMLDocument5_put_onfocusout(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onfocusout(This,v);
}
static inline HRESULT IHTMLDocument5_get_onfocusout(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusout(This,p);
}
static inline HRESULT IHTMLDocument5_put_onactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onactivate(This,v);
}
static inline HRESULT IHTMLDocument5_get_onactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onactivate(This,p);
}
static inline HRESULT IHTMLDocument5_put_ondeactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_ondeactivate(This,v);
}
static inline HRESULT IHTMLDocument5_get_ondeactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_ondeactivate(This,p);
}
static inline HRESULT IHTMLDocument5_put_onbeforeactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeactivate(This,v);
}
static inline HRESULT IHTMLDocument5_get_onbeforeactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeactivate(This,p);
}
static inline HRESULT IHTMLDocument5_put_onbeforedeactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onbeforedeactivate(This,v);
}
static inline HRESULT IHTMLDocument5_get_onbeforedeactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforedeactivate(This,p);
}
static inline HRESULT IHTMLDocument5_get_compatMode(IHTMLDocument5* This,BSTR *p) {
    return This->lpVtbl->get_compatMode(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocument6 interface
 */
#ifndef __IHTMLDocument6_INTERFACE_DEFINED__
#define __IHTMLDocument6_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument6, 0x30510417, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510417-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocument6 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_compatible(
        IHTMLDocumentCompatibleInfoCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_documentMode(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstorage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstorage(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstoragecommit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstoragecommit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementById(
        BSTR bstrId,
        IHTMLElement2 **ppRetElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE updateSettings(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument6, 0x30510417, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocument6Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument6 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument6 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument6 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument6 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument6 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument6 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument6 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument6 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_compatible)(
        IHTMLDocument6 *This,
        IHTMLDocumentCompatibleInfoCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_documentMode)(
        IHTMLDocument6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstorage)(
        IHTMLDocument6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstorage)(
        IHTMLDocument6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstoragecommit)(
        IHTMLDocument6 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstoragecommit)(
        IHTMLDocument6 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *getElementById)(
        IHTMLDocument6 *This,
        BSTR bstrId,
        IHTMLElement2 **ppRetElement);

    HRESULT (STDMETHODCALLTYPE *updateSettings)(
        IHTMLDocument6 *This);

    END_INTERFACE
} IHTMLDocument6Vtbl;

interface IHTMLDocument6 {
    CONST_VTBL IHTMLDocument6Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument6_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument6 methods ***/
#define IHTMLDocument6_get_compatible(This,p) (This)->lpVtbl->get_compatible(This,p)
#define IHTMLDocument6_get_documentMode(This,p) (This)->lpVtbl->get_documentMode(This,p)
#define IHTMLDocument6_put_onstorage(This,v) (This)->lpVtbl->put_onstorage(This,v)
#define IHTMLDocument6_get_onstorage(This,p) (This)->lpVtbl->get_onstorage(This,p)
#define IHTMLDocument6_put_onstoragecommit(This,v) (This)->lpVtbl->put_onstoragecommit(This,v)
#define IHTMLDocument6_get_onstoragecommit(This,p) (This)->lpVtbl->get_onstoragecommit(This,p)
#define IHTMLDocument6_getElementById(This,bstrId,ppRetElement) (This)->lpVtbl->getElementById(This,bstrId,ppRetElement)
#define IHTMLDocument6_updateSettings(This) (This)->lpVtbl->updateSettings(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument6_QueryInterface(IHTMLDocument6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument6_AddRef(IHTMLDocument6* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument6_Release(IHTMLDocument6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument6_GetTypeInfoCount(IHTMLDocument6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument6_GetTypeInfo(IHTMLDocument6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument6_GetIDsOfNames(IHTMLDocument6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument6_Invoke(IHTMLDocument6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument6 methods ***/
static inline HRESULT IHTMLDocument6_get_compatible(IHTMLDocument6* This,IHTMLDocumentCompatibleInfoCollection **p) {
    return This->lpVtbl->get_compatible(This,p);
}
static inline HRESULT IHTMLDocument6_get_documentMode(IHTMLDocument6* This,VARIANT *p) {
    return This->lpVtbl->get_documentMode(This,p);
}
static inline HRESULT IHTMLDocument6_put_onstorage(IHTMLDocument6* This,VARIANT v) {
    return This->lpVtbl->put_onstorage(This,v);
}
static inline HRESULT IHTMLDocument6_get_onstorage(IHTMLDocument6* This,VARIANT *p) {
    return This->lpVtbl->get_onstorage(This,p);
}
static inline HRESULT IHTMLDocument6_put_onstoragecommit(IHTMLDocument6* This,VARIANT v) {
    return This->lpVtbl->put_onstoragecommit(This,v);
}
static inline HRESULT IHTMLDocument6_get_onstoragecommit(IHTMLDocument6* This,VARIANT *p) {
    return This->lpVtbl->get_onstoragecommit(This,p);
}
static inline HRESULT IHTMLDocument6_getElementById(IHTMLDocument6* This,BSTR bstrId,IHTMLElement2 **ppRetElement) {
    return This->lpVtbl->getElementById(This,bstrId,ppRetElement);
}
static inline HRESULT IHTMLDocument6_updateSettings(IHTMLDocument6* This) {
    return This->lpVtbl->updateSettings(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocument7 interface
 */
#ifndef __IHTMLDocument7_INTERFACE_DEFINED__
#define __IHTMLDocument7_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument7, 0x305104b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104b8-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocument7 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_defaultView(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createCDATASection(
        BSTR text,
        IHTMLDOMNode **newCDATASectionNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE getSelection(
        IHTMLSelection **ppIHTMLSelection) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
        VARIANT *pvarNS,
        BSTR bstrLocalName,
        IHTMLElementCollection **pelColl) = 0;

    virtual HRESULT STDMETHODCALLTYPE createElementNS(
        VARIANT *pvarNS,
        BSTR bstrTag,
        IHTMLElement **newElem) = 0;

    virtual HRESULT STDMETHODCALLTYPE createAttributeNS(
        VARIANT *pvarNS,
        BSTR bstrAttrName,
        IHTMLDOMAttribute **ppAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsthumbnailclick(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsthumbnailclick(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_characterSet(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createElement(
        BSTR bstrTag,
        IHTMLElement **newElem) = 0;

    virtual HRESULT STDMETHODCALLTYPE createAttribute(
        BSTR bstrAttrName,
        IHTMLDOMAttribute **ppAttribute) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementsByClassName(
        BSTR v,
        IHTMLElementCollection **pel) = 0;

    virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(
        BSTR bstrTarget,
        BSTR bstrData,
        IDOMProcessingInstruction **newProcessingInstruction) = 0;

    virtual HRESULT STDMETHODCALLTYPE adoptNode(
        IHTMLDOMNode *pNodeSource,
        IHTMLDOMNode3 **ppNodeDest) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmssitemodejumplistitemremoved(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmssitemodejumplistitemremoved(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_all(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_inputEncoding(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_xmlEncoding(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_xmlStandalone(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_xmlStandalone(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_xmlVersion(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_xmlVersion(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
        VARIANT_BOOL *pfHasAttributes) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onabort(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onabort(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onblur(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onblur(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncanplay(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncanplay(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncanplaythrough(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncanplaythrough(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondrag(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondrag(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragenter(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragenter(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragleave(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragleave(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondragover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondragover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondrop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondrop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondurationchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondurationchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onemptied(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onemptied(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onended(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onended(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oninput(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oninput(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadeddata(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadeddata(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadedmetadata(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadedmetadata(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onloadstart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onloadstart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onpause(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onpause(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onplay(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onplay(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onplaying(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onplaying(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onprogress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onprogress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onratechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onratechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreset(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreset(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onscroll(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onscroll(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onseeked(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onseeked(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onseeking(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onseeking(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onselect(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onselect(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstalled(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstalled(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsubmit(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsubmit(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsuspend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsuspend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ontimeupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ontimeupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onvolumechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onvolumechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onwaiting(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onwaiting(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE normalize(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE importNode(
        IHTMLDOMNode *pNodeSource,
        VARIANT_BOOL fDeep,
        IHTMLDOMNode3 **ppNodeDest) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentWindow(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_body(
        IHTMLElement *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_body(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_head(
        IHTMLElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument7, 0x305104b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocument7Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument7 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument7 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument7 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument7 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument7 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument7 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument7 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument7 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_defaultView)(
        IHTMLDocument7 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *createCDATASection)(
        IHTMLDocument7 *This,
        BSTR text,
        IHTMLDOMNode **newCDATASectionNode);

    HRESULT (STDMETHODCALLTYPE *getSelection)(
        IHTMLDocument7 *This,
        IHTMLSelection **ppIHTMLSelection);

    HRESULT (STDMETHODCALLTYPE *getElementsByTagNameNS)(
        IHTMLDocument7 *This,
        VARIANT *pvarNS,
        BSTR bstrLocalName,
        IHTMLElementCollection **pelColl);

    HRESULT (STDMETHODCALLTYPE *createElementNS)(
        IHTMLDocument7 *This,
        VARIANT *pvarNS,
        BSTR bstrTag,
        IHTMLElement **newElem);

    HRESULT (STDMETHODCALLTYPE *createAttributeNS)(
        IHTMLDocument7 *This,
        VARIANT *pvarNS,
        BSTR bstrAttrName,
        IHTMLDOMAttribute **ppAttribute);

    HRESULT (STDMETHODCALLTYPE *put_onmsthumbnailclick)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsthumbnailclick)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_characterSet)(
        IHTMLDocument7 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *createElement)(
        IHTMLDocument7 *This,
        BSTR bstrTag,
        IHTMLElement **newElem);

    HRESULT (STDMETHODCALLTYPE *createAttribute)(
        IHTMLDocument7 *This,
        BSTR bstrAttrName,
        IHTMLDOMAttribute **ppAttribute);

    HRESULT (STDMETHODCALLTYPE *getElementsByClassName)(
        IHTMLDocument7 *This,
        BSTR v,
        IHTMLElementCollection **pel);

    HRESULT (STDMETHODCALLTYPE *createProcessingInstruction)(
        IHTMLDocument7 *This,
        BSTR bstrTarget,
        BSTR bstrData,
        IDOMProcessingInstruction **newProcessingInstruction);

    HRESULT (STDMETHODCALLTYPE *adoptNode)(
        IHTMLDocument7 *This,
        IHTMLDOMNode *pNodeSource,
        IHTMLDOMNode3 **ppNodeDest);

    HRESULT (STDMETHODCALLTYPE *put_onmssitemodejumplistitemremoved)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmssitemodejumplistitemremoved)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_all)(
        IHTMLDocument7 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_inputEncoding)(
        IHTMLDocument7 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_xmlEncoding)(
        IHTMLDocument7 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_xmlStandalone)(
        IHTMLDocument7 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_xmlStandalone)(
        IHTMLDocument7 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_xmlVersion)(
        IHTMLDocument7 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_xmlVersion)(
        IHTMLDocument7 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *hasAttributes)(
        IHTMLDocument7 *This,
        VARIANT_BOOL *pfHasAttributes);

    HRESULT (STDMETHODCALLTYPE *put_onabort)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onabort)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onblur)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onblur)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncanplay)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncanplay)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncanplaythrough)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncanplaythrough)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onchange)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchange)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondrag)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondrag)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragend)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragend)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragenter)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragenter)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragleave)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragleave)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondragover)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondragover)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondrop)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondrop)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondurationchange)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondurationchange)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onemptied)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onemptied)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onended)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onended)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocus)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocus)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oninput)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oninput)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadeddata)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadeddata)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadedmetadata)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadedmetadata)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onloadstart)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onloadstart)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onpause)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onpause)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onplay)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onplay)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onplaying)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onplaying)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onprogress)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onprogress)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onratechange)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onratechange)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreset)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreset)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onscroll)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onscroll)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onseeked)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onseeked)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onseeking)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onseeking)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onselect)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onselect)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstalled)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstalled)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onsubmit)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onsubmit)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onsuspend)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onsuspend)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ontimeupdate)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ontimeupdate)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onvolumechange)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onvolumechange)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onwaiting)(
        IHTMLDocument7 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onwaiting)(
        IHTMLDocument7 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *normalize)(
        IHTMLDocument7 *This);

    HRESULT (STDMETHODCALLTYPE *importNode)(
        IHTMLDocument7 *This,
        IHTMLDOMNode *pNodeSource,
        VARIANT_BOOL fDeep,
        IHTMLDOMNode3 **ppNodeDest);

    HRESULT (STDMETHODCALLTYPE *get_parentWindow)(
        IHTMLDocument7 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *putref_body)(
        IHTMLDocument7 *This,
        IHTMLElement *v);

    HRESULT (STDMETHODCALLTYPE *get_body)(
        IHTMLDocument7 *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_head)(
        IHTMLDocument7 *This,
        IHTMLElement **p);

    END_INTERFACE
} IHTMLDocument7Vtbl;

interface IHTMLDocument7 {
    CONST_VTBL IHTMLDocument7Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument7_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument7_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument7_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument7_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument7_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument7_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument7 methods ***/
#define IHTMLDocument7_get_defaultView(This,p) (This)->lpVtbl->get_defaultView(This,p)
#define IHTMLDocument7_createCDATASection(This,text,newCDATASectionNode) (This)->lpVtbl->createCDATASection(This,text,newCDATASectionNode)
#define IHTMLDocument7_getSelection(This,ppIHTMLSelection) (This)->lpVtbl->getSelection(This,ppIHTMLSelection)
#define IHTMLDocument7_getElementsByTagNameNS(This,pvarNS,bstrLocalName,pelColl) (This)->lpVtbl->getElementsByTagNameNS(This,pvarNS,bstrLocalName,pelColl)
#define IHTMLDocument7_createElementNS(This,pvarNS,bstrTag,newElem) (This)->lpVtbl->createElementNS(This,pvarNS,bstrTag,newElem)
#define IHTMLDocument7_createAttributeNS(This,pvarNS,bstrAttrName,ppAttribute) (This)->lpVtbl->createAttributeNS(This,pvarNS,bstrAttrName,ppAttribute)
#define IHTMLDocument7_put_onmsthumbnailclick(This,v) (This)->lpVtbl->put_onmsthumbnailclick(This,v)
#define IHTMLDocument7_get_onmsthumbnailclick(This,p) (This)->lpVtbl->get_onmsthumbnailclick(This,p)
#define IHTMLDocument7_get_characterSet(This,p) (This)->lpVtbl->get_characterSet(This,p)
#define IHTMLDocument7_createElement(This,bstrTag,newElem) (This)->lpVtbl->createElement(This,bstrTag,newElem)
#define IHTMLDocument7_createAttribute(This,bstrAttrName,ppAttribute) (This)->lpVtbl->createAttribute(This,bstrAttrName,ppAttribute)
#define IHTMLDocument7_getElementsByClassName(This,v,pel) (This)->lpVtbl->getElementsByClassName(This,v,pel)
#define IHTMLDocument7_createProcessingInstruction(This,bstrTarget,bstrData,newProcessingInstruction) (This)->lpVtbl->createProcessingInstruction(This,bstrTarget,bstrData,newProcessingInstruction)
#define IHTMLDocument7_adoptNode(This,pNodeSource,ppNodeDest) (This)->lpVtbl->adoptNode(This,pNodeSource,ppNodeDest)
#define IHTMLDocument7_put_onmssitemodejumplistitemremoved(This,v) (This)->lpVtbl->put_onmssitemodejumplistitemremoved(This,v)
#define IHTMLDocument7_get_onmssitemodejumplistitemremoved(This,p) (This)->lpVtbl->get_onmssitemodejumplistitemremoved(This,p)
#define IHTMLDocument7_get_all(This,p) (This)->lpVtbl->get_all(This,p)
#define IHTMLDocument7_get_inputEncoding(This,p) (This)->lpVtbl->get_inputEncoding(This,p)
#define IHTMLDocument7_get_xmlEncoding(This,p) (This)->lpVtbl->get_xmlEncoding(This,p)
#define IHTMLDocument7_put_xmlStandalone(This,v) (This)->lpVtbl->put_xmlStandalone(This,v)
#define IHTMLDocument7_get_xmlStandalone(This,p) (This)->lpVtbl->get_xmlStandalone(This,p)
#define IHTMLDocument7_put_xmlVersion(This,v) (This)->lpVtbl->put_xmlVersion(This,v)
#define IHTMLDocument7_get_xmlVersion(This,p) (This)->lpVtbl->get_xmlVersion(This,p)
#define IHTMLDocument7_hasAttributes(This,pfHasAttributes) (This)->lpVtbl->hasAttributes(This,pfHasAttributes)
#define IHTMLDocument7_put_onabort(This,v) (This)->lpVtbl->put_onabort(This,v)
#define IHTMLDocument7_get_onabort(This,p) (This)->lpVtbl->get_onabort(This,p)
#define IHTMLDocument7_put_onblur(This,v) (This)->lpVtbl->put_onblur(This,v)
#define IHTMLDocument7_get_onblur(This,p) (This)->lpVtbl->get_onblur(This,p)
#define IHTMLDocument7_put_oncanplay(This,v) (This)->lpVtbl->put_oncanplay(This,v)
#define IHTMLDocument7_get_oncanplay(This,p) (This)->lpVtbl->get_oncanplay(This,p)
#define IHTMLDocument7_put_oncanplaythrough(This,v) (This)->lpVtbl->put_oncanplaythrough(This,v)
#define IHTMLDocument7_get_oncanplaythrough(This,p) (This)->lpVtbl->get_oncanplaythrough(This,p)
#define IHTMLDocument7_put_onchange(This,v) (This)->lpVtbl->put_onchange(This,v)
#define IHTMLDocument7_get_onchange(This,p) (This)->lpVtbl->get_onchange(This,p)
#define IHTMLDocument7_put_ondrag(This,v) (This)->lpVtbl->put_ondrag(This,v)
#define IHTMLDocument7_get_ondrag(This,p) (This)->lpVtbl->get_ondrag(This,p)
#define IHTMLDocument7_put_ondragend(This,v) (This)->lpVtbl->put_ondragend(This,v)
#define IHTMLDocument7_get_ondragend(This,p) (This)->lpVtbl->get_ondragend(This,p)
#define IHTMLDocument7_put_ondragenter(This,v) (This)->lpVtbl->put_ondragenter(This,v)
#define IHTMLDocument7_get_ondragenter(This,p) (This)->lpVtbl->get_ondragenter(This,p)
#define IHTMLDocument7_put_ondragleave(This,v) (This)->lpVtbl->put_ondragleave(This,v)
#define IHTMLDocument7_get_ondragleave(This,p) (This)->lpVtbl->get_ondragleave(This,p)
#define IHTMLDocument7_put_ondragover(This,v) (This)->lpVtbl->put_ondragover(This,v)
#define IHTMLDocument7_get_ondragover(This,p) (This)->lpVtbl->get_ondragover(This,p)
#define IHTMLDocument7_put_ondrop(This,v) (This)->lpVtbl->put_ondrop(This,v)
#define IHTMLDocument7_get_ondrop(This,p) (This)->lpVtbl->get_ondrop(This,p)
#define IHTMLDocument7_put_ondurationchange(This,v) (This)->lpVtbl->put_ondurationchange(This,v)
#define IHTMLDocument7_get_ondurationchange(This,p) (This)->lpVtbl->get_ondurationchange(This,p)
#define IHTMLDocument7_put_onemptied(This,v) (This)->lpVtbl->put_onemptied(This,v)
#define IHTMLDocument7_get_onemptied(This,p) (This)->lpVtbl->get_onemptied(This,p)
#define IHTMLDocument7_put_onended(This,v) (This)->lpVtbl->put_onended(This,v)
#define IHTMLDocument7_get_onended(This,p) (This)->lpVtbl->get_onended(This,p)
#define IHTMLDocument7_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLDocument7_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLDocument7_put_onfocus(This,v) (This)->lpVtbl->put_onfocus(This,v)
#define IHTMLDocument7_get_onfocus(This,p) (This)->lpVtbl->get_onfocus(This,p)
#define IHTMLDocument7_put_oninput(This,v) (This)->lpVtbl->put_oninput(This,v)
#define IHTMLDocument7_get_oninput(This,p) (This)->lpVtbl->get_oninput(This,p)
#define IHTMLDocument7_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLDocument7_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLDocument7_put_onloadeddata(This,v) (This)->lpVtbl->put_onloadeddata(This,v)
#define IHTMLDocument7_get_onloadeddata(This,p) (This)->lpVtbl->get_onloadeddata(This,p)
#define IHTMLDocument7_put_onloadedmetadata(This,v) (This)->lpVtbl->put_onloadedmetadata(This,v)
#define IHTMLDocument7_get_onloadedmetadata(This,p) (This)->lpVtbl->get_onloadedmetadata(This,p)
#define IHTMLDocument7_put_onloadstart(This,v) (This)->lpVtbl->put_onloadstart(This,v)
#define IHTMLDocument7_get_onloadstart(This,p) (This)->lpVtbl->get_onloadstart(This,p)
#define IHTMLDocument7_put_onpause(This,v) (This)->lpVtbl->put_onpause(This,v)
#define IHTMLDocument7_get_onpause(This,p) (This)->lpVtbl->get_onpause(This,p)
#define IHTMLDocument7_put_onplay(This,v) (This)->lpVtbl->put_onplay(This,v)
#define IHTMLDocument7_get_onplay(This,p) (This)->lpVtbl->get_onplay(This,p)
#define IHTMLDocument7_put_onplaying(This,v) (This)->lpVtbl->put_onplaying(This,v)
#define IHTMLDocument7_get_onplaying(This,p) (This)->lpVtbl->get_onplaying(This,p)
#define IHTMLDocument7_put_onprogress(This,v) (This)->lpVtbl->put_onprogress(This,v)
#define IHTMLDocument7_get_onprogress(This,p) (This)->lpVtbl->get_onprogress(This,p)
#define IHTMLDocument7_put_onratechange(This,v) (This)->lpVtbl->put_onratechange(This,v)
#define IHTMLDocument7_get_onratechange(This,p) (This)->lpVtbl->get_onratechange(This,p)
#define IHTMLDocument7_put_onreset(This,v) (This)->lpVtbl->put_onreset(This,v)
#define IHTMLDocument7_get_onreset(This,p) (This)->lpVtbl->get_onreset(This,p)
#define IHTMLDocument7_put_onscroll(This,v) (This)->lpVtbl->put_onscroll(This,v)
#define IHTMLDocument7_get_onscroll(This,p) (This)->lpVtbl->get_onscroll(This,p)
#define IHTMLDocument7_put_onseeked(This,v) (This)->lpVtbl->put_onseeked(This,v)
#define IHTMLDocument7_get_onseeked(This,p) (This)->lpVtbl->get_onseeked(This,p)
#define IHTMLDocument7_put_onseeking(This,v) (This)->lpVtbl->put_onseeking(This,v)
#define IHTMLDocument7_get_onseeking(This,p) (This)->lpVtbl->get_onseeking(This,p)
#define IHTMLDocument7_put_onselect(This,v) (This)->lpVtbl->put_onselect(This,v)
#define IHTMLDocument7_get_onselect(This,p) (This)->lpVtbl->get_onselect(This,p)
#define IHTMLDocument7_put_onstalled(This,v) (This)->lpVtbl->put_onstalled(This,v)
#define IHTMLDocument7_get_onstalled(This,p) (This)->lpVtbl->get_onstalled(This,p)
#define IHTMLDocument7_put_onsubmit(This,v) (This)->lpVtbl->put_onsubmit(This,v)
#define IHTMLDocument7_get_onsubmit(This,p) (This)->lpVtbl->get_onsubmit(This,p)
#define IHTMLDocument7_put_onsuspend(This,v) (This)->lpVtbl->put_onsuspend(This,v)
#define IHTMLDocument7_get_onsuspend(This,p) (This)->lpVtbl->get_onsuspend(This,p)
#define IHTMLDocument7_put_ontimeupdate(This,v) (This)->lpVtbl->put_ontimeupdate(This,v)
#define IHTMLDocument7_get_ontimeupdate(This,p) (This)->lpVtbl->get_ontimeupdate(This,p)
#define IHTMLDocument7_put_onvolumechange(This,v) (This)->lpVtbl->put_onvolumechange(This,v)
#define IHTMLDocument7_get_onvolumechange(This,p) (This)->lpVtbl->get_onvolumechange(This,p)
#define IHTMLDocument7_put_onwaiting(This,v) (This)->lpVtbl->put_onwaiting(This,v)
#define IHTMLDocument7_get_onwaiting(This,p) (This)->lpVtbl->get_onwaiting(This,p)
#define IHTMLDocument7_normalize(This) (This)->lpVtbl->normalize(This)
#define IHTMLDocument7_importNode(This,pNodeSource,fDeep,ppNodeDest) (This)->lpVtbl->importNode(This,pNodeSource,fDeep,ppNodeDest)
#define IHTMLDocument7_get_parentWindow(This,p) (This)->lpVtbl->get_parentWindow(This,p)
#define IHTMLDocument7_putref_body(This,v) (This)->lpVtbl->putref_body(This,v)
#define IHTMLDocument7_get_body(This,p) (This)->lpVtbl->get_body(This,p)
#define IHTMLDocument7_get_head(This,p) (This)->lpVtbl->get_head(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument7_QueryInterface(IHTMLDocument7* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument7_AddRef(IHTMLDocument7* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument7_Release(IHTMLDocument7* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument7_GetTypeInfoCount(IHTMLDocument7* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument7_GetTypeInfo(IHTMLDocument7* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument7_GetIDsOfNames(IHTMLDocument7* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument7_Invoke(IHTMLDocument7* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument7 methods ***/
static inline HRESULT IHTMLDocument7_get_defaultView(IHTMLDocument7* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_defaultView(This,p);
}
static inline HRESULT IHTMLDocument7_createCDATASection(IHTMLDocument7* This,BSTR text,IHTMLDOMNode **newCDATASectionNode) {
    return This->lpVtbl->createCDATASection(This,text,newCDATASectionNode);
}
static inline HRESULT IHTMLDocument7_getSelection(IHTMLDocument7* This,IHTMLSelection **ppIHTMLSelection) {
    return This->lpVtbl->getSelection(This,ppIHTMLSelection);
}
static inline HRESULT IHTMLDocument7_getElementsByTagNameNS(IHTMLDocument7* This,VARIANT *pvarNS,BSTR bstrLocalName,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByTagNameNS(This,pvarNS,bstrLocalName,pelColl);
}
static inline HRESULT IHTMLDocument7_createElementNS(IHTMLDocument7* This,VARIANT *pvarNS,BSTR bstrTag,IHTMLElement **newElem) {
    return This->lpVtbl->createElementNS(This,pvarNS,bstrTag,newElem);
}
static inline HRESULT IHTMLDocument7_createAttributeNS(IHTMLDocument7* This,VARIANT *pvarNS,BSTR bstrAttrName,IHTMLDOMAttribute **ppAttribute) {
    return This->lpVtbl->createAttributeNS(This,pvarNS,bstrAttrName,ppAttribute);
}
static inline HRESULT IHTMLDocument7_put_onmsthumbnailclick(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onmsthumbnailclick(This,v);
}
static inline HRESULT IHTMLDocument7_get_onmsthumbnailclick(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsthumbnailclick(This,p);
}
static inline HRESULT IHTMLDocument7_get_characterSet(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_characterSet(This,p);
}
static inline HRESULT IHTMLDocument7_createElement(IHTMLDocument7* This,BSTR bstrTag,IHTMLElement **newElem) {
    return This->lpVtbl->createElement(This,bstrTag,newElem);
}
static inline HRESULT IHTMLDocument7_createAttribute(IHTMLDocument7* This,BSTR bstrAttrName,IHTMLDOMAttribute **ppAttribute) {
    return This->lpVtbl->createAttribute(This,bstrAttrName,ppAttribute);
}
static inline HRESULT IHTMLDocument7_getElementsByClassName(IHTMLDocument7* This,BSTR v,IHTMLElementCollection **pel) {
    return This->lpVtbl->getElementsByClassName(This,v,pel);
}
static inline HRESULT IHTMLDocument7_createProcessingInstruction(IHTMLDocument7* This,BSTR bstrTarget,BSTR bstrData,IDOMProcessingInstruction **newProcessingInstruction) {
    return This->lpVtbl->createProcessingInstruction(This,bstrTarget,bstrData,newProcessingInstruction);
}
static inline HRESULT IHTMLDocument7_adoptNode(IHTMLDocument7* This,IHTMLDOMNode *pNodeSource,IHTMLDOMNode3 **ppNodeDest) {
    return This->lpVtbl->adoptNode(This,pNodeSource,ppNodeDest);
}
static inline HRESULT IHTMLDocument7_put_onmssitemodejumplistitemremoved(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onmssitemodejumplistitemremoved(This,v);
}
static inline HRESULT IHTMLDocument7_get_onmssitemodejumplistitemremoved(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onmssitemodejumplistitemremoved(This,p);
}
static inline HRESULT IHTMLDocument7_get_all(IHTMLDocument7* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_all(This,p);
}
static inline HRESULT IHTMLDocument7_get_inputEncoding(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_inputEncoding(This,p);
}
static inline HRESULT IHTMLDocument7_get_xmlEncoding(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_xmlEncoding(This,p);
}
static inline HRESULT IHTMLDocument7_put_xmlStandalone(IHTMLDocument7* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_xmlStandalone(This,v);
}
static inline HRESULT IHTMLDocument7_get_xmlStandalone(IHTMLDocument7* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_xmlStandalone(This,p);
}
static inline HRESULT IHTMLDocument7_put_xmlVersion(IHTMLDocument7* This,BSTR v) {
    return This->lpVtbl->put_xmlVersion(This,v);
}
static inline HRESULT IHTMLDocument7_get_xmlVersion(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_xmlVersion(This,p);
}
static inline HRESULT IHTMLDocument7_hasAttributes(IHTMLDocument7* This,VARIANT_BOOL *pfHasAttributes) {
    return This->lpVtbl->hasAttributes(This,pfHasAttributes);
}
static inline HRESULT IHTMLDocument7_put_onabort(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static inline HRESULT IHTMLDocument7_get_onabort(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static inline HRESULT IHTMLDocument7_put_onblur(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static inline HRESULT IHTMLDocument7_get_onblur(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static inline HRESULT IHTMLDocument7_put_oncanplay(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_oncanplay(This,v);
}
static inline HRESULT IHTMLDocument7_get_oncanplay(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplay(This,p);
}
static inline HRESULT IHTMLDocument7_put_oncanplaythrough(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_oncanplaythrough(This,v);
}
static inline HRESULT IHTMLDocument7_get_oncanplaythrough(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplaythrough(This,p);
}
static inline HRESULT IHTMLDocument7_put_onchange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static inline HRESULT IHTMLDocument7_get_onchange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static inline HRESULT IHTMLDocument7_put_ondrag(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondrag(This,v);
}
static inline HRESULT IHTMLDocument7_get_ondrag(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondrag(This,p);
}
static inline HRESULT IHTMLDocument7_put_ondragend(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragend(This,v);
}
static inline HRESULT IHTMLDocument7_get_ondragend(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragend(This,p);
}
static inline HRESULT IHTMLDocument7_put_ondragenter(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragenter(This,v);
}
static inline HRESULT IHTMLDocument7_get_ondragenter(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragenter(This,p);
}
static inline HRESULT IHTMLDocument7_put_ondragleave(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragleave(This,v);
}
static inline HRESULT IHTMLDocument7_get_ondragleave(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragleave(This,p);
}
static inline HRESULT IHTMLDocument7_put_ondragover(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragover(This,v);
}
static inline HRESULT IHTMLDocument7_get_ondragover(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragover(This,p);
}
static inline HRESULT IHTMLDocument7_put_ondrop(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondrop(This,v);
}
static inline HRESULT IHTMLDocument7_get_ondrop(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondrop(This,p);
}
static inline HRESULT IHTMLDocument7_put_ondurationchange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondurationchange(This,v);
}
static inline HRESULT IHTMLDocument7_get_ondurationchange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondurationchange(This,p);
}
static inline HRESULT IHTMLDocument7_put_onemptied(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onemptied(This,v);
}
static inline HRESULT IHTMLDocument7_get_onemptied(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onemptied(This,p);
}
static inline HRESULT IHTMLDocument7_put_onended(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onended(This,v);
}
static inline HRESULT IHTMLDocument7_get_onended(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onended(This,p);
}
static inline HRESULT IHTMLDocument7_put_onerror(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLDocument7_get_onerror(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLDocument7_put_onfocus(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static inline HRESULT IHTMLDocument7_get_onfocus(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static inline HRESULT IHTMLDocument7_put_oninput(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_oninput(This,v);
}
static inline HRESULT IHTMLDocument7_get_oninput(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_oninput(This,p);
}
static inline HRESULT IHTMLDocument7_put_onload(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLDocument7_get_onload(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLDocument7_put_onloadeddata(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onloadeddata(This,v);
}
static inline HRESULT IHTMLDocument7_get_onloadeddata(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadeddata(This,p);
}
static inline HRESULT IHTMLDocument7_put_onloadedmetadata(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onloadedmetadata(This,v);
}
static inline HRESULT IHTMLDocument7_get_onloadedmetadata(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadedmetadata(This,p);
}
static inline HRESULT IHTMLDocument7_put_onloadstart(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onloadstart(This,v);
}
static inline HRESULT IHTMLDocument7_get_onloadstart(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadstart(This,p);
}
static inline HRESULT IHTMLDocument7_put_onpause(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onpause(This,v);
}
static inline HRESULT IHTMLDocument7_get_onpause(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onpause(This,p);
}
static inline HRESULT IHTMLDocument7_put_onplay(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onplay(This,v);
}
static inline HRESULT IHTMLDocument7_get_onplay(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onplay(This,p);
}
static inline HRESULT IHTMLDocument7_put_onplaying(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onplaying(This,v);
}
static inline HRESULT IHTMLDocument7_get_onplaying(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onplaying(This,p);
}
static inline HRESULT IHTMLDocument7_put_onprogress(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onprogress(This,v);
}
static inline HRESULT IHTMLDocument7_get_onprogress(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onprogress(This,p);
}
static inline HRESULT IHTMLDocument7_put_onratechange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onratechange(This,v);
}
static inline HRESULT IHTMLDocument7_get_onratechange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onratechange(This,p);
}
static inline HRESULT IHTMLDocument7_put_onreset(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onreset(This,v);
}
static inline HRESULT IHTMLDocument7_get_onreset(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onreset(This,p);
}
static inline HRESULT IHTMLDocument7_put_onscroll(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static inline HRESULT IHTMLDocument7_get_onscroll(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
static inline HRESULT IHTMLDocument7_put_onseeked(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onseeked(This,v);
}
static inline HRESULT IHTMLDocument7_get_onseeked(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onseeked(This,p);
}
static inline HRESULT IHTMLDocument7_put_onseeking(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onseeking(This,v);
}
static inline HRESULT IHTMLDocument7_get_onseeking(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onseeking(This,p);
}
static inline HRESULT IHTMLDocument7_put_onselect(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static inline HRESULT IHTMLDocument7_get_onselect(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static inline HRESULT IHTMLDocument7_put_onstalled(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onstalled(This,v);
}
static inline HRESULT IHTMLDocument7_get_onstalled(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onstalled(This,p);
}
static inline HRESULT IHTMLDocument7_put_onsubmit(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onsubmit(This,v);
}
static inline HRESULT IHTMLDocument7_get_onsubmit(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onsubmit(This,p);
}
static inline HRESULT IHTMLDocument7_put_onsuspend(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onsuspend(This,v);
}
static inline HRESULT IHTMLDocument7_get_onsuspend(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onsuspend(This,p);
}
static inline HRESULT IHTMLDocument7_put_ontimeupdate(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ontimeupdate(This,v);
}
static inline HRESULT IHTMLDocument7_get_ontimeupdate(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ontimeupdate(This,p);
}
static inline HRESULT IHTMLDocument7_put_onvolumechange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onvolumechange(This,v);
}
static inline HRESULT IHTMLDocument7_get_onvolumechange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onvolumechange(This,p);
}
static inline HRESULT IHTMLDocument7_put_onwaiting(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onwaiting(This,v);
}
static inline HRESULT IHTMLDocument7_get_onwaiting(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onwaiting(This,p);
}
static inline HRESULT IHTMLDocument7_normalize(IHTMLDocument7* This) {
    return This->lpVtbl->normalize(This);
}
static inline HRESULT IHTMLDocument7_importNode(IHTMLDocument7* This,IHTMLDOMNode *pNodeSource,VARIANT_BOOL fDeep,IHTMLDOMNode3 **ppNodeDest) {
    return This->lpVtbl->importNode(This,pNodeSource,fDeep,ppNodeDest);
}
static inline HRESULT IHTMLDocument7_get_parentWindow(IHTMLDocument7* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_parentWindow(This,p);
}
static inline HRESULT IHTMLDocument7_putref_body(IHTMLDocument7* This,IHTMLElement *v) {
    return This->lpVtbl->putref_body(This,v);
}
static inline HRESULT IHTMLDocument7_get_body(IHTMLDocument7* This,IHTMLElement **p) {
    return This->lpVtbl->get_body(This,p);
}
static inline HRESULT IHTMLDocument7_get_head(IHTMLDocument7* This,IHTMLElement **p) {
    return This->lpVtbl->get_head(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument7_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDocument8 interface
 */
#ifndef __IHTMLDocument8_INTERFACE_DEFINED__
#define __IHTMLDocument8_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDocument8, 0x305107d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107d0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDocument8 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onmscontentzoom(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmscontentzoom(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerdown(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerdown(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointermove(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointermove(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerup(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerup(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointercancel(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointercancel(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmspointerhover(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmspointerhover(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturestart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturestart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgestureend(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgestureend(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturehold(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturehold(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturetap(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturetap(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsgesturedoubletap(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsgesturedoubletap(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsinertiastart(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsinertiastart(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE elementsFromPoint(
        float x,
        float y,
        IHTMLDOMChildrenCollection **elementsHit) = 0;

    virtual HRESULT STDMETHODCALLTYPE elementsFromRect(
        float left,
        float top,
        float width,
        float height,
        IHTMLDOMChildrenCollection **elementsHit) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmsmanipulationstatechanged(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmsmanipulationstatechanged(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msCapsLockWarningOff(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msCapsLockWarningOff(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDocument8, 0x305107d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDocument8Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDocument8 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDocument8 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDocument8 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDocument8 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDocument8 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDocument8 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDocument8 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDocument8 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onmscontentzoom)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmscontentzoom)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerdown)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerdown)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointermove)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointermove)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerup)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerup)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerover)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerover)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerout)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerout)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointercancel)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointercancel)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmspointerhover)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmspointerhover)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturestart)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturestart)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturechange)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturechange)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgestureend)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgestureend)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturehold)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturehold)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturetap)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturetap)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsgesturedoubletap)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsgesturedoubletap)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmsinertiastart)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsinertiastart)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *elementsFromPoint)(
        IHTMLDocument8 *This,
        float x,
        float y,
        IHTMLDOMChildrenCollection **elementsHit);

    HRESULT (STDMETHODCALLTYPE *elementsFromRect)(
        IHTMLDocument8 *This,
        float left,
        float top,
        float width,
        float height,
        IHTMLDOMChildrenCollection **elementsHit);

    HRESULT (STDMETHODCALLTYPE *put_onmsmanipulationstatechanged)(
        IHTMLDocument8 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmsmanipulationstatechanged)(
        IHTMLDocument8 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_msCapsLockWarningOff)(
        IHTMLDocument8 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_msCapsLockWarningOff)(
        IHTMLDocument8 *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLDocument8Vtbl;

interface IHTMLDocument8 {
    CONST_VTBL IHTMLDocument8Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDocument8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDocument8_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDocument8_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDocument8_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDocument8_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDocument8_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDocument8_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDocument8 methods ***/
#define IHTMLDocument8_put_onmscontentzoom(This,v) (This)->lpVtbl->put_onmscontentzoom(This,v)
#define IHTMLDocument8_get_onmscontentzoom(This,p) (This)->lpVtbl->get_onmscontentzoom(This,p)
#define IHTMLDocument8_put_onmspointerdown(This,v) (This)->lpVtbl->put_onmspointerdown(This,v)
#define IHTMLDocument8_get_onmspointerdown(This,p) (This)->lpVtbl->get_onmspointerdown(This,p)
#define IHTMLDocument8_put_onmspointermove(This,v) (This)->lpVtbl->put_onmspointermove(This,v)
#define IHTMLDocument8_get_onmspointermove(This,p) (This)->lpVtbl->get_onmspointermove(This,p)
#define IHTMLDocument8_put_onmspointerup(This,v) (This)->lpVtbl->put_onmspointerup(This,v)
#define IHTMLDocument8_get_onmspointerup(This,p) (This)->lpVtbl->get_onmspointerup(This,p)
#define IHTMLDocument8_put_onmspointerover(This,v) (This)->lpVtbl->put_onmspointerover(This,v)
#define IHTMLDocument8_get_onmspointerover(This,p) (This)->lpVtbl->get_onmspointerover(This,p)
#define IHTMLDocument8_put_onmspointerout(This,v) (This)->lpVtbl->put_onmspointerout(This,v)
#define IHTMLDocument8_get_onmspointerout(This,p) (This)->lpVtbl->get_onmspointerout(This,p)
#define IHTMLDocument8_put_onmspointercancel(This,v) (This)->lpVtbl->put_onmspointercancel(This,v)
#define IHTMLDocument8_get_onmspointercancel(This,p) (This)->lpVtbl->get_onmspointercancel(This,p)
#define IHTMLDocument8_put_onmspointerhover(This,v) (This)->lpVtbl->put_onmspointerhover(This,v)
#define IHTMLDocument8_get_onmspointerhover(This,p) (This)->lpVtbl->get_onmspointerhover(This,p)
#define IHTMLDocument8_put_onmsgesturestart(This,v) (This)->lpVtbl->put_onmsgesturestart(This,v)
#define IHTMLDocument8_get_onmsgesturestart(This,p) (This)->lpVtbl->get_onmsgesturestart(This,p)
#define IHTMLDocument8_put_onmsgesturechange(This,v) (This)->lpVtbl->put_onmsgesturechange(This,v)
#define IHTMLDocument8_get_onmsgesturechange(This,p) (This)->lpVtbl->get_onmsgesturechange(This,p)
#define IHTMLDocument8_put_onmsgestureend(This,v) (This)->lpVtbl->put_onmsgestureend(This,v)
#define IHTMLDocument8_get_onmsgestureend(This,p) (This)->lpVtbl->get_onmsgestureend(This,p)
#define IHTMLDocument8_put_onmsgesturehold(This,v) (This)->lpVtbl->put_onmsgesturehold(This,v)
#define IHTMLDocument8_get_onmsgesturehold(This,p) (This)->lpVtbl->get_onmsgesturehold(This,p)
#define IHTMLDocument8_put_onmsgesturetap(This,v) (This)->lpVtbl->put_onmsgesturetap(This,v)
#define IHTMLDocument8_get_onmsgesturetap(This,p) (This)->lpVtbl->get_onmsgesturetap(This,p)
#define IHTMLDocument8_put_onmsgesturedoubletap(This,v) (This)->lpVtbl->put_onmsgesturedoubletap(This,v)
#define IHTMLDocument8_get_onmsgesturedoubletap(This,p) (This)->lpVtbl->get_onmsgesturedoubletap(This,p)
#define IHTMLDocument8_put_onmsinertiastart(This,v) (This)->lpVtbl->put_onmsinertiastart(This,v)
#define IHTMLDocument8_get_onmsinertiastart(This,p) (This)->lpVtbl->get_onmsinertiastart(This,p)
#define IHTMLDocument8_elementsFromPoint(This,x,y,elementsHit) (This)->lpVtbl->elementsFromPoint(This,x,y,elementsHit)
#define IHTMLDocument8_elementsFromRect(This,left,top,width,height,elementsHit) (This)->lpVtbl->elementsFromRect(This,left,top,width,height,elementsHit)
#define IHTMLDocument8_put_onmsmanipulationstatechanged(This,v) (This)->lpVtbl->put_onmsmanipulationstatechanged(This,v)
#define IHTMLDocument8_get_onmsmanipulationstatechanged(This,p) (This)->lpVtbl->get_onmsmanipulationstatechanged(This,p)
#define IHTMLDocument8_put_msCapsLockWarningOff(This,v) (This)->lpVtbl->put_msCapsLockWarningOff(This,v)
#define IHTMLDocument8_get_msCapsLockWarningOff(This,p) (This)->lpVtbl->get_msCapsLockWarningOff(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDocument8_QueryInterface(IHTMLDocument8* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDocument8_AddRef(IHTMLDocument8* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDocument8_Release(IHTMLDocument8* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDocument8_GetTypeInfoCount(IHTMLDocument8* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDocument8_GetTypeInfo(IHTMLDocument8* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDocument8_GetIDsOfNames(IHTMLDocument8* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDocument8_Invoke(IHTMLDocument8* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDocument8 methods ***/
static inline HRESULT IHTMLDocument8_put_onmscontentzoom(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmscontentzoom(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmscontentzoom(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmscontentzoom(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmspointerdown(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerdown(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmspointerdown(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerdown(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmspointermove(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointermove(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmspointermove(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointermove(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmspointerup(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerup(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmspointerup(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerup(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmspointerover(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerover(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmspointerover(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerover(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmspointerout(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerout(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmspointerout(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerout(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmspointercancel(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointercancel(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmspointercancel(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointercancel(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmspointerhover(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerhover(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmspointerhover(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerhover(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmsgesturestart(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturestart(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsgesturestart(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturestart(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmsgesturechange(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturechange(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsgesturechange(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturechange(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmsgestureend(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgestureend(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsgestureend(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgestureend(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmsgesturehold(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturehold(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsgesturehold(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturehold(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmsgesturetap(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturetap(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsgesturetap(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturetap(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmsgesturedoubletap(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturedoubletap(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsgesturedoubletap(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturedoubletap(This,p);
}
static inline HRESULT IHTMLDocument8_put_onmsinertiastart(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsinertiastart(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsinertiastart(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsinertiastart(This,p);
}
static inline HRESULT IHTMLDocument8_elementsFromPoint(IHTMLDocument8* This,float x,float y,IHTMLDOMChildrenCollection **elementsHit) {
    return This->lpVtbl->elementsFromPoint(This,x,y,elementsHit);
}
static inline HRESULT IHTMLDocument8_elementsFromRect(IHTMLDocument8* This,float left,float top,float width,float height,IHTMLDOMChildrenCollection **elementsHit) {
    return This->lpVtbl->elementsFromRect(This,left,top,width,height,elementsHit);
}
static inline HRESULT IHTMLDocument8_put_onmsmanipulationstatechanged(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsmanipulationstatechanged(This,v);
}
static inline HRESULT IHTMLDocument8_get_onmsmanipulationstatechanged(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsmanipulationstatechanged(This,p);
}
static inline HRESULT IHTMLDocument8_put_msCapsLockWarningOff(IHTMLDocument8* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_msCapsLockWarningOff(This,v);
}
static inline HRESULT IHTMLDocument8_get_msCapsLockWarningOff(IHTMLDocument8* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_msCapsLockWarningOff(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocument8_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDocumentEvent interface
 */
#ifndef __IDocumentEvent_INTERFACE_DEFINED__
#define __IDocumentEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDocumentEvent, 0x305104bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104bc-98b5-11cf-bb82-00aa00bdce0b")
IDocumentEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createEvent(
        BSTR eventType,
        IDOMEvent **ppEvent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDocumentEvent, 0x305104bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDocumentEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDocumentEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDocumentEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDocumentEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDocumentEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDocumentEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDocumentEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDocumentEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDocumentEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *createEvent)(
        IDocumentEvent *This,
        BSTR eventType,
        IDOMEvent **ppEvent);

    END_INTERFACE
} IDocumentEventVtbl;

interface IDocumentEvent {
    CONST_VTBL IDocumentEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDocumentEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDocumentEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDocumentEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDocumentEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDocumentEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDocumentEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDocumentEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDocumentEvent methods ***/
#define IDocumentEvent_createEvent(This,eventType,ppEvent) (This)->lpVtbl->createEvent(This,eventType,ppEvent)
#else
/*** IUnknown methods ***/
static inline HRESULT IDocumentEvent_QueryInterface(IDocumentEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDocumentEvent_AddRef(IDocumentEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDocumentEvent_Release(IDocumentEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDocumentEvent_GetTypeInfoCount(IDocumentEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDocumentEvent_GetTypeInfo(IDocumentEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDocumentEvent_GetIDsOfNames(IDocumentEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDocumentEvent_Invoke(IDocumentEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDocumentEvent methods ***/
static inline HRESULT IDocumentEvent_createEvent(IDocumentEvent* This,BSTR eventType,IDOMEvent **ppEvent) {
    return This->lpVtbl->createEvent(This,eventType,ppEvent);
}
#endif
#endif

#endif


#endif  /* __IDocumentEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDocumentRange interface
 */
#ifndef __IDocumentRange_INTERFACE_DEFINED__
#define __IDocumentRange_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDocumentRange, 0x305104af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104af-98b5-11cf-bb82-00aa00bdce0b")
IDocumentRange : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createRange(
        IHTMLDOMRange **ppIHTMLDOMRange) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDocumentRange, 0x305104af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDocumentRangeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDocumentRange *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDocumentRange *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDocumentRange *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDocumentRange *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDocumentRange *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDocumentRange *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDocumentRange *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDocumentRange methods ***/
    HRESULT (STDMETHODCALLTYPE *createRange)(
        IDocumentRange *This,
        IHTMLDOMRange **ppIHTMLDOMRange);

    END_INTERFACE
} IDocumentRangeVtbl;

interface IDocumentRange {
    CONST_VTBL IDocumentRangeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDocumentRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDocumentRange_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDocumentRange_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDocumentRange_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDocumentRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDocumentRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDocumentRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDocumentRange methods ***/
#define IDocumentRange_createRange(This,ppIHTMLDOMRange) (This)->lpVtbl->createRange(This,ppIHTMLDOMRange)
#else
/*** IUnknown methods ***/
static inline HRESULT IDocumentRange_QueryInterface(IDocumentRange* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDocumentRange_AddRef(IDocumentRange* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDocumentRange_Release(IDocumentRange* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDocumentRange_GetTypeInfoCount(IDocumentRange* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDocumentRange_GetTypeInfo(IDocumentRange* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDocumentRange_GetIDsOfNames(IDocumentRange* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDocumentRange_Invoke(IDocumentRange* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDocumentRange methods ***/
static inline HRESULT IDocumentRange_createRange(IDocumentRange* This,IHTMLDOMRange **ppIHTMLDOMRange) {
    return This->lpVtbl->createRange(This,ppIHTMLDOMRange);
}
#endif
#endif

#endif


#endif  /* __IDocumentRange_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDocumentSelector interface
 */
#ifndef __IDocumentSelector_INTERFACE_DEFINED__
#define __IDocumentSelector_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDocumentSelector, 0x30510462, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510462-98b5-11cf-bb82-00aa00bdce0b")
IDocumentSelector : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE querySelector(
        BSTR v,
        IHTMLElement **pel) = 0;

    virtual HRESULT STDMETHODCALLTYPE querySelectorAll(
        BSTR v,
        IHTMLDOMChildrenCollection **pel) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDocumentSelector, 0x30510462, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDocumentSelectorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDocumentSelector *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDocumentSelector *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDocumentSelector *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDocumentSelector *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDocumentSelector *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDocumentSelector *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDocumentSelector *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDocumentSelector methods ***/
    HRESULT (STDMETHODCALLTYPE *querySelector)(
        IDocumentSelector *This,
        BSTR v,
        IHTMLElement **pel);

    HRESULT (STDMETHODCALLTYPE *querySelectorAll)(
        IDocumentSelector *This,
        BSTR v,
        IHTMLDOMChildrenCollection **pel);

    END_INTERFACE
} IDocumentSelectorVtbl;

interface IDocumentSelector {
    CONST_VTBL IDocumentSelectorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDocumentSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDocumentSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDocumentSelector_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDocumentSelector_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDocumentSelector_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDocumentSelector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDocumentSelector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDocumentSelector methods ***/
#define IDocumentSelector_querySelector(This,v,pel) (This)->lpVtbl->querySelector(This,v,pel)
#define IDocumentSelector_querySelectorAll(This,v,pel) (This)->lpVtbl->querySelectorAll(This,v,pel)
#else
/*** IUnknown methods ***/
static inline HRESULT IDocumentSelector_QueryInterface(IDocumentSelector* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDocumentSelector_AddRef(IDocumentSelector* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDocumentSelector_Release(IDocumentSelector* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDocumentSelector_GetTypeInfoCount(IDocumentSelector* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDocumentSelector_GetTypeInfo(IDocumentSelector* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDocumentSelector_GetIDsOfNames(IDocumentSelector* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDocumentSelector_Invoke(IDocumentSelector* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDocumentSelector methods ***/
static inline HRESULT IDocumentSelector_querySelector(IDocumentSelector* This,BSTR v,IHTMLElement **pel) {
    return This->lpVtbl->querySelector(This,v,pel);
}
static inline HRESULT IDocumentSelector_querySelectorAll(IDocumentSelector* This,BSTR v,IHTMLDOMChildrenCollection **pel) {
    return This->lpVtbl->querySelectorAll(This,v,pel);
}
#endif
#endif

#endif


#endif  /* __IDocumentSelector_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDocumentTraversal interface
 */
#ifndef __IDocumentTraversal_INTERFACE_DEFINED__
#define __IDocumentTraversal_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDocumentTraversal, 0x30510744, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510744-98b5-11cf-bb82-00aa00bdce0b")
IDocumentTraversal : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE createNodeIterator(
        IDispatch *pRootNode,
        LONG ulWhatToShow,
        VARIANT *pFilter,
        VARIANT_BOOL fEntityReferenceExpansion,
        IDOMNodeIterator **ppNodeIterator) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTreeWalker(
        IDispatch *pRootNode,
        LONG ulWhatToShow,
        VARIANT *pFilter,
        VARIANT_BOOL fEntityReferenceExpansion,
        IDOMTreeWalker **ppTreeWalker) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDocumentTraversal, 0x30510744, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDocumentTraversalVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDocumentTraversal *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDocumentTraversal *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDocumentTraversal *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDocumentTraversal *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDocumentTraversal *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDocumentTraversal *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDocumentTraversal *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDocumentTraversal methods ***/
    HRESULT (STDMETHODCALLTYPE *createNodeIterator)(
        IDocumentTraversal *This,
        IDispatch *pRootNode,
        LONG ulWhatToShow,
        VARIANT *pFilter,
        VARIANT_BOOL fEntityReferenceExpansion,
        IDOMNodeIterator **ppNodeIterator);

    HRESULT (STDMETHODCALLTYPE *createTreeWalker)(
        IDocumentTraversal *This,
        IDispatch *pRootNode,
        LONG ulWhatToShow,
        VARIANT *pFilter,
        VARIANT_BOOL fEntityReferenceExpansion,
        IDOMTreeWalker **ppTreeWalker);

    END_INTERFACE
} IDocumentTraversalVtbl;

interface IDocumentTraversal {
    CONST_VTBL IDocumentTraversalVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDocumentTraversal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDocumentTraversal_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDocumentTraversal_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDocumentTraversal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDocumentTraversal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDocumentTraversal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDocumentTraversal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDocumentTraversal methods ***/
#define IDocumentTraversal_createNodeIterator(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppNodeIterator) (This)->lpVtbl->createNodeIterator(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppNodeIterator)
#define IDocumentTraversal_createTreeWalker(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppTreeWalker) (This)->lpVtbl->createTreeWalker(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppTreeWalker)
#else
/*** IUnknown methods ***/
static inline HRESULT IDocumentTraversal_QueryInterface(IDocumentTraversal* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDocumentTraversal_AddRef(IDocumentTraversal* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDocumentTraversal_Release(IDocumentTraversal* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDocumentTraversal_GetTypeInfoCount(IDocumentTraversal* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDocumentTraversal_GetTypeInfo(IDocumentTraversal* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDocumentTraversal_GetIDsOfNames(IDocumentTraversal* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDocumentTraversal_Invoke(IDocumentTraversal* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDocumentTraversal methods ***/
static inline HRESULT IDocumentTraversal_createNodeIterator(IDocumentTraversal* This,IDispatch *pRootNode,LONG ulWhatToShow,VARIANT *pFilter,VARIANT_BOOL fEntityReferenceExpansion,IDOMNodeIterator **ppNodeIterator) {
    return This->lpVtbl->createNodeIterator(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppNodeIterator);
}
static inline HRESULT IDocumentTraversal_createTreeWalker(IDocumentTraversal* This,IDispatch *pRootNode,LONG ulWhatToShow,VARIANT *pFilter,VARIANT_BOOL fEntityReferenceExpansion,IDOMTreeWalker **ppTreeWalker) {
    return This->lpVtbl->createTreeWalker(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppTreeWalker);
}
#endif
#endif

#endif


#endif  /* __IDocumentTraversal_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDocument dispinterface
 */
#ifndef __DispHTMLDocument_DISPINTERFACE_DEFINED__
#define __DispHTMLDocument_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDocument, 0x3050f55f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f55f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDocument : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDocument, 0x3050f55f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDocumentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLDocument *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLDocument *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLDocument *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDocument *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDocument *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDocument *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDocument *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDocumentVtbl;

interface DispHTMLDocument {
    CONST_VTBL DispHTMLDocumentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDocument_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDocument_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDocument_QueryInterface(DispHTMLDocument* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDocument_AddRef(DispHTMLDocument* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDocument_Release(DispHTMLDocument* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDocument_GetTypeInfoCount(DispHTMLDocument* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDocument_GetTypeInfo(DispHTMLDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDocument_GetIDsOfNames(DispHTMLDocument* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDocument_Invoke(DispHTMLDocument* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDocument_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDocument coclass
 */

DEFINE_GUID(CLSID_HTMLDocument, 0x25336920, 0x03f9, 0x11cf, 0x8f,0xd0, 0x00,0xaa,0x00,0x68,0x6f,0x13);

#ifdef __cplusplus
class DECLSPEC_UUID("25336920-03f9-11cf-8fd0-00aa00686f13") HTMLDocument;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDocument, 0x25336920, 0x03f9, 0x11cf, 0x8f,0xd0, 0x00,0xaa,0x00,0x68,0x6f,0x13)
#endif
#endif

EXTERN_C const GUID CLSID_CDocument;
/*****************************************************************************
 * DWebBridgeEvents dispinterface
 */
#ifndef __DWebBridgeEvents_DISPINTERFACE_DEFINED__
#define __DWebBridgeEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DWebBridgeEvents, 0xa6d897ff, 0x0a95, 0x11d1, 0xb0,0xba, 0x00,0x60,0x08,0x16,0x6e,0x11);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a6d897ff-0a95-11d1-b0ba-006008166e11")
DWebBridgeEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DWebBridgeEvents, 0xa6d897ff, 0x0a95, 0x11d1, 0xb0,0xba, 0x00,0x60,0x08,0x16,0x6e,0x11)
#endif
#else
typedef struct DWebBridgeEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DWebBridgeEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DWebBridgeEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DWebBridgeEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DWebBridgeEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DWebBridgeEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DWebBridgeEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DWebBridgeEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DWebBridgeEventsVtbl;

interface DWebBridgeEvents {
    CONST_VTBL DWebBridgeEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DWebBridgeEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DWebBridgeEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DWebBridgeEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DWebBridgeEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DWebBridgeEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DWebBridgeEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DWebBridgeEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DWebBridgeEvents_QueryInterface(DWebBridgeEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DWebBridgeEvents_AddRef(DWebBridgeEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DWebBridgeEvents_Release(DWebBridgeEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DWebBridgeEvents_GetTypeInfoCount(DWebBridgeEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DWebBridgeEvents_GetTypeInfo(DWebBridgeEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DWebBridgeEvents_GetIDsOfNames(DWebBridgeEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DWebBridgeEvents_Invoke(DWebBridgeEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DWebBridgeEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IWebBridge interface
 */
#ifndef __IWebBridge_INTERFACE_DEFINED__
#define __IWebBridge_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebBridge, 0xae24fdad, 0x03c6, 0x11d1, 0x8b,0x76, 0x00,0x80,0xc7,0x44,0xf3,0x89);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ae24fdad-03c6-11d1-8b76-0080c744f389")
IWebBridge : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_URL(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_URL(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Scrollbar(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Scrollbar(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_embed(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_embed(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_event(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE AboutBox(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebBridge, 0xae24fdad, 0x03c6, 0x11d1, 0x8b,0x76, 0x00,0x80,0xc7,0x44,0xf3,0x89)
#endif
#else
typedef struct IWebBridgeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWebBridge *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWebBridge *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWebBridge *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IWebBridge *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IWebBridge *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IWebBridge *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IWebBridge *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IWebBridge methods ***/
    HRESULT (STDMETHODCALLTYPE *put_URL)(
        IWebBridge *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_URL)(
        IWebBridge *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_Scrollbar)(
        IWebBridge *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_Scrollbar)(
        IWebBridge *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_embed)(
        IWebBridge *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_embed)(
        IWebBridge *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_event)(
        IWebBridge *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IWebBridge *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *AboutBox)(
        IWebBridge *This);

    END_INTERFACE
} IWebBridgeVtbl;

interface IWebBridge {
    CONST_VTBL IWebBridgeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebBridge_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebBridge_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebBridge_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IWebBridge_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IWebBridge_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWebBridge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWebBridge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IWebBridge methods ***/
#define IWebBridge_put_URL(This,v) (This)->lpVtbl->put_URL(This,v)
#define IWebBridge_get_URL(This,p) (This)->lpVtbl->get_URL(This,p)
#define IWebBridge_put_Scrollbar(This,v) (This)->lpVtbl->put_Scrollbar(This,v)
#define IWebBridge_get_Scrollbar(This,p) (This)->lpVtbl->get_Scrollbar(This,p)
#define IWebBridge_put_embed(This,v) (This)->lpVtbl->put_embed(This,v)
#define IWebBridge_get_embed(This,p) (This)->lpVtbl->get_embed(This,p)
#define IWebBridge_get_event(This,p) (This)->lpVtbl->get_event(This,p)
#define IWebBridge_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IWebBridge_AboutBox(This) (This)->lpVtbl->AboutBox(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IWebBridge_QueryInterface(IWebBridge* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IWebBridge_AddRef(IWebBridge* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IWebBridge_Release(IWebBridge* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IWebBridge_GetTypeInfoCount(IWebBridge* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IWebBridge_GetTypeInfo(IWebBridge* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IWebBridge_GetIDsOfNames(IWebBridge* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IWebBridge_Invoke(IWebBridge* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IWebBridge methods ***/
static inline HRESULT IWebBridge_put_URL(IWebBridge* This,BSTR v) {
    return This->lpVtbl->put_URL(This,v);
}
static inline HRESULT IWebBridge_get_URL(IWebBridge* This,BSTR *p) {
    return This->lpVtbl->get_URL(This,p);
}
static inline HRESULT IWebBridge_put_Scrollbar(IWebBridge* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_Scrollbar(This,v);
}
static inline HRESULT IWebBridge_get_Scrollbar(IWebBridge* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_Scrollbar(This,p);
}
static inline HRESULT IWebBridge_put_embed(IWebBridge* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_embed(This,v);
}
static inline HRESULT IWebBridge_get_embed(IWebBridge* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_embed(This,p);
}
static inline HRESULT IWebBridge_get_event(IWebBridge* This,IDispatch **p) {
    return This->lpVtbl->get_event(This,p);
}
static inline HRESULT IWebBridge_get_readyState(IWebBridge* This,LONG *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IWebBridge_AboutBox(IWebBridge* This) {
    return This->lpVtbl->AboutBox(This);
}
#endif
#endif

#endif


#endif  /* __IWebBridge_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWBScriptControl interface
 */
#ifndef __IWBScriptControl_INTERFACE_DEFINED__
#define __IWBScriptControl_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWBScriptControl, 0xa5170870, 0x0cf8, 0x11d1, 0x8b,0x91, 0x00,0x80,0xc7,0x44,0xf3,0x89);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a5170870-0cf8-11d1-8b91-0080c744f389")
IWBScriptControl : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE raiseEvent(
        BSTR name,
        VARIANT eventData) = 0;

    virtual HRESULT STDMETHODCALLTYPE bubbleEvent(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE setContextMenu(
        VARIANT menuItemPairs) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_selectableContent(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectableContent(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frozen(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollbar(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollbar(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_version(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_visibility(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onvisibilitychange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onvisibilitychange(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWBScriptControl, 0xa5170870, 0x0cf8, 0x11d1, 0x8b,0x91, 0x00,0x80,0xc7,0x44,0xf3,0x89)
#endif
#else
typedef struct IWBScriptControlVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWBScriptControl *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWBScriptControl *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWBScriptControl *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IWBScriptControl *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IWBScriptControl *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IWBScriptControl *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IWBScriptControl *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IWBScriptControl methods ***/
    HRESULT (STDMETHODCALLTYPE *raiseEvent)(
        IWBScriptControl *This,
        BSTR name,
        VARIANT eventData);

    HRESULT (STDMETHODCALLTYPE *bubbleEvent)(
        IWBScriptControl *This);

    HRESULT (STDMETHODCALLTYPE *setContextMenu)(
        IWBScriptControl *This,
        VARIANT menuItemPairs);

    HRESULT (STDMETHODCALLTYPE *put_selectableContent)(
        IWBScriptControl *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selectableContent)(
        IWBScriptControl *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_frozen)(
        IWBScriptControl *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollbar)(
        IWBScriptControl *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_scrollbar)(
        IWBScriptControl *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_version)(
        IWBScriptControl *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_visibility)(
        IWBScriptControl *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_onvisibilitychange)(
        IWBScriptControl *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onvisibilitychange)(
        IWBScriptControl *This,
        VARIANT *p);

    END_INTERFACE
} IWBScriptControlVtbl;

interface IWBScriptControl {
    CONST_VTBL IWBScriptControlVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWBScriptControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWBScriptControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWBScriptControl_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IWBScriptControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IWBScriptControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWBScriptControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWBScriptControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IWBScriptControl methods ***/
#define IWBScriptControl_raiseEvent(This,name,eventData) (This)->lpVtbl->raiseEvent(This,name,eventData)
#define IWBScriptControl_bubbleEvent(This) (This)->lpVtbl->bubbleEvent(This)
#define IWBScriptControl_setContextMenu(This,menuItemPairs) (This)->lpVtbl->setContextMenu(This,menuItemPairs)
#define IWBScriptControl_put_selectableContent(This,v) (This)->lpVtbl->put_selectableContent(This,v)
#define IWBScriptControl_get_selectableContent(This,p) (This)->lpVtbl->get_selectableContent(This,p)
#define IWBScriptControl_get_frozen(This,p) (This)->lpVtbl->get_frozen(This,p)
#define IWBScriptControl_put_scrollbar(This,v) (This)->lpVtbl->put_scrollbar(This,v)
#define IWBScriptControl_get_scrollbar(This,p) (This)->lpVtbl->get_scrollbar(This,p)
#define IWBScriptControl_get_version(This,p) (This)->lpVtbl->get_version(This,p)
#define IWBScriptControl_get_visibility(This,p) (This)->lpVtbl->get_visibility(This,p)
#define IWBScriptControl_put_onvisibilitychange(This,v) (This)->lpVtbl->put_onvisibilitychange(This,v)
#define IWBScriptControl_get_onvisibilitychange(This,p) (This)->lpVtbl->get_onvisibilitychange(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IWBScriptControl_QueryInterface(IWBScriptControl* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IWBScriptControl_AddRef(IWBScriptControl* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IWBScriptControl_Release(IWBScriptControl* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IWBScriptControl_GetTypeInfoCount(IWBScriptControl* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IWBScriptControl_GetTypeInfo(IWBScriptControl* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IWBScriptControl_GetIDsOfNames(IWBScriptControl* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IWBScriptControl_Invoke(IWBScriptControl* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IWBScriptControl methods ***/
static inline HRESULT IWBScriptControl_raiseEvent(IWBScriptControl* This,BSTR name,VARIANT eventData) {
    return This->lpVtbl->raiseEvent(This,name,eventData);
}
static inline HRESULT IWBScriptControl_bubbleEvent(IWBScriptControl* This) {
    return This->lpVtbl->bubbleEvent(This);
}
static inline HRESULT IWBScriptControl_setContextMenu(IWBScriptControl* This,VARIANT menuItemPairs) {
    return This->lpVtbl->setContextMenu(This,menuItemPairs);
}
static inline HRESULT IWBScriptControl_put_selectableContent(IWBScriptControl* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selectableContent(This,v);
}
static inline HRESULT IWBScriptControl_get_selectableContent(IWBScriptControl* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selectableContent(This,p);
}
static inline HRESULT IWBScriptControl_get_frozen(IWBScriptControl* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frozen(This,p);
}
static inline HRESULT IWBScriptControl_put_scrollbar(IWBScriptControl* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_scrollbar(This,v);
}
static inline HRESULT IWBScriptControl_get_scrollbar(IWBScriptControl* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_scrollbar(This,p);
}
static inline HRESULT IWBScriptControl_get_version(IWBScriptControl* This,BSTR *p) {
    return This->lpVtbl->get_version(This,p);
}
static inline HRESULT IWBScriptControl_get_visibility(IWBScriptControl* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static inline HRESULT IWBScriptControl_put_onvisibilitychange(IWBScriptControl* This,VARIANT v) {
    return This->lpVtbl->put_onvisibilitychange(This,v);
}
static inline HRESULT IWBScriptControl_get_onvisibilitychange(IWBScriptControl* This,VARIANT *p) {
    return This->lpVtbl->get_onvisibilitychange(This,p);
}
#endif
#endif

#endif


#endif  /* __IWBScriptControl_INTERFACE_DEFINED__ */

/*****************************************************************************
 * Scriptlet coclass
 */

DEFINE_GUID(CLSID_Scriptlet, 0xae24fdae, 0x03c6, 0x11d1, 0x8b,0x76, 0x00,0x80,0xc7,0x44,0xf3,0x89);

#ifdef __cplusplus
class DECLSPEC_UUID("ae24fdae-03c6-11d1-8b76-0080c744f389") Scriptlet;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(Scriptlet, 0xae24fdae, 0x03c6, 0x11d1, 0x8b,0x76, 0x00,0x80,0xc7,0x44,0xf3,0x89)
#endif
#endif

EXTERN_C const GUID CLSID_CScriptlet;
typedef enum _BoolValue {
    True = 1,
    False = 0,
    BoolValue_Max = 0x7fffffff
} BoolValue;
/*****************************************************************************
 * IHTMLEmbedElement interface
 */
#ifndef __IHTMLEmbedElement_INTERFACE_DEFINED__
#define __IHTMLEmbedElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEmbedElement, 0x3050f25f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f25f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEmbedElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_hidden(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hidden(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_palette(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pluginspage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_units(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_units(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEmbedElement, 0x3050f25f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEmbedElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEmbedElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEmbedElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEmbedElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEmbedElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEmbedElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEmbedElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEmbedElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEmbedElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_hidden)(
        IHTMLEmbedElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hidden)(
        IHTMLEmbedElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_palette)(
        IHTMLEmbedElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_pluginspage)(
        IHTMLEmbedElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLEmbedElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLEmbedElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_units)(
        IHTMLEmbedElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_units)(
        IHTMLEmbedElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLEmbedElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLEmbedElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLEmbedElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLEmbedElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLEmbedElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLEmbedElement *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLEmbedElementVtbl;

interface IHTMLEmbedElement {
    CONST_VTBL IHTMLEmbedElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEmbedElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEmbedElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEmbedElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEmbedElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEmbedElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEmbedElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEmbedElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEmbedElement methods ***/
#define IHTMLEmbedElement_put_hidden(This,v) (This)->lpVtbl->put_hidden(This,v)
#define IHTMLEmbedElement_get_hidden(This,p) (This)->lpVtbl->get_hidden(This,p)
#define IHTMLEmbedElement_get_palette(This,p) (This)->lpVtbl->get_palette(This,p)
#define IHTMLEmbedElement_get_pluginspage(This,p) (This)->lpVtbl->get_pluginspage(This,p)
#define IHTMLEmbedElement_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLEmbedElement_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLEmbedElement_put_units(This,v) (This)->lpVtbl->put_units(This,v)
#define IHTMLEmbedElement_get_units(This,p) (This)->lpVtbl->get_units(This,p)
#define IHTMLEmbedElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLEmbedElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLEmbedElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLEmbedElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLEmbedElement_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLEmbedElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEmbedElement_QueryInterface(IHTMLEmbedElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEmbedElement_AddRef(IHTMLEmbedElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEmbedElement_Release(IHTMLEmbedElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEmbedElement_GetTypeInfoCount(IHTMLEmbedElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEmbedElement_GetTypeInfo(IHTMLEmbedElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEmbedElement_GetIDsOfNames(IHTMLEmbedElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEmbedElement_Invoke(IHTMLEmbedElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEmbedElement methods ***/
static inline HRESULT IHTMLEmbedElement_put_hidden(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_hidden(This,v);
}
static inline HRESULT IHTMLEmbedElement_get_hidden(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_hidden(This,p);
}
static inline HRESULT IHTMLEmbedElement_get_palette(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_palette(This,p);
}
static inline HRESULT IHTMLEmbedElement_get_pluginspage(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_pluginspage(This,p);
}
static inline HRESULT IHTMLEmbedElement_put_src(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLEmbedElement_get_src(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLEmbedElement_put_units(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_units(This,v);
}
static inline HRESULT IHTMLEmbedElement_get_units(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_units(This,p);
}
static inline HRESULT IHTMLEmbedElement_put_name(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLEmbedElement_get_name(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLEmbedElement_put_width(IHTMLEmbedElement* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLEmbedElement_get_width(IHTMLEmbedElement* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLEmbedElement_put_height(IHTMLEmbedElement* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLEmbedElement_get_height(IHTMLEmbedElement* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEmbedElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEmbedElement2 interface
 */
#ifndef __IHTMLEmbedElement2_INTERFACE_DEFINED__
#define __IHTMLEmbedElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEmbedElement2, 0x30510493, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510493-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEmbedElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pluginspage(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEmbedElement2, 0x30510493, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEmbedElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEmbedElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEmbedElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEmbedElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLEmbedElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLEmbedElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLEmbedElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLEmbedElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLEmbedElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLEmbedElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLEmbedElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_pluginspage)(
        IHTMLEmbedElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLEmbedElement2Vtbl;

interface IHTMLEmbedElement2 {
    CONST_VTBL IHTMLEmbedElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEmbedElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEmbedElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEmbedElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLEmbedElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLEmbedElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLEmbedElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLEmbedElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLEmbedElement2 methods ***/
#define IHTMLEmbedElement2_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLEmbedElement2_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLEmbedElement2_get_pluginspage(This,p) (This)->lpVtbl->get_pluginspage(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEmbedElement2_QueryInterface(IHTMLEmbedElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEmbedElement2_AddRef(IHTMLEmbedElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEmbedElement2_Release(IHTMLEmbedElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLEmbedElement2_GetTypeInfoCount(IHTMLEmbedElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLEmbedElement2_GetTypeInfo(IHTMLEmbedElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLEmbedElement2_GetIDsOfNames(IHTMLEmbedElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLEmbedElement2_Invoke(IHTMLEmbedElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLEmbedElement2 methods ***/
static inline HRESULT IHTMLEmbedElement2_put_src(IHTMLEmbedElement2* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLEmbedElement2_get_src(IHTMLEmbedElement2* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLEmbedElement2_get_pluginspage(IHTMLEmbedElement2* This,BSTR *p) {
    return This->lpVtbl->get_pluginspage(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEmbedElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLEmbed dispinterface
 */
#ifndef __DispHTMLEmbed_DISPINTERFACE_DEFINED__
#define __DispHTMLEmbed_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLEmbed, 0x3050f52e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f52e-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLEmbed : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLEmbed, 0x3050f52e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLEmbedVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLEmbed *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLEmbed *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLEmbed *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLEmbed *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLEmbed *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLEmbed *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLEmbed *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLEmbedVtbl;

interface DispHTMLEmbed {
    CONST_VTBL DispHTMLEmbedVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLEmbed_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLEmbed_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLEmbed_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLEmbed_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLEmbed_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLEmbed_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLEmbed_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLEmbed_QueryInterface(DispHTMLEmbed* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLEmbed_AddRef(DispHTMLEmbed* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLEmbed_Release(DispHTMLEmbed* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLEmbed_GetTypeInfoCount(DispHTMLEmbed* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLEmbed_GetTypeInfo(DispHTMLEmbed* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLEmbed_GetIDsOfNames(DispHTMLEmbed* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLEmbed_Invoke(DispHTMLEmbed* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLEmbed_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLEmbed coclass
 */

DEFINE_GUID(CLSID_HTMLEmbed, 0x3050f25d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f25d-98b5-11cf-bb82-00aa00bdce0b") HTMLEmbed;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLEmbed, 0x3050f25d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CPluginSite;
/*****************************************************************************
 * HTMLMapEvents2 dispinterface
 */
#ifndef __HTMLMapEvents2_DISPINTERFACE_DEFINED__
#define __HTMLMapEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLMapEvents2, 0x3050f61e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f61e-98b5-11cf-bb82-00aa00bdce0b")
HTMLMapEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMapEvents2, 0x3050f61e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLMapEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLMapEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLMapEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLMapEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLMapEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLMapEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLMapEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLMapEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLMapEvents2Vtbl;

interface HTMLMapEvents2 {
    CONST_VTBL HTMLMapEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLMapEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLMapEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLMapEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLMapEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLMapEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLMapEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLMapEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLMapEvents2_QueryInterface(HTMLMapEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLMapEvents2_AddRef(HTMLMapEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLMapEvents2_Release(HTMLMapEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLMapEvents2_GetTypeInfoCount(HTMLMapEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLMapEvents2_GetTypeInfo(HTMLMapEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLMapEvents2_GetIDsOfNames(HTMLMapEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLMapEvents2_Invoke(HTMLMapEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLMapEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMapEvents dispinterface
 */
#ifndef __HTMLMapEvents_DISPINTERFACE_DEFINED__
#define __HTMLMapEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLMapEvents, 0x3050f3ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3ba-98b5-11cf-bb82-00aa00bdce0b")
HTMLMapEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMapEvents, 0x3050f3ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLMapEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLMapEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLMapEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLMapEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLMapEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLMapEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLMapEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLMapEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLMapEventsVtbl;

interface HTMLMapEvents {
    CONST_VTBL HTMLMapEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLMapEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLMapEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLMapEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLMapEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLMapEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLMapEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLMapEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLMapEvents_QueryInterface(HTMLMapEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLMapEvents_AddRef(HTMLMapEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLMapEvents_Release(HTMLMapEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLMapEvents_GetTypeInfoCount(HTMLMapEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLMapEvents_GetTypeInfo(HTMLMapEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLMapEvents_GetIDsOfNames(HTMLMapEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLMapEvents_Invoke(HTMLMapEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLMapEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAreasCollection interface
 */
#ifndef __IHTMLAreasCollection_INTERFACE_DEFINED__
#define __IHTMLAreasCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAreasCollection, 0x3050f383, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f383-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreasCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_length(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE tags(
        VARIANT tagName,
        IDispatch **pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE add(
        IHTMLElement *element,
        VARIANT before) = 0;

    virtual HRESULT STDMETHODCALLTYPE remove(
        LONG index = -1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAreasCollection, 0x3050f383, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAreasCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAreasCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAreasCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAreasCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAreasCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAreasCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAreasCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAreasCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAreasCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *put_length)(
        IHTMLAreasCollection *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLAreasCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLAreasCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLAreasCollection *This,
        VARIANT name,
        VARIANT index,
        IDispatch **pdisp);

    HRESULT (STDMETHODCALLTYPE *tags)(
        IHTMLAreasCollection *This,
        VARIANT tagName,
        IDispatch **pdisp);

    HRESULT (STDMETHODCALLTYPE *add)(
        IHTMLAreasCollection *This,
        IHTMLElement *element,
        VARIANT before);

    HRESULT (STDMETHODCALLTYPE *remove)(
        IHTMLAreasCollection *This,
        LONG index);

    END_INTERFACE
} IHTMLAreasCollectionVtbl;

interface IHTMLAreasCollection {
    CONST_VTBL IHTMLAreasCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAreasCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAreasCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAreasCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAreasCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAreasCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAreasCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAreasCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAreasCollection methods ***/
#define IHTMLAreasCollection_put_length(This,v) (This)->lpVtbl->put_length(This,v)
#define IHTMLAreasCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLAreasCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLAreasCollection_item(This,name,index,pdisp) (This)->lpVtbl->item(This,name,index,pdisp)
#define IHTMLAreasCollection_tags(This,tagName,pdisp) (This)->lpVtbl->tags(This,tagName,pdisp)
#define IHTMLAreasCollection_add(This,element,before) (This)->lpVtbl->add(This,element,before)
#define IHTMLAreasCollection_remove(This,index) (This)->lpVtbl->remove(This,index)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAreasCollection_QueryInterface(IHTMLAreasCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAreasCollection_AddRef(IHTMLAreasCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAreasCollection_Release(IHTMLAreasCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAreasCollection_GetTypeInfoCount(IHTMLAreasCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAreasCollection_GetTypeInfo(IHTMLAreasCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAreasCollection_GetIDsOfNames(IHTMLAreasCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAreasCollection_Invoke(IHTMLAreasCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAreasCollection methods ***/
static inline HRESULT IHTMLAreasCollection_put_length(IHTMLAreasCollection* This,LONG v) {
    return This->lpVtbl->put_length(This,v);
}
static inline HRESULT IHTMLAreasCollection_get_length(IHTMLAreasCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLAreasCollection_get__newEnum(IHTMLAreasCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLAreasCollection_item(IHTMLAreasCollection* This,VARIANT name,VARIANT index,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,index,pdisp);
}
static inline HRESULT IHTMLAreasCollection_tags(IHTMLAreasCollection* This,VARIANT tagName,IDispatch **pdisp) {
    return This->lpVtbl->tags(This,tagName,pdisp);
}
static inline HRESULT IHTMLAreasCollection_add(IHTMLAreasCollection* This,IHTMLElement *element,VARIANT before) {
    return This->lpVtbl->add(This,element,before);
}
static inline HRESULT IHTMLAreasCollection_remove(IHTMLAreasCollection* This,LONG index) {
    return This->lpVtbl->remove(This,index);
}
#endif
#endif

#endif


#endif  /* __IHTMLAreasCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAreasCollection2 interface
 */
#ifndef __IHTMLAreasCollection2_INTERFACE_DEFINED__
#define __IHTMLAreasCollection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAreasCollection2, 0x3050f5ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5ec-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreasCollection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE urns(
        VARIANT urn,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAreasCollection2, 0x3050f5ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAreasCollection2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAreasCollection2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAreasCollection2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAreasCollection2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAreasCollection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAreasCollection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAreasCollection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAreasCollection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAreasCollection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *urns)(
        IHTMLAreasCollection2 *This,
        VARIANT urn,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLAreasCollection2Vtbl;

interface IHTMLAreasCollection2 {
    CONST_VTBL IHTMLAreasCollection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAreasCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAreasCollection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAreasCollection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAreasCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAreasCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAreasCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAreasCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAreasCollection2 methods ***/
#define IHTMLAreasCollection2_urns(This,urn,pdisp) (This)->lpVtbl->urns(This,urn,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAreasCollection2_QueryInterface(IHTMLAreasCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAreasCollection2_AddRef(IHTMLAreasCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAreasCollection2_Release(IHTMLAreasCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAreasCollection2_GetTypeInfoCount(IHTMLAreasCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAreasCollection2_GetTypeInfo(IHTMLAreasCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAreasCollection2_GetIDsOfNames(IHTMLAreasCollection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAreasCollection2_Invoke(IHTMLAreasCollection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAreasCollection2 methods ***/
static inline HRESULT IHTMLAreasCollection2_urns(IHTMLAreasCollection2* This,VARIANT urn,IDispatch **pdisp) {
    return This->lpVtbl->urns(This,urn,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLAreasCollection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAreasCollection3 interface
 */
#ifndef __IHTMLAreasCollection3_INTERFACE_DEFINED__
#define __IHTMLAreasCollection3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAreasCollection3, 0x3050f837, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f837-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreasCollection3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE namedItem(
        BSTR name,
        IDispatch **pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAreasCollection3, 0x3050f837, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAreasCollection3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAreasCollection3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAreasCollection3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAreasCollection3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAreasCollection3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAreasCollection3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAreasCollection3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAreasCollection3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAreasCollection3 methods ***/
    HRESULT (STDMETHODCALLTYPE *namedItem)(
        IHTMLAreasCollection3 *This,
        BSTR name,
        IDispatch **pdisp);

    END_INTERFACE
} IHTMLAreasCollection3Vtbl;

interface IHTMLAreasCollection3 {
    CONST_VTBL IHTMLAreasCollection3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAreasCollection3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAreasCollection3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAreasCollection3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAreasCollection3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAreasCollection3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAreasCollection3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAreasCollection3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAreasCollection3 methods ***/
#define IHTMLAreasCollection3_namedItem(This,name,pdisp) (This)->lpVtbl->namedItem(This,name,pdisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAreasCollection3_QueryInterface(IHTMLAreasCollection3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAreasCollection3_AddRef(IHTMLAreasCollection3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAreasCollection3_Release(IHTMLAreasCollection3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAreasCollection3_GetTypeInfoCount(IHTMLAreasCollection3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAreasCollection3_GetTypeInfo(IHTMLAreasCollection3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAreasCollection3_GetIDsOfNames(IHTMLAreasCollection3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAreasCollection3_Invoke(IHTMLAreasCollection3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAreasCollection3 methods ***/
static inline HRESULT IHTMLAreasCollection3_namedItem(IHTMLAreasCollection3* This,BSTR name,IDispatch **pdisp) {
    return This->lpVtbl->namedItem(This,name,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLAreasCollection3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAreasCollection4 interface
 */
#ifndef __IHTMLAreasCollection4_INTERFACE_DEFINED__
#define __IHTMLAreasCollection4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAreasCollection4, 0x30510492, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510492-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreasCollection4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLElement2 **pNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE namedItem(
        BSTR name,
        IHTMLElement2 **pNode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAreasCollection4, 0x30510492, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAreasCollection4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAreasCollection4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAreasCollection4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAreasCollection4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAreasCollection4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAreasCollection4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAreasCollection4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAreasCollection4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAreasCollection4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLAreasCollection4 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLAreasCollection4 *This,
        LONG index,
        IHTMLElement2 **pNode);

    HRESULT (STDMETHODCALLTYPE *namedItem)(
        IHTMLAreasCollection4 *This,
        BSTR name,
        IHTMLElement2 **pNode);

    END_INTERFACE
} IHTMLAreasCollection4Vtbl;

interface IHTMLAreasCollection4 {
    CONST_VTBL IHTMLAreasCollection4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAreasCollection4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAreasCollection4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAreasCollection4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAreasCollection4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAreasCollection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAreasCollection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAreasCollection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAreasCollection4 methods ***/
#define IHTMLAreasCollection4_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLAreasCollection4_item(This,index,pNode) (This)->lpVtbl->item(This,index,pNode)
#define IHTMLAreasCollection4_namedItem(This,name,pNode) (This)->lpVtbl->namedItem(This,name,pNode)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAreasCollection4_QueryInterface(IHTMLAreasCollection4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAreasCollection4_AddRef(IHTMLAreasCollection4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAreasCollection4_Release(IHTMLAreasCollection4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAreasCollection4_GetTypeInfoCount(IHTMLAreasCollection4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAreasCollection4_GetTypeInfo(IHTMLAreasCollection4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAreasCollection4_GetIDsOfNames(IHTMLAreasCollection4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAreasCollection4_Invoke(IHTMLAreasCollection4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAreasCollection4 methods ***/
static inline HRESULT IHTMLAreasCollection4_get_length(IHTMLAreasCollection4* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLAreasCollection4_item(IHTMLAreasCollection4* This,LONG index,IHTMLElement2 **pNode) {
    return This->lpVtbl->item(This,index,pNode);
}
static inline HRESULT IHTMLAreasCollection4_namedItem(IHTMLAreasCollection4* This,BSTR name,IHTMLElement2 **pNode) {
    return This->lpVtbl->namedItem(This,name,pNode);
}
#endif
#endif

#endif


#endif  /* __IHTMLAreasCollection4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMapElement interface
 */
#ifndef __IHTMLMapElement_INTERFACE_DEFINED__
#define __IHTMLMapElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMapElement, 0x3050f266, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f266-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMapElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_areas(
        IHTMLAreasCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMapElement, 0x3050f266, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMapElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMapElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMapElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMapElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMapElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMapElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMapElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMapElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMapElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_areas)(
        IHTMLMapElement *This,
        IHTMLAreasCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLMapElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLMapElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLMapElementVtbl;

interface IHTMLMapElement {
    CONST_VTBL IHTMLMapElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMapElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMapElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMapElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMapElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMapElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMapElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMapElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMapElement methods ***/
#define IHTMLMapElement_get_areas(This,p) (This)->lpVtbl->get_areas(This,p)
#define IHTMLMapElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLMapElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMapElement_QueryInterface(IHTMLMapElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMapElement_AddRef(IHTMLMapElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMapElement_Release(IHTMLMapElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMapElement_GetTypeInfoCount(IHTMLMapElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMapElement_GetTypeInfo(IHTMLMapElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMapElement_GetIDsOfNames(IHTMLMapElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMapElement_Invoke(IHTMLMapElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMapElement methods ***/
static inline HRESULT IHTMLMapElement_get_areas(IHTMLMapElement* This,IHTMLAreasCollection **p) {
    return This->lpVtbl->get_areas(This,p);
}
static inline HRESULT IHTMLMapElement_put_name(IHTMLMapElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLMapElement_get_name(IHTMLMapElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMapElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLAreasCollection dispinterface
 */
#ifndef __DispHTMLAreasCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLAreasCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLAreasCollection, 0x3050f56a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f56a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLAreasCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLAreasCollection, 0x3050f56a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLAreasCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLAreasCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLAreasCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLAreasCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLAreasCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLAreasCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLAreasCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLAreasCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLAreasCollectionVtbl;

interface DispHTMLAreasCollection {
    CONST_VTBL DispHTMLAreasCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLAreasCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLAreasCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLAreasCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLAreasCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLAreasCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLAreasCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLAreasCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLAreasCollection_QueryInterface(DispHTMLAreasCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLAreasCollection_AddRef(DispHTMLAreasCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLAreasCollection_Release(DispHTMLAreasCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLAreasCollection_GetTypeInfoCount(DispHTMLAreasCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLAreasCollection_GetTypeInfo(DispHTMLAreasCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLAreasCollection_GetIDsOfNames(DispHTMLAreasCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLAreasCollection_Invoke(DispHTMLAreasCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLAreasCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAreasCollection coclass
 */

DEFINE_GUID(CLSID_HTMLAreasCollection, 0x3050f4ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f4ca-98b5-11cf-bb82-00aa00bdce0b") HTMLAreasCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAreasCollection, 0x3050f4ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CAreasCollection;
/*****************************************************************************
 * DispHTMLMapElement dispinterface
 */
#ifndef __DispHTMLMapElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMapElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLMapElement, 0x3050f526, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f526-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLMapElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLMapElement, 0x3050f526, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLMapElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLMapElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLMapElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLMapElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLMapElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLMapElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLMapElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLMapElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLMapElementVtbl;

interface DispHTMLMapElement {
    CONST_VTBL DispHTMLMapElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLMapElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLMapElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLMapElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLMapElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLMapElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLMapElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLMapElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLMapElement_QueryInterface(DispHTMLMapElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLMapElement_AddRef(DispHTMLMapElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLMapElement_Release(DispHTMLMapElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLMapElement_GetTypeInfoCount(DispHTMLMapElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLMapElement_GetTypeInfo(DispHTMLMapElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLMapElement_GetIDsOfNames(DispHTMLMapElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLMapElement_Invoke(DispHTMLMapElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLMapElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMapElement coclass
 */

DEFINE_GUID(CLSID_HTMLMapElement, 0x3050f271, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f271-98b5-11cf-bb82-00aa00bdce0b") HTMLMapElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMapElement, 0x3050f271, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMapElement;
/*****************************************************************************
 * HTMLAreaEvents2 dispinterface
 */
#ifndef __HTMLAreaEvents2_DISPINTERFACE_DEFINED__
#define __HTMLAreaEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLAreaEvents2, 0x3050f611, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f611-98b5-11cf-bb82-00aa00bdce0b")
HTMLAreaEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAreaEvents2, 0x3050f611, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLAreaEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLAreaEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLAreaEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLAreaEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLAreaEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLAreaEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLAreaEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLAreaEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLAreaEvents2Vtbl;

interface HTMLAreaEvents2 {
    CONST_VTBL HTMLAreaEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLAreaEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLAreaEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLAreaEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLAreaEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLAreaEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLAreaEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLAreaEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLAreaEvents2_QueryInterface(HTMLAreaEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLAreaEvents2_AddRef(HTMLAreaEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLAreaEvents2_Release(HTMLAreaEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLAreaEvents2_GetTypeInfoCount(HTMLAreaEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLAreaEvents2_GetTypeInfo(HTMLAreaEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLAreaEvents2_GetIDsOfNames(HTMLAreaEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLAreaEvents2_Invoke(HTMLAreaEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLAreaEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAreaEvents dispinterface
 */
#ifndef __HTMLAreaEvents_DISPINTERFACE_DEFINED__
#define __HTMLAreaEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLAreaEvents, 0x3050f366, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f366-98b5-11cf-bb82-00aa00bdce0b")
HTMLAreaEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAreaEvents, 0x3050f366, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLAreaEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLAreaEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLAreaEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLAreaEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLAreaEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLAreaEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLAreaEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLAreaEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLAreaEventsVtbl;

interface HTMLAreaEvents {
    CONST_VTBL HTMLAreaEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLAreaEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLAreaEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLAreaEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLAreaEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLAreaEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLAreaEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLAreaEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLAreaEvents_QueryInterface(HTMLAreaEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLAreaEvents_AddRef(HTMLAreaEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLAreaEvents_Release(HTMLAreaEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLAreaEvents_GetTypeInfoCount(HTMLAreaEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLAreaEvents_GetTypeInfo(HTMLAreaEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLAreaEvents_GetIDsOfNames(HTMLAreaEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLAreaEvents_Invoke(HTMLAreaEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLAreaEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAreaElement interface
 */
#ifndef __IHTMLAreaElement_INTERFACE_DEFINED__
#define __IHTMLAreaElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAreaElement, 0x3050f265, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f265-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreaElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_shape(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shape(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_coords(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_coords(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_target(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alt(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alt(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_noHref(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noHref(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_host(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_host(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hostname(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hostname(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pathname(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pathname(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_port(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_port(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_protocol(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_protocol(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_search(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_search(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hash(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hash(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onblur(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onblur(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onfocus(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onfocus(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_tabIndex(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tabIndex(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE focus(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE blur(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAreaElement, 0x3050f265, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAreaElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAreaElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAreaElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAreaElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAreaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAreaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAreaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAreaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAreaElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_shape)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_shape)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_coords)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_coords)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_target)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_target)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_alt)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_alt)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_noHref)(
        IHTMLAreaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noHref)(
        IHTMLAreaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_host)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_host)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hostname)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hostname)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_pathname)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_pathname)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_port)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_port)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_protocol)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_protocol)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_search)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_search)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_hash)(
        IHTMLAreaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_hash)(
        IHTMLAreaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onblur)(
        IHTMLAreaElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onblur)(
        IHTMLAreaElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onfocus)(
        IHTMLAreaElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onfocus)(
        IHTMLAreaElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_tabIndex)(
        IHTMLAreaElement *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_tabIndex)(
        IHTMLAreaElement *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *focus)(
        IHTMLAreaElement *This);

    HRESULT (STDMETHODCALLTYPE *blur)(
        IHTMLAreaElement *This);

    END_INTERFACE
} IHTMLAreaElementVtbl;

interface IHTMLAreaElement {
    CONST_VTBL IHTMLAreaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAreaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAreaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAreaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAreaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAreaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAreaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAreaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAreaElement methods ***/
#define IHTMLAreaElement_put_shape(This,v) (This)->lpVtbl->put_shape(This,v)
#define IHTMLAreaElement_get_shape(This,p) (This)->lpVtbl->get_shape(This,p)
#define IHTMLAreaElement_put_coords(This,v) (This)->lpVtbl->put_coords(This,v)
#define IHTMLAreaElement_get_coords(This,p) (This)->lpVtbl->get_coords(This,p)
#define IHTMLAreaElement_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLAreaElement_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#define IHTMLAreaElement_put_target(This,v) (This)->lpVtbl->put_target(This,v)
#define IHTMLAreaElement_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#define IHTMLAreaElement_put_alt(This,v) (This)->lpVtbl->put_alt(This,v)
#define IHTMLAreaElement_get_alt(This,p) (This)->lpVtbl->get_alt(This,p)
#define IHTMLAreaElement_put_noHref(This,v) (This)->lpVtbl->put_noHref(This,v)
#define IHTMLAreaElement_get_noHref(This,p) (This)->lpVtbl->get_noHref(This,p)
#define IHTMLAreaElement_put_host(This,v) (This)->lpVtbl->put_host(This,v)
#define IHTMLAreaElement_get_host(This,p) (This)->lpVtbl->get_host(This,p)
#define IHTMLAreaElement_put_hostname(This,v) (This)->lpVtbl->put_hostname(This,v)
#define IHTMLAreaElement_get_hostname(This,p) (This)->lpVtbl->get_hostname(This,p)
#define IHTMLAreaElement_put_pathname(This,v) (This)->lpVtbl->put_pathname(This,v)
#define IHTMLAreaElement_get_pathname(This,p) (This)->lpVtbl->get_pathname(This,p)
#define IHTMLAreaElement_put_port(This,v) (This)->lpVtbl->put_port(This,v)
#define IHTMLAreaElement_get_port(This,p) (This)->lpVtbl->get_port(This,p)
#define IHTMLAreaElement_put_protocol(This,v) (This)->lpVtbl->put_protocol(This,v)
#define IHTMLAreaElement_get_protocol(This,p) (This)->lpVtbl->get_protocol(This,p)
#define IHTMLAreaElement_put_search(This,v) (This)->lpVtbl->put_search(This,v)
#define IHTMLAreaElement_get_search(This,p) (This)->lpVtbl->get_search(This,p)
#define IHTMLAreaElement_put_hash(This,v) (This)->lpVtbl->put_hash(This,v)
#define IHTMLAreaElement_get_hash(This,p) (This)->lpVtbl->get_hash(This,p)
#define IHTMLAreaElement_put_onblur(This,v) (This)->lpVtbl->put_onblur(This,v)
#define IHTMLAreaElement_get_onblur(This,p) (This)->lpVtbl->get_onblur(This,p)
#define IHTMLAreaElement_put_onfocus(This,v) (This)->lpVtbl->put_onfocus(This,v)
#define IHTMLAreaElement_get_onfocus(This,p) (This)->lpVtbl->get_onfocus(This,p)
#define IHTMLAreaElement_put_tabIndex(This,v) (This)->lpVtbl->put_tabIndex(This,v)
#define IHTMLAreaElement_get_tabIndex(This,p) (This)->lpVtbl->get_tabIndex(This,p)
#define IHTMLAreaElement_focus(This) (This)->lpVtbl->focus(This)
#define IHTMLAreaElement_blur(This) (This)->lpVtbl->blur(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAreaElement_QueryInterface(IHTMLAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAreaElement_AddRef(IHTMLAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAreaElement_Release(IHTMLAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAreaElement_GetTypeInfoCount(IHTMLAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAreaElement_GetTypeInfo(IHTMLAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAreaElement_GetIDsOfNames(IHTMLAreaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAreaElement_Invoke(IHTMLAreaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAreaElement methods ***/
static inline HRESULT IHTMLAreaElement_put_shape(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_shape(This,v);
}
static inline HRESULT IHTMLAreaElement_get_shape(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_shape(This,p);
}
static inline HRESULT IHTMLAreaElement_put_coords(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_coords(This,v);
}
static inline HRESULT IHTMLAreaElement_get_coords(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_coords(This,p);
}
static inline HRESULT IHTMLAreaElement_put_href(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLAreaElement_get_href(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static inline HRESULT IHTMLAreaElement_put_target(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static inline HRESULT IHTMLAreaElement_get_target(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static inline HRESULT IHTMLAreaElement_put_alt(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static inline HRESULT IHTMLAreaElement_get_alt(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static inline HRESULT IHTMLAreaElement_put_noHref(IHTMLAreaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noHref(This,v);
}
static inline HRESULT IHTMLAreaElement_get_noHref(IHTMLAreaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noHref(This,p);
}
static inline HRESULT IHTMLAreaElement_put_host(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_host(This,v);
}
static inline HRESULT IHTMLAreaElement_get_host(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_host(This,p);
}
static inline HRESULT IHTMLAreaElement_put_hostname(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_hostname(This,v);
}
static inline HRESULT IHTMLAreaElement_get_hostname(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_hostname(This,p);
}
static inline HRESULT IHTMLAreaElement_put_pathname(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_pathname(This,v);
}
static inline HRESULT IHTMLAreaElement_get_pathname(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_pathname(This,p);
}
static inline HRESULT IHTMLAreaElement_put_port(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_port(This,v);
}
static inline HRESULT IHTMLAreaElement_get_port(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_port(This,p);
}
static inline HRESULT IHTMLAreaElement_put_protocol(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_protocol(This,v);
}
static inline HRESULT IHTMLAreaElement_get_protocol(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static inline HRESULT IHTMLAreaElement_put_search(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_search(This,v);
}
static inline HRESULT IHTMLAreaElement_get_search(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_search(This,p);
}
static inline HRESULT IHTMLAreaElement_put_hash(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_hash(This,v);
}
static inline HRESULT IHTMLAreaElement_get_hash(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_hash(This,p);
}
static inline HRESULT IHTMLAreaElement_put_onblur(IHTMLAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static inline HRESULT IHTMLAreaElement_get_onblur(IHTMLAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static inline HRESULT IHTMLAreaElement_put_onfocus(IHTMLAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static inline HRESULT IHTMLAreaElement_get_onfocus(IHTMLAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static inline HRESULT IHTMLAreaElement_put_tabIndex(IHTMLAreaElement* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static inline HRESULT IHTMLAreaElement_get_tabIndex(IHTMLAreaElement* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static inline HRESULT IHTMLAreaElement_focus(IHTMLAreaElement* This) {
    return This->lpVtbl->focus(This);
}
static inline HRESULT IHTMLAreaElement_blur(IHTMLAreaElement* This) {
    return This->lpVtbl->blur(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLAreaElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAreaElement2 interface
 */
#ifndef __IHTMLAreaElement2_INTERFACE_DEFINED__
#define __IHTMLAreaElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAreaElement2, 0x3051041f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051041f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreaElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_shape(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shape(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_coords(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_coords(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_href(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAreaElement2, 0x3051041f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAreaElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAreaElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAreaElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAreaElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAreaElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAreaElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAreaElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAreaElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAreaElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_shape)(
        IHTMLAreaElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_shape)(
        IHTMLAreaElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_coords)(
        IHTMLAreaElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_coords)(
        IHTMLAreaElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_href)(
        IHTMLAreaElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_href)(
        IHTMLAreaElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLAreaElement2Vtbl;

interface IHTMLAreaElement2 {
    CONST_VTBL IHTMLAreaElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAreaElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAreaElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAreaElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAreaElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAreaElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAreaElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAreaElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAreaElement2 methods ***/
#define IHTMLAreaElement2_put_shape(This,v) (This)->lpVtbl->put_shape(This,v)
#define IHTMLAreaElement2_get_shape(This,p) (This)->lpVtbl->get_shape(This,p)
#define IHTMLAreaElement2_put_coords(This,v) (This)->lpVtbl->put_coords(This,v)
#define IHTMLAreaElement2_get_coords(This,p) (This)->lpVtbl->get_coords(This,p)
#define IHTMLAreaElement2_put_href(This,v) (This)->lpVtbl->put_href(This,v)
#define IHTMLAreaElement2_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAreaElement2_QueryInterface(IHTMLAreaElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAreaElement2_AddRef(IHTMLAreaElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAreaElement2_Release(IHTMLAreaElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAreaElement2_GetTypeInfoCount(IHTMLAreaElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAreaElement2_GetTypeInfo(IHTMLAreaElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAreaElement2_GetIDsOfNames(IHTMLAreaElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAreaElement2_Invoke(IHTMLAreaElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAreaElement2 methods ***/
static inline HRESULT IHTMLAreaElement2_put_shape(IHTMLAreaElement2* This,BSTR v) {
    return This->lpVtbl->put_shape(This,v);
}
static inline HRESULT IHTMLAreaElement2_get_shape(IHTMLAreaElement2* This,BSTR *p) {
    return This->lpVtbl->get_shape(This,p);
}
static inline HRESULT IHTMLAreaElement2_put_coords(IHTMLAreaElement2* This,BSTR v) {
    return This->lpVtbl->put_coords(This,v);
}
static inline HRESULT IHTMLAreaElement2_get_coords(IHTMLAreaElement2* This,BSTR *p) {
    return This->lpVtbl->get_coords(This,p);
}
static inline HRESULT IHTMLAreaElement2_put_href(IHTMLAreaElement2* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static inline HRESULT IHTMLAreaElement2_get_href(IHTMLAreaElement2* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAreaElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLAreaElement dispinterface
 */
#ifndef __DispHTMLAreaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLAreaElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLAreaElement, 0x3050f503, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f503-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLAreaElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLAreaElement, 0x3050f503, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLAreaElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLAreaElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLAreaElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLAreaElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLAreaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLAreaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLAreaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLAreaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLAreaElementVtbl;

interface DispHTMLAreaElement {
    CONST_VTBL DispHTMLAreaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLAreaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLAreaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLAreaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLAreaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLAreaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLAreaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLAreaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLAreaElement_QueryInterface(DispHTMLAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLAreaElement_AddRef(DispHTMLAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLAreaElement_Release(DispHTMLAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLAreaElement_GetTypeInfoCount(DispHTMLAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLAreaElement_GetTypeInfo(DispHTMLAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLAreaElement_GetIDsOfNames(DispHTMLAreaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLAreaElement_Invoke(DispHTMLAreaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLAreaElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAreaElement coclass
 */

DEFINE_GUID(CLSID_HTMLAreaElement, 0x3050f283, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f283-98b5-11cf-bb82-00aa00bdce0b") HTMLAreaElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAreaElement, 0x3050f283, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CAreaElement;
typedef enum _htmlCaptionAlign {
    htmlCaptionAlignNotSet = 0,
    htmlCaptionAlignLeft = 1,
    htmlCaptionAlignCenter = 2,
    htmlCaptionAlignRight = 3,
    htmlCaptionAlignJustify = 4,
    htmlCaptionAlignTop = 5,
    htmlCaptionAlignBottom = 6,
    htmlCaptionAlign_Max = 0x7fffffff
} htmlCaptionAlign;
typedef enum _htmlCaptionVAlign {
    htmlCaptionVAlignNotSet = 0,
    htmlCaptionVAlignTop = 1,
    htmlCaptionVAlignBottom = 2,
    htmlCaptionVAlign_Max = 0x7fffffff
} htmlCaptionVAlign;
/*****************************************************************************
 * IHTMLTableCaption interface
 */
#ifndef __IHTMLTableCaption_INTERFACE_DEFINED__
#define __IHTMLTableCaption_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableCaption, 0x3050f2eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2eb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableCaption : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vAlign(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableCaption, 0x3050f2eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableCaptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableCaption *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableCaption *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableCaption *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableCaption *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableCaption *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableCaption *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableCaption *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableCaption methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLTableCaption *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLTableCaption *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vAlign)(
        IHTMLTableCaption *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vAlign)(
        IHTMLTableCaption *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableCaptionVtbl;

interface IHTMLTableCaption {
    CONST_VTBL IHTMLTableCaptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableCaption_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableCaption_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableCaption_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableCaption_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableCaption_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableCaption_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableCaption_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableCaption methods ***/
#define IHTMLTableCaption_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLTableCaption_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLTableCaption_put_vAlign(This,v) (This)->lpVtbl->put_vAlign(This,v)
#define IHTMLTableCaption_get_vAlign(This,p) (This)->lpVtbl->get_vAlign(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableCaption_QueryInterface(IHTMLTableCaption* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableCaption_AddRef(IHTMLTableCaption* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableCaption_Release(IHTMLTableCaption* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableCaption_GetTypeInfoCount(IHTMLTableCaption* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableCaption_GetTypeInfo(IHTMLTableCaption* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableCaption_GetIDsOfNames(IHTMLTableCaption* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableCaption_Invoke(IHTMLTableCaption* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableCaption methods ***/
static inline HRESULT IHTMLTableCaption_put_align(IHTMLTableCaption* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLTableCaption_get_align(IHTMLTableCaption* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLTableCaption_put_vAlign(IHTMLTableCaption* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static inline HRESULT IHTMLTableCaption_get_vAlign(IHTMLTableCaption* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCaption_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLTableCaption dispinterface
 */
#ifndef __DispHTMLTableCaption_DISPINTERFACE_DEFINED__
#define __DispHTMLTableCaption_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTableCaption, 0x3050f508, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f508-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTableCaption : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTableCaption, 0x3050f508, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTableCaptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTableCaption *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTableCaption *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTableCaption *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTableCaption *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTableCaption *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTableCaption *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTableCaption *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTableCaptionVtbl;

interface DispHTMLTableCaption {
    CONST_VTBL DispHTMLTableCaptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTableCaption_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTableCaption_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTableCaption_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTableCaption_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTableCaption_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTableCaption_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTableCaption_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTableCaption_QueryInterface(DispHTMLTableCaption* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTableCaption_AddRef(DispHTMLTableCaption* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTableCaption_Release(DispHTMLTableCaption* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTableCaption_GetTypeInfoCount(DispHTMLTableCaption* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTableCaption_GetTypeInfo(DispHTMLTableCaption* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTableCaption_GetIDsOfNames(DispHTMLTableCaption* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTableCaption_Invoke(DispHTMLTableCaption* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTableCaption_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTableCaption coclass
 */

DEFINE_GUID(CLSID_HTMLTableCaption, 0x3050f2ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2ec-98b5-11cf-bb82-00aa00bdce0b") HTMLTableCaption;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTableCaption, 0x3050f2ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTableCaption;
/*****************************************************************************
 * IHTMLCommentElement interface
 */
#ifndef __IHTMLCommentElement_INTERFACE_DEFINED__
#define __IHTMLCommentElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCommentElement, 0x3050f20c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f20c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCommentElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_text(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_atomic(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_atomic(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCommentElement, 0x3050f20c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCommentElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLCommentElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLCommentElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLCommentElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCommentElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCommentElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCommentElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCommentElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCommentElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_text)(
        IHTMLCommentElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_text)(
        IHTMLCommentElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_atomic)(
        IHTMLCommentElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_atomic)(
        IHTMLCommentElement *This,
        LONG *p);

    END_INTERFACE
} IHTMLCommentElementVtbl;

interface IHTMLCommentElement {
    CONST_VTBL IHTMLCommentElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCommentElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCommentElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCommentElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCommentElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCommentElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCommentElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCommentElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCommentElement methods ***/
#define IHTMLCommentElement_put_text(This,v) (This)->lpVtbl->put_text(This,v)
#define IHTMLCommentElement_get_text(This,p) (This)->lpVtbl->get_text(This,p)
#define IHTMLCommentElement_put_atomic(This,v) (This)->lpVtbl->put_atomic(This,v)
#define IHTMLCommentElement_get_atomic(This,p) (This)->lpVtbl->get_atomic(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCommentElement_QueryInterface(IHTMLCommentElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCommentElement_AddRef(IHTMLCommentElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCommentElement_Release(IHTMLCommentElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCommentElement_GetTypeInfoCount(IHTMLCommentElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCommentElement_GetTypeInfo(IHTMLCommentElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCommentElement_GetIDsOfNames(IHTMLCommentElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCommentElement_Invoke(IHTMLCommentElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCommentElement methods ***/
static inline HRESULT IHTMLCommentElement_put_text(IHTMLCommentElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static inline HRESULT IHTMLCommentElement_get_text(IHTMLCommentElement* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static inline HRESULT IHTMLCommentElement_put_atomic(IHTMLCommentElement* This,LONG v) {
    return This->lpVtbl->put_atomic(This,v);
}
static inline HRESULT IHTMLCommentElement_get_atomic(IHTMLCommentElement* This,LONG *p) {
    return This->lpVtbl->get_atomic(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCommentElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCommentElement2 interface
 */
#ifndef __IHTMLCommentElement2_INTERFACE_DEFINED__
#define __IHTMLCommentElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCommentElement2, 0x3050f813, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f813-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCommentElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_data(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE substringData(
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendData(
        BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertData(
        LONG offset,
        BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteData(
        LONG offset,
        LONG Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceData(
        LONG offset,
        LONG Count,
        BSTR bstrstring) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCommentElement2, 0x3050f813, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCommentElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLCommentElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLCommentElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLCommentElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCommentElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCommentElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCommentElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCommentElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCommentElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_data)(
        IHTMLCommentElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        IHTMLCommentElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLCommentElement2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *substringData)(
        IHTMLCommentElement2 *This,
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString);

    HRESULT (STDMETHODCALLTYPE *appendData)(
        IHTMLCommentElement2 *This,
        BSTR bstrstring);

    HRESULT (STDMETHODCALLTYPE *insertData)(
        IHTMLCommentElement2 *This,
        LONG offset,
        BSTR bstrstring);

    HRESULT (STDMETHODCALLTYPE *deleteData)(
        IHTMLCommentElement2 *This,
        LONG offset,
        LONG Count);

    HRESULT (STDMETHODCALLTYPE *replaceData)(
        IHTMLCommentElement2 *This,
        LONG offset,
        LONG Count,
        BSTR bstrstring);

    END_INTERFACE
} IHTMLCommentElement2Vtbl;

interface IHTMLCommentElement2 {
    CONST_VTBL IHTMLCommentElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCommentElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCommentElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCommentElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCommentElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCommentElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCommentElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCommentElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCommentElement2 methods ***/
#define IHTMLCommentElement2_put_data(This,v) (This)->lpVtbl->put_data(This,v)
#define IHTMLCommentElement2_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#define IHTMLCommentElement2_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLCommentElement2_substringData(This,offset,Count,pbstrsubString) (This)->lpVtbl->substringData(This,offset,Count,pbstrsubString)
#define IHTMLCommentElement2_appendData(This,bstrstring) (This)->lpVtbl->appendData(This,bstrstring)
#define IHTMLCommentElement2_insertData(This,offset,bstrstring) (This)->lpVtbl->insertData(This,offset,bstrstring)
#define IHTMLCommentElement2_deleteData(This,offset,Count) (This)->lpVtbl->deleteData(This,offset,Count)
#define IHTMLCommentElement2_replaceData(This,offset,Count,bstrstring) (This)->lpVtbl->replaceData(This,offset,Count,bstrstring)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCommentElement2_QueryInterface(IHTMLCommentElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCommentElement2_AddRef(IHTMLCommentElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCommentElement2_Release(IHTMLCommentElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCommentElement2_GetTypeInfoCount(IHTMLCommentElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCommentElement2_GetTypeInfo(IHTMLCommentElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCommentElement2_GetIDsOfNames(IHTMLCommentElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCommentElement2_Invoke(IHTMLCommentElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCommentElement2 methods ***/
static inline HRESULT IHTMLCommentElement2_put_data(IHTMLCommentElement2* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static inline HRESULT IHTMLCommentElement2_get_data(IHTMLCommentElement2* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static inline HRESULT IHTMLCommentElement2_get_length(IHTMLCommentElement2* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLCommentElement2_substringData(IHTMLCommentElement2* This,LONG offset,LONG Count,BSTR *pbstrsubString) {
    return This->lpVtbl->substringData(This,offset,Count,pbstrsubString);
}
static inline HRESULT IHTMLCommentElement2_appendData(IHTMLCommentElement2* This,BSTR bstrstring) {
    return This->lpVtbl->appendData(This,bstrstring);
}
static inline HRESULT IHTMLCommentElement2_insertData(IHTMLCommentElement2* This,LONG offset,BSTR bstrstring) {
    return This->lpVtbl->insertData(This,offset,bstrstring);
}
static inline HRESULT IHTMLCommentElement2_deleteData(IHTMLCommentElement2* This,LONG offset,LONG Count) {
    return This->lpVtbl->deleteData(This,offset,Count);
}
static inline HRESULT IHTMLCommentElement2_replaceData(IHTMLCommentElement2* This,LONG offset,LONG Count,BSTR bstrstring) {
    return This->lpVtbl->replaceData(This,offset,Count,bstrstring);
}
#endif
#endif

#endif


#endif  /* __IHTMLCommentElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCommentElement3 interface
 */
#ifndef __IHTMLCommentElement3_INTERFACE_DEFINED__
#define __IHTMLCommentElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCommentElement3, 0x3051073f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051073f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCommentElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE substringData(
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertData(
        LONG offset,
        BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteData(
        LONG offset,
        LONG Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceData(
        LONG offset,
        LONG Count,
        BSTR bstrstring) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCommentElement3, 0x3051073f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCommentElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLCommentElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLCommentElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLCommentElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCommentElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCommentElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCommentElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCommentElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCommentElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *substringData)(
        IHTMLCommentElement3 *This,
        LONG offset,
        LONG Count,
        BSTR *pbstrsubString);

    HRESULT (STDMETHODCALLTYPE *insertData)(
        IHTMLCommentElement3 *This,
        LONG offset,
        BSTR bstrstring);

    HRESULT (STDMETHODCALLTYPE *deleteData)(
        IHTMLCommentElement3 *This,
        LONG offset,
        LONG Count);

    HRESULT (STDMETHODCALLTYPE *replaceData)(
        IHTMLCommentElement3 *This,
        LONG offset,
        LONG Count,
        BSTR bstrstring);

    END_INTERFACE
} IHTMLCommentElement3Vtbl;

interface IHTMLCommentElement3 {
    CONST_VTBL IHTMLCommentElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCommentElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCommentElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCommentElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCommentElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCommentElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCommentElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCommentElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCommentElement3 methods ***/
#define IHTMLCommentElement3_substringData(This,offset,Count,pbstrsubString) (This)->lpVtbl->substringData(This,offset,Count,pbstrsubString)
#define IHTMLCommentElement3_insertData(This,offset,bstrstring) (This)->lpVtbl->insertData(This,offset,bstrstring)
#define IHTMLCommentElement3_deleteData(This,offset,Count) (This)->lpVtbl->deleteData(This,offset,Count)
#define IHTMLCommentElement3_replaceData(This,offset,Count,bstrstring) (This)->lpVtbl->replaceData(This,offset,Count,bstrstring)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCommentElement3_QueryInterface(IHTMLCommentElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCommentElement3_AddRef(IHTMLCommentElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCommentElement3_Release(IHTMLCommentElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCommentElement3_GetTypeInfoCount(IHTMLCommentElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCommentElement3_GetTypeInfo(IHTMLCommentElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCommentElement3_GetIDsOfNames(IHTMLCommentElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCommentElement3_Invoke(IHTMLCommentElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCommentElement3 methods ***/
static inline HRESULT IHTMLCommentElement3_substringData(IHTMLCommentElement3* This,LONG offset,LONG Count,BSTR *pbstrsubString) {
    return This->lpVtbl->substringData(This,offset,Count,pbstrsubString);
}
static inline HRESULT IHTMLCommentElement3_insertData(IHTMLCommentElement3* This,LONG offset,BSTR bstrstring) {
    return This->lpVtbl->insertData(This,offset,bstrstring);
}
static inline HRESULT IHTMLCommentElement3_deleteData(IHTMLCommentElement3* This,LONG offset,LONG Count) {
    return This->lpVtbl->deleteData(This,offset,Count);
}
static inline HRESULT IHTMLCommentElement3_replaceData(IHTMLCommentElement3* This,LONG offset,LONG Count,BSTR bstrstring) {
    return This->lpVtbl->replaceData(This,offset,Count,bstrstring);
}
#endif
#endif

#endif


#endif  /* __IHTMLCommentElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLCommentElement dispinterface
 */
#ifndef __DispHTMLCommentElement_DISPINTERFACE_DEFINED__
#define __DispHTMLCommentElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCommentElement, 0x3050f50a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f50a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCommentElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCommentElement, 0x3050f50a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCommentElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLCommentElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLCommentElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLCommentElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCommentElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCommentElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCommentElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCommentElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCommentElementVtbl;

interface DispHTMLCommentElement {
    CONST_VTBL DispHTMLCommentElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCommentElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCommentElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCommentElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCommentElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCommentElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCommentElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCommentElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCommentElement_QueryInterface(DispHTMLCommentElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCommentElement_AddRef(DispHTMLCommentElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCommentElement_Release(DispHTMLCommentElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCommentElement_GetTypeInfoCount(DispHTMLCommentElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCommentElement_GetTypeInfo(DispHTMLCommentElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCommentElement_GetIDsOfNames(DispHTMLCommentElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCommentElement_Invoke(DispHTMLCommentElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCommentElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCommentElement coclass
 */

DEFINE_GUID(CLSID_HTMLCommentElement, 0x3050f317, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f317-98b5-11cf-bb82-00aa00bdce0b") HTMLCommentElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCommentElement, 0x3050f317, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCommentElement;
/*****************************************************************************
 * IHTMLPhraseElement interface
 */
#ifndef __IHTMLPhraseElement_INTERFACE_DEFINED__
#define __IHTMLPhraseElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPhraseElement, 0x3050f20a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f20a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPhraseElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPhraseElement, 0x3050f20a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPhraseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPhraseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPhraseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPhraseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPhraseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPhraseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPhraseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPhraseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTMLPhraseElementVtbl;

interface IHTMLPhraseElement {
    CONST_VTBL IHTMLPhraseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPhraseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPhraseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPhraseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPhraseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPhraseElement_QueryInterface(IHTMLPhraseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPhraseElement_AddRef(IHTMLPhraseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPhraseElement_Release(IHTMLPhraseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPhraseElement_GetTypeInfoCount(IHTMLPhraseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPhraseElement_GetTypeInfo(IHTMLPhraseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPhraseElement_GetIDsOfNames(IHTMLPhraseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPhraseElement_Invoke(IHTMLPhraseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTMLPhraseElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPhraseElement2 interface
 */
#ifndef __IHTMLPhraseElement2_INTERFACE_DEFINED__
#define __IHTMLPhraseElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPhraseElement2, 0x3050f824, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f824-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPhraseElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_cite(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cite(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dateTime(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dateTime(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPhraseElement2, 0x3050f824, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPhraseElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPhraseElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPhraseElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPhraseElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPhraseElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPhraseElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPhraseElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPhraseElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLPhraseElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_cite)(
        IHTMLPhraseElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cite)(
        IHTMLPhraseElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dateTime)(
        IHTMLPhraseElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dateTime)(
        IHTMLPhraseElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLPhraseElement2Vtbl;

interface IHTMLPhraseElement2 {
    CONST_VTBL IHTMLPhraseElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPhraseElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPhraseElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPhraseElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPhraseElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPhraseElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPhraseElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPhraseElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLPhraseElement2 methods ***/
#define IHTMLPhraseElement2_put_cite(This,v) (This)->lpVtbl->put_cite(This,v)
#define IHTMLPhraseElement2_get_cite(This,p) (This)->lpVtbl->get_cite(This,p)
#define IHTMLPhraseElement2_put_dateTime(This,v) (This)->lpVtbl->put_dateTime(This,v)
#define IHTMLPhraseElement2_get_dateTime(This,p) (This)->lpVtbl->get_dateTime(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPhraseElement2_QueryInterface(IHTMLPhraseElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPhraseElement2_AddRef(IHTMLPhraseElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPhraseElement2_Release(IHTMLPhraseElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPhraseElement2_GetTypeInfoCount(IHTMLPhraseElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPhraseElement2_GetTypeInfo(IHTMLPhraseElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPhraseElement2_GetIDsOfNames(IHTMLPhraseElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPhraseElement2_Invoke(IHTMLPhraseElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLPhraseElement2 methods ***/
static inline HRESULT IHTMLPhraseElement2_put_cite(IHTMLPhraseElement2* This,BSTR v) {
    return This->lpVtbl->put_cite(This,v);
}
static inline HRESULT IHTMLPhraseElement2_get_cite(IHTMLPhraseElement2* This,BSTR *p) {
    return This->lpVtbl->get_cite(This,p);
}
static inline HRESULT IHTMLPhraseElement2_put_dateTime(IHTMLPhraseElement2* This,BSTR v) {
    return This->lpVtbl->put_dateTime(This,v);
}
static inline HRESULT IHTMLPhraseElement2_get_dateTime(IHTMLPhraseElement2* This,BSTR *p) {
    return This->lpVtbl->get_dateTime(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLPhraseElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPhraseElement3 interface
 */
#ifndef __IHTMLPhraseElement3_INTERFACE_DEFINED__
#define __IHTMLPhraseElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPhraseElement3, 0x3051043d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051043d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPhraseElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_cite(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cite(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPhraseElement3, 0x3051043d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPhraseElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPhraseElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPhraseElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPhraseElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPhraseElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPhraseElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPhraseElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPhraseElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLPhraseElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_cite)(
        IHTMLPhraseElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cite)(
        IHTMLPhraseElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLPhraseElement3Vtbl;

interface IHTMLPhraseElement3 {
    CONST_VTBL IHTMLPhraseElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPhraseElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPhraseElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPhraseElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPhraseElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPhraseElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPhraseElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPhraseElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLPhraseElement3 methods ***/
#define IHTMLPhraseElement3_put_cite(This,v) (This)->lpVtbl->put_cite(This,v)
#define IHTMLPhraseElement3_get_cite(This,p) (This)->lpVtbl->get_cite(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPhraseElement3_QueryInterface(IHTMLPhraseElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPhraseElement3_AddRef(IHTMLPhraseElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPhraseElement3_Release(IHTMLPhraseElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPhraseElement3_GetTypeInfoCount(IHTMLPhraseElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPhraseElement3_GetTypeInfo(IHTMLPhraseElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPhraseElement3_GetIDsOfNames(IHTMLPhraseElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPhraseElement3_Invoke(IHTMLPhraseElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLPhraseElement3 methods ***/
static inline HRESULT IHTMLPhraseElement3_put_cite(IHTMLPhraseElement3* This,BSTR v) {
    return This->lpVtbl->put_cite(This,v);
}
static inline HRESULT IHTMLPhraseElement3_get_cite(IHTMLPhraseElement3* This,BSTR *p) {
    return This->lpVtbl->get_cite(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLPhraseElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSpanElement interface
 */
#ifndef __IHTMLSpanElement_INTERFACE_DEFINED__
#define __IHTMLSpanElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSpanElement, 0x3050f3f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3f3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSpanElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSpanElement, 0x3050f3f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSpanElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLSpanElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLSpanElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLSpanElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSpanElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSpanElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSpanElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSpanElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTMLSpanElementVtbl;

interface IHTMLSpanElement {
    CONST_VTBL IHTMLSpanElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSpanElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSpanElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSpanElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSpanElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSpanElement_QueryInterface(IHTMLSpanElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSpanElement_AddRef(IHTMLSpanElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSpanElement_Release(IHTMLSpanElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSpanElement_GetTypeInfoCount(IHTMLSpanElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSpanElement_GetTypeInfo(IHTMLSpanElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSpanElement_GetIDsOfNames(IHTMLSpanElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSpanElement_Invoke(IHTMLSpanElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTMLSpanElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLPhraseElement dispinterface
 */
#ifndef __DispHTMLPhraseElement_DISPINTERFACE_DEFINED__
#define __DispHTMLPhraseElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLPhraseElement, 0x3050f52d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f52d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLPhraseElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLPhraseElement, 0x3050f52d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLPhraseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLPhraseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLPhraseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLPhraseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLPhraseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLPhraseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLPhraseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLPhraseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLPhraseElementVtbl;

interface DispHTMLPhraseElement {
    CONST_VTBL DispHTMLPhraseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLPhraseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLPhraseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLPhraseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLPhraseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLPhraseElement_QueryInterface(DispHTMLPhraseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLPhraseElement_AddRef(DispHTMLPhraseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLPhraseElement_Release(DispHTMLPhraseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLPhraseElement_GetTypeInfoCount(DispHTMLPhraseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLPhraseElement_GetTypeInfo(DispHTMLPhraseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLPhraseElement_GetIDsOfNames(DispHTMLPhraseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLPhraseElement_Invoke(DispHTMLPhraseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLPhraseElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLPhraseElement coclass
 */

DEFINE_GUID(CLSID_HTMLPhraseElement, 0x3050f26e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f26e-98b5-11cf-bb82-00aa00bdce0b") HTMLPhraseElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLPhraseElement, 0x3050f26e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CPhraseElement;
/*****************************************************************************
 * DispHTMLSpanElement dispinterface
 */
#ifndef __DispHTMLSpanElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSpanElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLSpanElement, 0x3050f548, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f548-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLSpanElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLSpanElement, 0x3050f548, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLSpanElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLSpanElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLSpanElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLSpanElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLSpanElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLSpanElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLSpanElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLSpanElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLSpanElementVtbl;

interface DispHTMLSpanElement {
    CONST_VTBL DispHTMLSpanElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLSpanElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLSpanElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLSpanElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLSpanElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLSpanElement_QueryInterface(DispHTMLSpanElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLSpanElement_AddRef(DispHTMLSpanElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLSpanElement_Release(DispHTMLSpanElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLSpanElement_GetTypeInfoCount(DispHTMLSpanElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLSpanElement_GetTypeInfo(DispHTMLSpanElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLSpanElement_GetIDsOfNames(DispHTMLSpanElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLSpanElement_Invoke(DispHTMLSpanElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLSpanElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLSpanElement coclass
 */

DEFINE_GUID(CLSID_HTMLSpanElement, 0x3050f3f5, 0x98b4, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3f5-98b4-11cf-bb82-00aa00bdce0b") HTMLSpanElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLSpanElement, 0x3050f3f5, 0x98b4, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSpanElement;
/*****************************************************************************
 * HTMLTableEvents2 dispinterface
 */
#ifndef __HTMLTableEvents2_DISPINTERFACE_DEFINED__
#define __HTMLTableEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLTableEvents2, 0x3050f623, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f623-98b5-11cf-bb82-00aa00bdce0b")
HTMLTableEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTableEvents2, 0x3050f623, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLTableEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLTableEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLTableEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLTableEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLTableEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLTableEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLTableEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLTableEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLTableEvents2Vtbl;

interface HTMLTableEvents2 {
    CONST_VTBL HTMLTableEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLTableEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLTableEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLTableEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLTableEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLTableEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLTableEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLTableEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLTableEvents2_QueryInterface(HTMLTableEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLTableEvents2_AddRef(HTMLTableEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLTableEvents2_Release(HTMLTableEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLTableEvents2_GetTypeInfoCount(HTMLTableEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLTableEvents2_GetTypeInfo(HTMLTableEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLTableEvents2_GetIDsOfNames(HTMLTableEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLTableEvents2_Invoke(HTMLTableEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLTableEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTableEvents dispinterface
 */
#ifndef __HTMLTableEvents_DISPINTERFACE_DEFINED__
#define __HTMLTableEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLTableEvents, 0x3050f407, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f407-98b5-11cf-bb82-00aa00bdce0b")
HTMLTableEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTableEvents, 0x3050f407, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLTableEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLTableEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLTableEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLTableEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLTableEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLTableEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLTableEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLTableEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLTableEventsVtbl;

interface HTMLTableEvents {
    CONST_VTBL HTMLTableEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLTableEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLTableEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLTableEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLTableEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLTableEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLTableEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLTableEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLTableEvents_QueryInterface(HTMLTableEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLTableEvents_AddRef(HTMLTableEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLTableEvents_Release(HTMLTableEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLTableEvents_GetTypeInfoCount(HTMLTableEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLTableEvents_GetTypeInfo(HTMLTableEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLTableEvents_GetIDsOfNames(HTMLTableEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLTableEvents_Invoke(HTMLTableEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLTableEvents_DISPINTERFACE_DEFINED__ */

typedef enum _htmlFrame {
    htmlFrameNotSet = 0,
    htmlFramevoid = 1,
    htmlFrameabove = 2,
    htmlFramebelow = 3,
    htmlFramehsides = 4,
    htmlFramelhs = 5,
    htmlFramerhs = 6,
    htmlFramevsides = 7,
    htmlFramebox = 8,
    htmlFrameborder = 9,
    htmlFrame_Max = 0x7fffffff
} htmlFrame;
typedef enum _htmlRules {
    htmlRulesNotSet = 0,
    htmlRulesnone = 1,
    htmlRulesgroups = 2,
    htmlRulesrows = 3,
    htmlRulescols = 4,
    htmlRulesall = 5,
    htmlRules_Max = 0x7fffffff
} htmlRules;
typedef enum _htmlCellAlign {
    htmlCellAlignNotSet = 0,
    htmlCellAlignLeft = 1,
    htmlCellAlignCenter = 2,
    htmlCellAlignRight = 3,
    htmlCellAlignMiddle = htmlCellAlignCenter,
    htmlCellAlign_Max = 0x7fffffff
} htmlCellAlign;
typedef enum _htmlCellVAlign {
    htmlCellVAlignNotSet = 0,
    htmlCellVAlignTop = 1,
    htmlCellVAlignMiddle = 2,
    htmlCellVAlignBottom = 3,
    htmlCellVAlignBaseline = 4,
    htmlCellVAlignCenter = htmlCellVAlignMiddle,
    htmlCellVAlign_Max = 0x7fffffff
} htmlCellVAlign;
#ifndef __IHTMLTableSection_FWD_DEFINED__
#define __IHTMLTableSection_FWD_DEFINED__
typedef interface IHTMLTableSection IHTMLTableSection;
#ifdef __cplusplus
interface IHTMLTableSection;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLTable interface
 */
#ifndef __IHTMLTable_INTERFACE_DEFINED__
#define __IHTMLTable_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTable, 0x3050f21e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f21e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTable : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_cols(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cols(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frame(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frame(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_rules(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rules(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cellSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cellSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cellPadding(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cellPadding(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_background(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_background(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColorLight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColorLight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColorDark(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColorDark(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE refresh(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rows(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dataPageSize(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dataPageSize(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE nextPage(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE previousPage(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tHead(
        IHTMLTableSection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tFoot(
        IHTMLTableSection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tBodies(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_caption(
        IHTMLTableCaption **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTHead(
        IDispatch **head) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteTHead(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTFoot(
        IDispatch **foot) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteTFoot(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE createCaption(
        IHTMLTableCaption **caption) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteCaption(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertRow(
        LONG index = -1,
        IDispatch **row = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteRow(
        LONG index = -1) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTable, 0x3050f21e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTable *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTable *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTable *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTable *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTable *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTable methods ***/
    HRESULT (STDMETHODCALLTYPE *put_cols)(
        IHTMLTable *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_cols)(
        IHTMLTable *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_frame)(
        IHTMLTable *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_frame)(
        IHTMLTable *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_rules)(
        IHTMLTable *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rules)(
        IHTMLTable *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cellSpacing)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_cellSpacing)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_cellPadding)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_cellPadding)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_background)(
        IHTMLTable *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_background)(
        IHTMLTable *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bgColor)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bgColor)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColorLight)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColorLight)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColorDark)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColorDark)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLTable *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLTable *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *refresh)(
        IHTMLTable *This);

    HRESULT (STDMETHODCALLTYPE *get_rows)(
        IHTMLTable *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLTable *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_dataPageSize)(
        IHTMLTable *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_dataPageSize)(
        IHTMLTable *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *nextPage)(
        IHTMLTable *This);

    HRESULT (STDMETHODCALLTYPE *previousPage)(
        IHTMLTable *This);

    HRESULT (STDMETHODCALLTYPE *get_tHead)(
        IHTMLTable *This,
        IHTMLTableSection **p);

    HRESULT (STDMETHODCALLTYPE *get_tFoot)(
        IHTMLTable *This,
        IHTMLTableSection **p);

    HRESULT (STDMETHODCALLTYPE *get_tBodies)(
        IHTMLTable *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *get_caption)(
        IHTMLTable *This,
        IHTMLTableCaption **p);

    HRESULT (STDMETHODCALLTYPE *createTHead)(
        IHTMLTable *This,
        IDispatch **head);

    HRESULT (STDMETHODCALLTYPE *deleteTHead)(
        IHTMLTable *This);

    HRESULT (STDMETHODCALLTYPE *createTFoot)(
        IHTMLTable *This,
        IDispatch **foot);

    HRESULT (STDMETHODCALLTYPE *deleteTFoot)(
        IHTMLTable *This);

    HRESULT (STDMETHODCALLTYPE *createCaption)(
        IHTMLTable *This,
        IHTMLTableCaption **caption);

    HRESULT (STDMETHODCALLTYPE *deleteCaption)(
        IHTMLTable *This);

    HRESULT (STDMETHODCALLTYPE *insertRow)(
        IHTMLTable *This,
        LONG index,
        IDispatch **row);

    HRESULT (STDMETHODCALLTYPE *deleteRow)(
        IHTMLTable *This,
        LONG index);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLTable *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLTable *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLTable *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLTableVtbl;

interface IHTMLTable {
    CONST_VTBL IHTMLTableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTable_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTable_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTable_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTable methods ***/
#define IHTMLTable_put_cols(This,v) (This)->lpVtbl->put_cols(This,v)
#define IHTMLTable_get_cols(This,p) (This)->lpVtbl->get_cols(This,p)
#define IHTMLTable_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLTable_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLTable_put_frame(This,v) (This)->lpVtbl->put_frame(This,v)
#define IHTMLTable_get_frame(This,p) (This)->lpVtbl->get_frame(This,p)
#define IHTMLTable_put_rules(This,v) (This)->lpVtbl->put_rules(This,v)
#define IHTMLTable_get_rules(This,p) (This)->lpVtbl->get_rules(This,p)
#define IHTMLTable_put_cellSpacing(This,v) (This)->lpVtbl->put_cellSpacing(This,v)
#define IHTMLTable_get_cellSpacing(This,p) (This)->lpVtbl->get_cellSpacing(This,p)
#define IHTMLTable_put_cellPadding(This,v) (This)->lpVtbl->put_cellPadding(This,v)
#define IHTMLTable_get_cellPadding(This,p) (This)->lpVtbl->get_cellPadding(This,p)
#define IHTMLTable_put_background(This,v) (This)->lpVtbl->put_background(This,v)
#define IHTMLTable_get_background(This,p) (This)->lpVtbl->get_background(This,p)
#define IHTMLTable_put_bgColor(This,v) (This)->lpVtbl->put_bgColor(This,v)
#define IHTMLTable_get_bgColor(This,p) (This)->lpVtbl->get_bgColor(This,p)
#define IHTMLTable_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLTable_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLTable_put_borderColorLight(This,v) (This)->lpVtbl->put_borderColorLight(This,v)
#define IHTMLTable_get_borderColorLight(This,p) (This)->lpVtbl->get_borderColorLight(This,p)
#define IHTMLTable_put_borderColorDark(This,v) (This)->lpVtbl->put_borderColorDark(This,v)
#define IHTMLTable_get_borderColorDark(This,p) (This)->lpVtbl->get_borderColorDark(This,p)
#define IHTMLTable_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLTable_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLTable_refresh(This) (This)->lpVtbl->refresh(This)
#define IHTMLTable_get_rows(This,p) (This)->lpVtbl->get_rows(This,p)
#define IHTMLTable_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLTable_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLTable_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLTable_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLTable_put_dataPageSize(This,v) (This)->lpVtbl->put_dataPageSize(This,v)
#define IHTMLTable_get_dataPageSize(This,p) (This)->lpVtbl->get_dataPageSize(This,p)
#define IHTMLTable_nextPage(This) (This)->lpVtbl->nextPage(This)
#define IHTMLTable_previousPage(This) (This)->lpVtbl->previousPage(This)
#define IHTMLTable_get_tHead(This,p) (This)->lpVtbl->get_tHead(This,p)
#define IHTMLTable_get_tFoot(This,p) (This)->lpVtbl->get_tFoot(This,p)
#define IHTMLTable_get_tBodies(This,p) (This)->lpVtbl->get_tBodies(This,p)
#define IHTMLTable_get_caption(This,p) (This)->lpVtbl->get_caption(This,p)
#define IHTMLTable_createTHead(This,head) (This)->lpVtbl->createTHead(This,head)
#define IHTMLTable_deleteTHead(This) (This)->lpVtbl->deleteTHead(This)
#define IHTMLTable_createTFoot(This,foot) (This)->lpVtbl->createTFoot(This,foot)
#define IHTMLTable_deleteTFoot(This) (This)->lpVtbl->deleteTFoot(This)
#define IHTMLTable_createCaption(This,caption) (This)->lpVtbl->createCaption(This,caption)
#define IHTMLTable_deleteCaption(This) (This)->lpVtbl->deleteCaption(This)
#define IHTMLTable_insertRow(This,index,row) (This)->lpVtbl->insertRow(This,index,row)
#define IHTMLTable_deleteRow(This,index) (This)->lpVtbl->deleteRow(This,index)
#define IHTMLTable_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLTable_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLTable_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTable_QueryInterface(IHTMLTable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTable_AddRef(IHTMLTable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTable_Release(IHTMLTable* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTable_GetTypeInfoCount(IHTMLTable* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTable_GetTypeInfo(IHTMLTable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTable_GetIDsOfNames(IHTMLTable* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTable_Invoke(IHTMLTable* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTable methods ***/
static inline HRESULT IHTMLTable_put_cols(IHTMLTable* This,LONG v) {
    return This->lpVtbl->put_cols(This,v);
}
static inline HRESULT IHTMLTable_get_cols(IHTMLTable* This,LONG *p) {
    return This->lpVtbl->get_cols(This,p);
}
static inline HRESULT IHTMLTable_put_border(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLTable_get_border(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLTable_put_frame(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_frame(This,v);
}
static inline HRESULT IHTMLTable_get_frame(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_frame(This,p);
}
static inline HRESULT IHTMLTable_put_rules(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_rules(This,v);
}
static inline HRESULT IHTMLTable_get_rules(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_rules(This,p);
}
static inline HRESULT IHTMLTable_put_cellSpacing(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_cellSpacing(This,v);
}
static inline HRESULT IHTMLTable_get_cellSpacing(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_cellSpacing(This,p);
}
static inline HRESULT IHTMLTable_put_cellPadding(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_cellPadding(This,v);
}
static inline HRESULT IHTMLTable_get_cellPadding(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_cellPadding(This,p);
}
static inline HRESULT IHTMLTable_put_background(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static inline HRESULT IHTMLTable_get_background(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static inline HRESULT IHTMLTable_put_bgColor(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static inline HRESULT IHTMLTable_get_bgColor(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static inline HRESULT IHTMLTable_put_borderColor(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLTable_get_borderColor(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLTable_put_borderColorLight(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_borderColorLight(This,v);
}
static inline HRESULT IHTMLTable_get_borderColorLight(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorLight(This,p);
}
static inline HRESULT IHTMLTable_put_borderColorDark(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_borderColorDark(This,v);
}
static inline HRESULT IHTMLTable_get_borderColorDark(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorDark(This,p);
}
static inline HRESULT IHTMLTable_put_align(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLTable_get_align(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLTable_refresh(IHTMLTable* This) {
    return This->lpVtbl->refresh(This);
}
static inline HRESULT IHTMLTable_get_rows(IHTMLTable* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_rows(This,p);
}
static inline HRESULT IHTMLTable_put_width(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLTable_get_width(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLTable_put_height(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLTable_get_height(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLTable_put_dataPageSize(IHTMLTable* This,LONG v) {
    return This->lpVtbl->put_dataPageSize(This,v);
}
static inline HRESULT IHTMLTable_get_dataPageSize(IHTMLTable* This,LONG *p) {
    return This->lpVtbl->get_dataPageSize(This,p);
}
static inline HRESULT IHTMLTable_nextPage(IHTMLTable* This) {
    return This->lpVtbl->nextPage(This);
}
static inline HRESULT IHTMLTable_previousPage(IHTMLTable* This) {
    return This->lpVtbl->previousPage(This);
}
static inline HRESULT IHTMLTable_get_tHead(IHTMLTable* This,IHTMLTableSection **p) {
    return This->lpVtbl->get_tHead(This,p);
}
static inline HRESULT IHTMLTable_get_tFoot(IHTMLTable* This,IHTMLTableSection **p) {
    return This->lpVtbl->get_tFoot(This,p);
}
static inline HRESULT IHTMLTable_get_tBodies(IHTMLTable* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_tBodies(This,p);
}
static inline HRESULT IHTMLTable_get_caption(IHTMLTable* This,IHTMLTableCaption **p) {
    return This->lpVtbl->get_caption(This,p);
}
static inline HRESULT IHTMLTable_createTHead(IHTMLTable* This,IDispatch **head) {
    return This->lpVtbl->createTHead(This,head);
}
static inline HRESULT IHTMLTable_deleteTHead(IHTMLTable* This) {
    return This->lpVtbl->deleteTHead(This);
}
static inline HRESULT IHTMLTable_createTFoot(IHTMLTable* This,IDispatch **foot) {
    return This->lpVtbl->createTFoot(This,foot);
}
static inline HRESULT IHTMLTable_deleteTFoot(IHTMLTable* This) {
    return This->lpVtbl->deleteTFoot(This);
}
static inline HRESULT IHTMLTable_createCaption(IHTMLTable* This,IHTMLTableCaption **caption) {
    return This->lpVtbl->createCaption(This,caption);
}
static inline HRESULT IHTMLTable_deleteCaption(IHTMLTable* This) {
    return This->lpVtbl->deleteCaption(This);
}
static inline HRESULT IHTMLTable_insertRow(IHTMLTable* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertRow(This,index,row);
}
static inline HRESULT IHTMLTable_deleteRow(IHTMLTable* This,LONG index) {
    return This->lpVtbl->deleteRow(This,index);
}
static inline HRESULT IHTMLTable_get_readyState(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLTable_put_onreadystatechange(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLTable_get_onreadystatechange(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTable2 interface
 */
#ifndef __IHTMLTable2_INTERFACE_DEFINED__
#define __IHTMLTable2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTable2, 0x3050f4ad, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ad-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTable2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE firstPage(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE lastPage(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cells(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveRow(
        LONG indexFrom = -1,
        LONG indexTo = -1,
        IDispatch **row = 0) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTable2, 0x3050f4ad, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTable2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTable2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTable2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTable2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTable2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTable2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTable2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTable2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTable2 methods ***/
    HRESULT (STDMETHODCALLTYPE *firstPage)(
        IHTMLTable2 *This);

    HRESULT (STDMETHODCALLTYPE *lastPage)(
        IHTMLTable2 *This);

    HRESULT (STDMETHODCALLTYPE *get_cells)(
        IHTMLTable2 *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *moveRow)(
        IHTMLTable2 *This,
        LONG indexFrom,
        LONG indexTo,
        IDispatch **row);

    END_INTERFACE
} IHTMLTable2Vtbl;

interface IHTMLTable2 {
    CONST_VTBL IHTMLTable2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTable2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTable2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTable2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTable2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTable2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTable2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTable2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTable2 methods ***/
#define IHTMLTable2_firstPage(This) (This)->lpVtbl->firstPage(This)
#define IHTMLTable2_lastPage(This) (This)->lpVtbl->lastPage(This)
#define IHTMLTable2_get_cells(This,p) (This)->lpVtbl->get_cells(This,p)
#define IHTMLTable2_moveRow(This,indexFrom,indexTo,row) (This)->lpVtbl->moveRow(This,indexFrom,indexTo,row)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTable2_QueryInterface(IHTMLTable2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTable2_AddRef(IHTMLTable2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTable2_Release(IHTMLTable2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTable2_GetTypeInfoCount(IHTMLTable2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTable2_GetTypeInfo(IHTMLTable2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTable2_GetIDsOfNames(IHTMLTable2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTable2_Invoke(IHTMLTable2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTable2 methods ***/
static inline HRESULT IHTMLTable2_firstPage(IHTMLTable2* This) {
    return This->lpVtbl->firstPage(This);
}
static inline HRESULT IHTMLTable2_lastPage(IHTMLTable2* This) {
    return This->lpVtbl->lastPage(This);
}
static inline HRESULT IHTMLTable2_get_cells(IHTMLTable2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_cells(This,p);
}
static inline HRESULT IHTMLTable2_moveRow(IHTMLTable2* This,LONG indexFrom,LONG indexTo,IDispatch **row) {
    return This->lpVtbl->moveRow(This,indexFrom,indexTo,row);
}
#endif
#endif

#endif


#endif  /* __IHTMLTable2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTable3 interface
 */
#ifndef __IHTMLTable3_INTERFACE_DEFINED__
#define __IHTMLTable3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTable3, 0x3050f829, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f829-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTable3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_summary(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_summary(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTable3, 0x3050f829, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTable3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTable3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTable3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTable3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTable3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTable3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTable3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTable3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTable3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_summary)(
        IHTMLTable3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_summary)(
        IHTMLTable3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTable3Vtbl;

interface IHTMLTable3 {
    CONST_VTBL IHTMLTable3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTable3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTable3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTable3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTable3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTable3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTable3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTable3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTable3 methods ***/
#define IHTMLTable3_put_summary(This,v) (This)->lpVtbl->put_summary(This,v)
#define IHTMLTable3_get_summary(This,p) (This)->lpVtbl->get_summary(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTable3_QueryInterface(IHTMLTable3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTable3_AddRef(IHTMLTable3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTable3_Release(IHTMLTable3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTable3_GetTypeInfoCount(IHTMLTable3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTable3_GetTypeInfo(IHTMLTable3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTable3_GetIDsOfNames(IHTMLTable3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTable3_Invoke(IHTMLTable3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTable3 methods ***/
static inline HRESULT IHTMLTable3_put_summary(IHTMLTable3* This,BSTR v) {
    return This->lpVtbl->put_summary(This,v);
}
static inline HRESULT IHTMLTable3_get_summary(IHTMLTable3* This,BSTR *p) {
    return This->lpVtbl->get_summary(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTable3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTable4 interface
 */
#ifndef __IHTMLTable4_INTERFACE_DEFINED__
#define __IHTMLTable4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTable4, 0x305106c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106c2-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTable4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_tHead(
        IHTMLTableSection *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tHead(
        IHTMLTableSection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_tFoot(
        IHTMLTableSection *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tFoot(
        IHTMLTableSection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_caption(
        IHTMLTableCaption *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_caption(
        IHTMLTableCaption **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertRow(
        LONG index = -1,
        IDispatch **row = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteRow(
        LONG index = -1) = 0;

    virtual HRESULT STDMETHODCALLTYPE createTBody(
        IHTMLTableSection **tbody) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTable4, 0x305106c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTable4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTable4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTable4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTable4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTable4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTable4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTable4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTable4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTable4 methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_tHead)(
        IHTMLTable4 *This,
        IHTMLTableSection *v);

    HRESULT (STDMETHODCALLTYPE *get_tHead)(
        IHTMLTable4 *This,
        IHTMLTableSection **p);

    HRESULT (STDMETHODCALLTYPE *putref_tFoot)(
        IHTMLTable4 *This,
        IHTMLTableSection *v);

    HRESULT (STDMETHODCALLTYPE *get_tFoot)(
        IHTMLTable4 *This,
        IHTMLTableSection **p);

    HRESULT (STDMETHODCALLTYPE *putref_caption)(
        IHTMLTable4 *This,
        IHTMLTableCaption *v);

    HRESULT (STDMETHODCALLTYPE *get_caption)(
        IHTMLTable4 *This,
        IHTMLTableCaption **p);

    HRESULT (STDMETHODCALLTYPE *insertRow)(
        IHTMLTable4 *This,
        LONG index,
        IDispatch **row);

    HRESULT (STDMETHODCALLTYPE *deleteRow)(
        IHTMLTable4 *This,
        LONG index);

    HRESULT (STDMETHODCALLTYPE *createTBody)(
        IHTMLTable4 *This,
        IHTMLTableSection **tbody);

    END_INTERFACE
} IHTMLTable4Vtbl;

interface IHTMLTable4 {
    CONST_VTBL IHTMLTable4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTable4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTable4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTable4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTable4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTable4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTable4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTable4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTable4 methods ***/
#define IHTMLTable4_putref_tHead(This,v) (This)->lpVtbl->putref_tHead(This,v)
#define IHTMLTable4_get_tHead(This,p) (This)->lpVtbl->get_tHead(This,p)
#define IHTMLTable4_putref_tFoot(This,v) (This)->lpVtbl->putref_tFoot(This,v)
#define IHTMLTable4_get_tFoot(This,p) (This)->lpVtbl->get_tFoot(This,p)
#define IHTMLTable4_putref_caption(This,v) (This)->lpVtbl->putref_caption(This,v)
#define IHTMLTable4_get_caption(This,p) (This)->lpVtbl->get_caption(This,p)
#define IHTMLTable4_insertRow(This,index,row) (This)->lpVtbl->insertRow(This,index,row)
#define IHTMLTable4_deleteRow(This,index) (This)->lpVtbl->deleteRow(This,index)
#define IHTMLTable4_createTBody(This,tbody) (This)->lpVtbl->createTBody(This,tbody)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTable4_QueryInterface(IHTMLTable4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTable4_AddRef(IHTMLTable4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTable4_Release(IHTMLTable4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTable4_GetTypeInfoCount(IHTMLTable4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTable4_GetTypeInfo(IHTMLTable4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTable4_GetIDsOfNames(IHTMLTable4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTable4_Invoke(IHTMLTable4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTable4 methods ***/
static inline HRESULT IHTMLTable4_putref_tHead(IHTMLTable4* This,IHTMLTableSection *v) {
    return This->lpVtbl->putref_tHead(This,v);
}
static inline HRESULT IHTMLTable4_get_tHead(IHTMLTable4* This,IHTMLTableSection **p) {
    return This->lpVtbl->get_tHead(This,p);
}
static inline HRESULT IHTMLTable4_putref_tFoot(IHTMLTable4* This,IHTMLTableSection *v) {
    return This->lpVtbl->putref_tFoot(This,v);
}
static inline HRESULT IHTMLTable4_get_tFoot(IHTMLTable4* This,IHTMLTableSection **p) {
    return This->lpVtbl->get_tFoot(This,p);
}
static inline HRESULT IHTMLTable4_putref_caption(IHTMLTable4* This,IHTMLTableCaption *v) {
    return This->lpVtbl->putref_caption(This,v);
}
static inline HRESULT IHTMLTable4_get_caption(IHTMLTable4* This,IHTMLTableCaption **p) {
    return This->lpVtbl->get_caption(This,p);
}
static inline HRESULT IHTMLTable4_insertRow(IHTMLTable4* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertRow(This,index,row);
}
static inline HRESULT IHTMLTable4_deleteRow(IHTMLTable4* This,LONG index) {
    return This->lpVtbl->deleteRow(This,index);
}
static inline HRESULT IHTMLTable4_createTBody(IHTMLTable4* This,IHTMLTableSection **tbody) {
    return This->lpVtbl->createTBody(This,tbody);
}
#endif
#endif

#endif


#endif  /* __IHTMLTable4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableCol interface
 */
#ifndef __IHTMLTableCol_INTERFACE_DEFINED__
#define __IHTMLTableCol_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableCol, 0x3050f23a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f23a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableCol : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_span(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_span(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vAlign(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableCol, 0x3050f23a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableColVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableCol *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableCol *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableCol *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableCol *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableCol *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableCol *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableCol *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableCol methods ***/
    HRESULT (STDMETHODCALLTYPE *put_span)(
        IHTMLTableCol *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_span)(
        IHTMLTableCol *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLTableCol *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLTableCol *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLTableCol *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLTableCol *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vAlign)(
        IHTMLTableCol *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vAlign)(
        IHTMLTableCol *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableColVtbl;

interface IHTMLTableCol {
    CONST_VTBL IHTMLTableColVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableCol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableCol_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableCol_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableCol_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableCol_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableCol_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableCol_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableCol methods ***/
#define IHTMLTableCol_put_span(This,v) (This)->lpVtbl->put_span(This,v)
#define IHTMLTableCol_get_span(This,p) (This)->lpVtbl->get_span(This,p)
#define IHTMLTableCol_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLTableCol_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLTableCol_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLTableCol_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLTableCol_put_vAlign(This,v) (This)->lpVtbl->put_vAlign(This,v)
#define IHTMLTableCol_get_vAlign(This,p) (This)->lpVtbl->get_vAlign(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableCol_QueryInterface(IHTMLTableCol* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableCol_AddRef(IHTMLTableCol* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableCol_Release(IHTMLTableCol* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableCol_GetTypeInfoCount(IHTMLTableCol* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableCol_GetTypeInfo(IHTMLTableCol* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableCol_GetIDsOfNames(IHTMLTableCol* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableCol_Invoke(IHTMLTableCol* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableCol methods ***/
static inline HRESULT IHTMLTableCol_put_span(IHTMLTableCol* This,LONG v) {
    return This->lpVtbl->put_span(This,v);
}
static inline HRESULT IHTMLTableCol_get_span(IHTMLTableCol* This,LONG *p) {
    return This->lpVtbl->get_span(This,p);
}
static inline HRESULT IHTMLTableCol_put_width(IHTMLTableCol* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLTableCol_get_width(IHTMLTableCol* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLTableCol_put_align(IHTMLTableCol* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLTableCol_get_align(IHTMLTableCol* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLTableCol_put_vAlign(IHTMLTableCol* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static inline HRESULT IHTMLTableCol_get_vAlign(IHTMLTableCol* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCol_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableCol2 interface
 */
#ifndef __IHTMLTableCol2_INTERFACE_DEFINED__
#define __IHTMLTableCol2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableCol2, 0x3050f82a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f82a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableCol2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableCol2, 0x3050f82a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableCol2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableCol2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableCol2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableCol2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableCol2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableCol2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableCol2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableCol2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableCol2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableCol2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableCol2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableCol2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableCol2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableCol2Vtbl;

interface IHTMLTableCol2 {
    CONST_VTBL IHTMLTableCol2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableCol2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableCol2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableCol2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableCol2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableCol2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableCol2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableCol2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableCol2 methods ***/
#define IHTMLTableCol2_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableCol2_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableCol2_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableCol2_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableCol2_QueryInterface(IHTMLTableCol2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableCol2_AddRef(IHTMLTableCol2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableCol2_Release(IHTMLTableCol2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableCol2_GetTypeInfoCount(IHTMLTableCol2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableCol2_GetTypeInfo(IHTMLTableCol2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableCol2_GetIDsOfNames(IHTMLTableCol2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableCol2_Invoke(IHTMLTableCol2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableCol2 methods ***/
static inline HRESULT IHTMLTableCol2_put_ch(IHTMLTableCol2* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableCol2_get_ch(IHTMLTableCol2* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableCol2_put_chOff(IHTMLTableCol2* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableCol2_get_chOff(IHTMLTableCol2* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCol2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableCol3 interface
 */
#ifndef __IHTMLTableCol3_INTERFACE_DEFINED__
#define __IHTMLTableCol3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableCol3, 0x305106c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106c4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableCol3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableCol3, 0x305106c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableCol3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableCol3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableCol3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableCol3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableCol3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableCol3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableCol3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableCol3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableCol3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableCol3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableCol3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableCol3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableCol3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableCol3Vtbl;

interface IHTMLTableCol3 {
    CONST_VTBL IHTMLTableCol3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableCol3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableCol3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableCol3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableCol3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableCol3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableCol3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableCol3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableCol3 methods ***/
#define IHTMLTableCol3_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableCol3_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableCol3_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableCol3_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableCol3_QueryInterface(IHTMLTableCol3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableCol3_AddRef(IHTMLTableCol3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableCol3_Release(IHTMLTableCol3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableCol3_GetTypeInfoCount(IHTMLTableCol3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableCol3_GetTypeInfo(IHTMLTableCol3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableCol3_GetIDsOfNames(IHTMLTableCol3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableCol3_Invoke(IHTMLTableCol3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableCol3 methods ***/
static inline HRESULT IHTMLTableCol3_put_ch(IHTMLTableCol3* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableCol3_get_ch(IHTMLTableCol3* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableCol3_put_chOff(IHTMLTableCol3* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableCol3_get_chOff(IHTMLTableCol3* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCol3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableSection interface
 */
#ifndef __IHTMLTableSection_INTERFACE_DEFINED__
#define __IHTMLTableSection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableSection, 0x3050f23b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f23b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableSection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rows(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertRow(
        LONG index = -1,
        IDispatch **row = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteRow(
        LONG index = -1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableSection, 0x3050f23b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableSectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableSection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableSection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableSection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableSection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableSection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableSection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableSection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableSection methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLTableSection *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLTableSection *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vAlign)(
        IHTMLTableSection *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vAlign)(
        IHTMLTableSection *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bgColor)(
        IHTMLTableSection *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bgColor)(
        IHTMLTableSection *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_rows)(
        IHTMLTableSection *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *insertRow)(
        IHTMLTableSection *This,
        LONG index,
        IDispatch **row);

    HRESULT (STDMETHODCALLTYPE *deleteRow)(
        IHTMLTableSection *This,
        LONG index);

    END_INTERFACE
} IHTMLTableSectionVtbl;

interface IHTMLTableSection {
    CONST_VTBL IHTMLTableSectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableSection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableSection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableSection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableSection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableSection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableSection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableSection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableSection methods ***/
#define IHTMLTableSection_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLTableSection_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLTableSection_put_vAlign(This,v) (This)->lpVtbl->put_vAlign(This,v)
#define IHTMLTableSection_get_vAlign(This,p) (This)->lpVtbl->get_vAlign(This,p)
#define IHTMLTableSection_put_bgColor(This,v) (This)->lpVtbl->put_bgColor(This,v)
#define IHTMLTableSection_get_bgColor(This,p) (This)->lpVtbl->get_bgColor(This,p)
#define IHTMLTableSection_get_rows(This,p) (This)->lpVtbl->get_rows(This,p)
#define IHTMLTableSection_insertRow(This,index,row) (This)->lpVtbl->insertRow(This,index,row)
#define IHTMLTableSection_deleteRow(This,index) (This)->lpVtbl->deleteRow(This,index)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableSection_QueryInterface(IHTMLTableSection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableSection_AddRef(IHTMLTableSection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableSection_Release(IHTMLTableSection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableSection_GetTypeInfoCount(IHTMLTableSection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableSection_GetTypeInfo(IHTMLTableSection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableSection_GetIDsOfNames(IHTMLTableSection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableSection_Invoke(IHTMLTableSection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableSection methods ***/
static inline HRESULT IHTMLTableSection_put_align(IHTMLTableSection* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLTableSection_get_align(IHTMLTableSection* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLTableSection_put_vAlign(IHTMLTableSection* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static inline HRESULT IHTMLTableSection_get_vAlign(IHTMLTableSection* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
static inline HRESULT IHTMLTableSection_put_bgColor(IHTMLTableSection* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static inline HRESULT IHTMLTableSection_get_bgColor(IHTMLTableSection* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static inline HRESULT IHTMLTableSection_get_rows(IHTMLTableSection* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_rows(This,p);
}
static inline HRESULT IHTMLTableSection_insertRow(IHTMLTableSection* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertRow(This,index,row);
}
static inline HRESULT IHTMLTableSection_deleteRow(IHTMLTableSection* This,LONG index) {
    return This->lpVtbl->deleteRow(This,index);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableSection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableSection2 interface
 */
#ifndef __IHTMLTableSection2_INTERFACE_DEFINED__
#define __IHTMLTableSection2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableSection2, 0x3050f5c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5c7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableSection2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE moveRow(
        LONG indexFrom = -1,
        LONG indexTo = -1,
        IDispatch **row = 0) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableSection2, 0x3050f5c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableSection2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableSection2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableSection2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableSection2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableSection2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableSection2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableSection2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableSection2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableSection2 methods ***/
    HRESULT (STDMETHODCALLTYPE *moveRow)(
        IHTMLTableSection2 *This,
        LONG indexFrom,
        LONG indexTo,
        IDispatch **row);

    END_INTERFACE
} IHTMLTableSection2Vtbl;

interface IHTMLTableSection2 {
    CONST_VTBL IHTMLTableSection2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableSection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableSection2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableSection2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableSection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableSection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableSection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableSection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableSection2 methods ***/
#define IHTMLTableSection2_moveRow(This,indexFrom,indexTo,row) (This)->lpVtbl->moveRow(This,indexFrom,indexTo,row)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableSection2_QueryInterface(IHTMLTableSection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableSection2_AddRef(IHTMLTableSection2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableSection2_Release(IHTMLTableSection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableSection2_GetTypeInfoCount(IHTMLTableSection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableSection2_GetTypeInfo(IHTMLTableSection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableSection2_GetIDsOfNames(IHTMLTableSection2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableSection2_Invoke(IHTMLTableSection2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableSection2 methods ***/
static inline HRESULT IHTMLTableSection2_moveRow(IHTMLTableSection2* This,LONG indexFrom,LONG indexTo,IDispatch **row) {
    return This->lpVtbl->moveRow(This,indexFrom,indexTo,row);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableSection2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableSection3 interface
 */
#ifndef __IHTMLTableSection3_INTERFACE_DEFINED__
#define __IHTMLTableSection3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableSection3, 0x3050f82b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f82b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableSection3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableSection3, 0x3050f82b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableSection3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableSection3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableSection3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableSection3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableSection3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableSection3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableSection3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableSection3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableSection3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableSection3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableSection3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableSection3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableSection3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableSection3Vtbl;

interface IHTMLTableSection3 {
    CONST_VTBL IHTMLTableSection3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableSection3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableSection3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableSection3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableSection3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableSection3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableSection3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableSection3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableSection3 methods ***/
#define IHTMLTableSection3_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableSection3_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableSection3_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableSection3_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableSection3_QueryInterface(IHTMLTableSection3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableSection3_AddRef(IHTMLTableSection3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableSection3_Release(IHTMLTableSection3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableSection3_GetTypeInfoCount(IHTMLTableSection3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableSection3_GetTypeInfo(IHTMLTableSection3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableSection3_GetIDsOfNames(IHTMLTableSection3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableSection3_Invoke(IHTMLTableSection3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableSection3 methods ***/
static inline HRESULT IHTMLTableSection3_put_ch(IHTMLTableSection3* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableSection3_get_ch(IHTMLTableSection3* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableSection3_put_chOff(IHTMLTableSection3* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableSection3_get_chOff(IHTMLTableSection3* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableSection3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableSection4 interface
 */
#ifndef __IHTMLTableSection4_INTERFACE_DEFINED__
#define __IHTMLTableSection4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableSection4, 0x305106c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106c5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableSection4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertRow(
        LONG index = -1,
        IDispatch **row = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteRow(
        LONG index = -1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableSection4, 0x305106c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableSection4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableSection4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableSection4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableSection4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableSection4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableSection4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableSection4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableSection4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableSection4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableSection4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableSection4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableSection4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableSection4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *insertRow)(
        IHTMLTableSection4 *This,
        LONG index,
        IDispatch **row);

    HRESULT (STDMETHODCALLTYPE *deleteRow)(
        IHTMLTableSection4 *This,
        LONG index);

    END_INTERFACE
} IHTMLTableSection4Vtbl;

interface IHTMLTableSection4 {
    CONST_VTBL IHTMLTableSection4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableSection4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableSection4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableSection4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableSection4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableSection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableSection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableSection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableSection4 methods ***/
#define IHTMLTableSection4_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableSection4_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableSection4_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableSection4_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#define IHTMLTableSection4_insertRow(This,index,row) (This)->lpVtbl->insertRow(This,index,row)
#define IHTMLTableSection4_deleteRow(This,index) (This)->lpVtbl->deleteRow(This,index)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableSection4_QueryInterface(IHTMLTableSection4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableSection4_AddRef(IHTMLTableSection4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableSection4_Release(IHTMLTableSection4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableSection4_GetTypeInfoCount(IHTMLTableSection4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableSection4_GetTypeInfo(IHTMLTableSection4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableSection4_GetIDsOfNames(IHTMLTableSection4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableSection4_Invoke(IHTMLTableSection4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableSection4 methods ***/
static inline HRESULT IHTMLTableSection4_put_ch(IHTMLTableSection4* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableSection4_get_ch(IHTMLTableSection4* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableSection4_put_chOff(IHTMLTableSection4* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableSection4_get_chOff(IHTMLTableSection4* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
static inline HRESULT IHTMLTableSection4_insertRow(IHTMLTableSection4* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertRow(This,index,row);
}
static inline HRESULT IHTMLTableSection4_deleteRow(IHTMLTableSection4* This,LONG index) {
    return This->lpVtbl->deleteRow(This,index);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableSection4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableRow interface
 */
#ifndef __IHTMLTableRow_INTERFACE_DEFINED__
#define __IHTMLTableRow_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableRow, 0x3050f23c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f23c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableRow : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColorLight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColorLight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColorDark(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColorDark(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rowIndex(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_sectionRowIndex(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cells(
        IHTMLElementCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertCell(
        LONG index = -1,
        IDispatch **row = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteCell(
        LONG index = -1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableRow, 0x3050f23c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableRowVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableRow *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableRow *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableRow *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableRow *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableRow *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableRow *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableRow *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableRow methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLTableRow *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLTableRow *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vAlign)(
        IHTMLTableRow *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vAlign)(
        IHTMLTableRow *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bgColor)(
        IHTMLTableRow *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bgColor)(
        IHTMLTableRow *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLTableRow *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLTableRow *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColorLight)(
        IHTMLTableRow *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColorLight)(
        IHTMLTableRow *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColorDark)(
        IHTMLTableRow *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColorDark)(
        IHTMLTableRow *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_rowIndex)(
        IHTMLTableRow *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_sectionRowIndex)(
        IHTMLTableRow *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_cells)(
        IHTMLTableRow *This,
        IHTMLElementCollection **p);

    HRESULT (STDMETHODCALLTYPE *insertCell)(
        IHTMLTableRow *This,
        LONG index,
        IDispatch **row);

    HRESULT (STDMETHODCALLTYPE *deleteCell)(
        IHTMLTableRow *This,
        LONG index);

    END_INTERFACE
} IHTMLTableRowVtbl;

interface IHTMLTableRow {
    CONST_VTBL IHTMLTableRowVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableRow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableRow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableRow_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableRow_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableRow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableRow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableRow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableRow methods ***/
#define IHTMLTableRow_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLTableRow_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLTableRow_put_vAlign(This,v) (This)->lpVtbl->put_vAlign(This,v)
#define IHTMLTableRow_get_vAlign(This,p) (This)->lpVtbl->get_vAlign(This,p)
#define IHTMLTableRow_put_bgColor(This,v) (This)->lpVtbl->put_bgColor(This,v)
#define IHTMLTableRow_get_bgColor(This,p) (This)->lpVtbl->get_bgColor(This,p)
#define IHTMLTableRow_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLTableRow_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLTableRow_put_borderColorLight(This,v) (This)->lpVtbl->put_borderColorLight(This,v)
#define IHTMLTableRow_get_borderColorLight(This,p) (This)->lpVtbl->get_borderColorLight(This,p)
#define IHTMLTableRow_put_borderColorDark(This,v) (This)->lpVtbl->put_borderColorDark(This,v)
#define IHTMLTableRow_get_borderColorDark(This,p) (This)->lpVtbl->get_borderColorDark(This,p)
#define IHTMLTableRow_get_rowIndex(This,p) (This)->lpVtbl->get_rowIndex(This,p)
#define IHTMLTableRow_get_sectionRowIndex(This,p) (This)->lpVtbl->get_sectionRowIndex(This,p)
#define IHTMLTableRow_get_cells(This,p) (This)->lpVtbl->get_cells(This,p)
#define IHTMLTableRow_insertCell(This,index,row) (This)->lpVtbl->insertCell(This,index,row)
#define IHTMLTableRow_deleteCell(This,index) (This)->lpVtbl->deleteCell(This,index)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableRow_QueryInterface(IHTMLTableRow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableRow_AddRef(IHTMLTableRow* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableRow_Release(IHTMLTableRow* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableRow_GetTypeInfoCount(IHTMLTableRow* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableRow_GetTypeInfo(IHTMLTableRow* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableRow_GetIDsOfNames(IHTMLTableRow* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableRow_Invoke(IHTMLTableRow* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableRow methods ***/
static inline HRESULT IHTMLTableRow_put_align(IHTMLTableRow* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLTableRow_get_align(IHTMLTableRow* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLTableRow_put_vAlign(IHTMLTableRow* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static inline HRESULT IHTMLTableRow_get_vAlign(IHTMLTableRow* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
static inline HRESULT IHTMLTableRow_put_bgColor(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static inline HRESULT IHTMLTableRow_get_bgColor(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static inline HRESULT IHTMLTableRow_put_borderColor(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLTableRow_get_borderColor(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLTableRow_put_borderColorLight(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_borderColorLight(This,v);
}
static inline HRESULT IHTMLTableRow_get_borderColorLight(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorLight(This,p);
}
static inline HRESULT IHTMLTableRow_put_borderColorDark(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_borderColorDark(This,v);
}
static inline HRESULT IHTMLTableRow_get_borderColorDark(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorDark(This,p);
}
static inline HRESULT IHTMLTableRow_get_rowIndex(IHTMLTableRow* This,LONG *p) {
    return This->lpVtbl->get_rowIndex(This,p);
}
static inline HRESULT IHTMLTableRow_get_sectionRowIndex(IHTMLTableRow* This,LONG *p) {
    return This->lpVtbl->get_sectionRowIndex(This,p);
}
static inline HRESULT IHTMLTableRow_get_cells(IHTMLTableRow* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_cells(This,p);
}
static inline HRESULT IHTMLTableRow_insertCell(IHTMLTableRow* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertCell(This,index,row);
}
static inline HRESULT IHTMLTableRow_deleteCell(IHTMLTableRow* This,LONG index) {
    return This->lpVtbl->deleteCell(This,index);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableRow_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableRow2 interface
 */
#ifndef __IHTMLTableRow2_INTERFACE_DEFINED__
#define __IHTMLTableRow2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableRow2, 0x3050f4a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4a1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableRow2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableRow2, 0x3050f4a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableRow2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableRow2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableRow2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableRow2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableRow2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableRow2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableRow2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableRow2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableRow2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLTableRow2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLTableRow2 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLTableRow2Vtbl;

interface IHTMLTableRow2 {
    CONST_VTBL IHTMLTableRow2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableRow2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableRow2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableRow2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableRow2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableRow2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableRow2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableRow2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableRow2 methods ***/
#define IHTMLTableRow2_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLTableRow2_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableRow2_QueryInterface(IHTMLTableRow2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableRow2_AddRef(IHTMLTableRow2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableRow2_Release(IHTMLTableRow2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableRow2_GetTypeInfoCount(IHTMLTableRow2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableRow2_GetTypeInfo(IHTMLTableRow2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableRow2_GetIDsOfNames(IHTMLTableRow2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableRow2_Invoke(IHTMLTableRow2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableRow2 methods ***/
static inline HRESULT IHTMLTableRow2_put_height(IHTMLTableRow2* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLTableRow2_get_height(IHTMLTableRow2* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableRow2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableRow3 interface
 */
#ifndef __IHTMLTableRow3_INTERFACE_DEFINED__
#define __IHTMLTableRow3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableRow3, 0x3050f82c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f82c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableRow3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableRow3, 0x3050f82c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableRow3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableRow3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableRow3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableRow3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableRow3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableRow3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableRow3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableRow3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableRow3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableRow3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableRow3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableRow3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableRow3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableRow3Vtbl;

interface IHTMLTableRow3 {
    CONST_VTBL IHTMLTableRow3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableRow3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableRow3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableRow3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableRow3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableRow3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableRow3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableRow3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableRow3 methods ***/
#define IHTMLTableRow3_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableRow3_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableRow3_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableRow3_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableRow3_QueryInterface(IHTMLTableRow3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableRow3_AddRef(IHTMLTableRow3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableRow3_Release(IHTMLTableRow3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableRow3_GetTypeInfoCount(IHTMLTableRow3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableRow3_GetTypeInfo(IHTMLTableRow3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableRow3_GetIDsOfNames(IHTMLTableRow3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableRow3_Invoke(IHTMLTableRow3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableRow3 methods ***/
static inline HRESULT IHTMLTableRow3_put_ch(IHTMLTableRow3* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableRow3_get_ch(IHTMLTableRow3* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableRow3_put_chOff(IHTMLTableRow3* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableRow3_get_chOff(IHTMLTableRow3* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableRow3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableRow4 interface
 */
#ifndef __IHTMLTableRow4_INTERFACE_DEFINED__
#define __IHTMLTableRow4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableRow4, 0x305106c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106c6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableRow4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertCell(
        LONG index = -1,
        IDispatch **row = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteCell(
        LONG index = -1) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableRow4, 0x305106c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableRow4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableRow4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableRow4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableRow4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableRow4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableRow4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableRow4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableRow4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableRow4 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableRow4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableRow4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableRow4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableRow4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *insertCell)(
        IHTMLTableRow4 *This,
        LONG index,
        IDispatch **row);

    HRESULT (STDMETHODCALLTYPE *deleteCell)(
        IHTMLTableRow4 *This,
        LONG index);

    END_INTERFACE
} IHTMLTableRow4Vtbl;

interface IHTMLTableRow4 {
    CONST_VTBL IHTMLTableRow4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableRow4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableRow4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableRow4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableRow4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableRow4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableRow4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableRow4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableRow4 methods ***/
#define IHTMLTableRow4_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableRow4_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableRow4_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableRow4_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#define IHTMLTableRow4_insertCell(This,index,row) (This)->lpVtbl->insertCell(This,index,row)
#define IHTMLTableRow4_deleteCell(This,index) (This)->lpVtbl->deleteCell(This,index)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableRow4_QueryInterface(IHTMLTableRow4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableRow4_AddRef(IHTMLTableRow4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableRow4_Release(IHTMLTableRow4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableRow4_GetTypeInfoCount(IHTMLTableRow4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableRow4_GetTypeInfo(IHTMLTableRow4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableRow4_GetIDsOfNames(IHTMLTableRow4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableRow4_Invoke(IHTMLTableRow4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableRow4 methods ***/
static inline HRESULT IHTMLTableRow4_put_ch(IHTMLTableRow4* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableRow4_get_ch(IHTMLTableRow4* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableRow4_put_chOff(IHTMLTableRow4* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableRow4_get_chOff(IHTMLTableRow4* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
static inline HRESULT IHTMLTableRow4_insertCell(IHTMLTableRow4* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertCell(This,index,row);
}
static inline HRESULT IHTMLTableRow4_deleteCell(IHTMLTableRow4* This,LONG index) {
    return This->lpVtbl->deleteCell(This,index);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableRow4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableRowMetrics interface
 */
#ifndef __IHTMLTableRowMetrics_INTERFACE_DEFINED__
#define __IHTMLTableRowMetrics_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableRowMetrics, 0x3050f413, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f413-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableRowMetrics : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_clientHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientLeft(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableRowMetrics, 0x3050f413, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableRowMetricsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableRowMetrics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableRowMetrics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableRowMetrics *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableRowMetrics *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableRowMetrics *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableRowMetrics *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableRowMetrics *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableRowMetrics methods ***/
    HRESULT (STDMETHODCALLTYPE *get_clientHeight)(
        IHTMLTableRowMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientWidth)(
        IHTMLTableRowMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientTop)(
        IHTMLTableRowMetrics *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientLeft)(
        IHTMLTableRowMetrics *This,
        LONG *p);

    END_INTERFACE
} IHTMLTableRowMetricsVtbl;

interface IHTMLTableRowMetrics {
    CONST_VTBL IHTMLTableRowMetricsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableRowMetrics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableRowMetrics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableRowMetrics_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableRowMetrics_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableRowMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableRowMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableRowMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableRowMetrics methods ***/
#define IHTMLTableRowMetrics_get_clientHeight(This,p) (This)->lpVtbl->get_clientHeight(This,p)
#define IHTMLTableRowMetrics_get_clientWidth(This,p) (This)->lpVtbl->get_clientWidth(This,p)
#define IHTMLTableRowMetrics_get_clientTop(This,p) (This)->lpVtbl->get_clientTop(This,p)
#define IHTMLTableRowMetrics_get_clientLeft(This,p) (This)->lpVtbl->get_clientLeft(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableRowMetrics_QueryInterface(IHTMLTableRowMetrics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableRowMetrics_AddRef(IHTMLTableRowMetrics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableRowMetrics_Release(IHTMLTableRowMetrics* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableRowMetrics_GetTypeInfoCount(IHTMLTableRowMetrics* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableRowMetrics_GetTypeInfo(IHTMLTableRowMetrics* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableRowMetrics_GetIDsOfNames(IHTMLTableRowMetrics* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableRowMetrics_Invoke(IHTMLTableRowMetrics* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableRowMetrics methods ***/
static inline HRESULT IHTMLTableRowMetrics_get_clientHeight(IHTMLTableRowMetrics* This,LONG *p) {
    return This->lpVtbl->get_clientHeight(This,p);
}
static inline HRESULT IHTMLTableRowMetrics_get_clientWidth(IHTMLTableRowMetrics* This,LONG *p) {
    return This->lpVtbl->get_clientWidth(This,p);
}
static inline HRESULT IHTMLTableRowMetrics_get_clientTop(IHTMLTableRowMetrics* This,LONG *p) {
    return This->lpVtbl->get_clientTop(This,p);
}
static inline HRESULT IHTMLTableRowMetrics_get_clientLeft(IHTMLTableRowMetrics* This,LONG *p) {
    return This->lpVtbl->get_clientLeft(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableRowMetrics_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableCell interface
 */
#ifndef __IHTMLTableCell_INTERFACE_DEFINED__
#define __IHTMLTableCell_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableCell, 0x3050f23d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f23d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableCell : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_rowSpan(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rowSpan(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_colSpan(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_colSpan(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_bgColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bgColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_noWrap(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noWrap(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_background(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_background(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColorLight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColorLight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColorDark(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColorDark(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cellIndex(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableCell, 0x3050f23d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableCellVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableCell *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableCell *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableCell *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableCell *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableCell *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableCell *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableCell *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableCell methods ***/
    HRESULT (STDMETHODCALLTYPE *put_rowSpan)(
        IHTMLTableCell *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_rowSpan)(
        IHTMLTableCell *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_colSpan)(
        IHTMLTableCell *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_colSpan)(
        IHTMLTableCell *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLTableCell *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLTableCell *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vAlign)(
        IHTMLTableCell *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_vAlign)(
        IHTMLTableCell *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_bgColor)(
        IHTMLTableCell *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_bgColor)(
        IHTMLTableCell *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_noWrap)(
        IHTMLTableCell *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noWrap)(
        IHTMLTableCell *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_background)(
        IHTMLTableCell *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_background)(
        IHTMLTableCell *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLTableCell *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLTableCell *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColorLight)(
        IHTMLTableCell *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColorLight)(
        IHTMLTableCell *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColorDark)(
        IHTMLTableCell *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColorDark)(
        IHTMLTableCell *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLTableCell *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLTableCell *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLTableCell *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLTableCell *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_cellIndex)(
        IHTMLTableCell *This,
        LONG *p);

    END_INTERFACE
} IHTMLTableCellVtbl;

interface IHTMLTableCell {
    CONST_VTBL IHTMLTableCellVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableCell_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableCell_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableCell_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableCell_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableCell_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableCell_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableCell_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableCell methods ***/
#define IHTMLTableCell_put_rowSpan(This,v) (This)->lpVtbl->put_rowSpan(This,v)
#define IHTMLTableCell_get_rowSpan(This,p) (This)->lpVtbl->get_rowSpan(This,p)
#define IHTMLTableCell_put_colSpan(This,v) (This)->lpVtbl->put_colSpan(This,v)
#define IHTMLTableCell_get_colSpan(This,p) (This)->lpVtbl->get_colSpan(This,p)
#define IHTMLTableCell_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLTableCell_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLTableCell_put_vAlign(This,v) (This)->lpVtbl->put_vAlign(This,v)
#define IHTMLTableCell_get_vAlign(This,p) (This)->lpVtbl->get_vAlign(This,p)
#define IHTMLTableCell_put_bgColor(This,v) (This)->lpVtbl->put_bgColor(This,v)
#define IHTMLTableCell_get_bgColor(This,p) (This)->lpVtbl->get_bgColor(This,p)
#define IHTMLTableCell_put_noWrap(This,v) (This)->lpVtbl->put_noWrap(This,v)
#define IHTMLTableCell_get_noWrap(This,p) (This)->lpVtbl->get_noWrap(This,p)
#define IHTMLTableCell_put_background(This,v) (This)->lpVtbl->put_background(This,v)
#define IHTMLTableCell_get_background(This,p) (This)->lpVtbl->get_background(This,p)
#define IHTMLTableCell_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLTableCell_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLTableCell_put_borderColorLight(This,v) (This)->lpVtbl->put_borderColorLight(This,v)
#define IHTMLTableCell_get_borderColorLight(This,p) (This)->lpVtbl->get_borderColorLight(This,p)
#define IHTMLTableCell_put_borderColorDark(This,v) (This)->lpVtbl->put_borderColorDark(This,v)
#define IHTMLTableCell_get_borderColorDark(This,p) (This)->lpVtbl->get_borderColorDark(This,p)
#define IHTMLTableCell_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLTableCell_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLTableCell_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLTableCell_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLTableCell_get_cellIndex(This,p) (This)->lpVtbl->get_cellIndex(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableCell_QueryInterface(IHTMLTableCell* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableCell_AddRef(IHTMLTableCell* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableCell_Release(IHTMLTableCell* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableCell_GetTypeInfoCount(IHTMLTableCell* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableCell_GetTypeInfo(IHTMLTableCell* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableCell_GetIDsOfNames(IHTMLTableCell* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableCell_Invoke(IHTMLTableCell* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableCell methods ***/
static inline HRESULT IHTMLTableCell_put_rowSpan(IHTMLTableCell* This,LONG v) {
    return This->lpVtbl->put_rowSpan(This,v);
}
static inline HRESULT IHTMLTableCell_get_rowSpan(IHTMLTableCell* This,LONG *p) {
    return This->lpVtbl->get_rowSpan(This,p);
}
static inline HRESULT IHTMLTableCell_put_colSpan(IHTMLTableCell* This,LONG v) {
    return This->lpVtbl->put_colSpan(This,v);
}
static inline HRESULT IHTMLTableCell_get_colSpan(IHTMLTableCell* This,LONG *p) {
    return This->lpVtbl->get_colSpan(This,p);
}
static inline HRESULT IHTMLTableCell_put_align(IHTMLTableCell* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLTableCell_get_align(IHTMLTableCell* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLTableCell_put_vAlign(IHTMLTableCell* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static inline HRESULT IHTMLTableCell_get_vAlign(IHTMLTableCell* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
static inline HRESULT IHTMLTableCell_put_bgColor(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static inline HRESULT IHTMLTableCell_get_bgColor(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static inline HRESULT IHTMLTableCell_put_noWrap(IHTMLTableCell* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static inline HRESULT IHTMLTableCell_get_noWrap(IHTMLTableCell* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noWrap(This,p);
}
static inline HRESULT IHTMLTableCell_put_background(IHTMLTableCell* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static inline HRESULT IHTMLTableCell_get_background(IHTMLTableCell* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static inline HRESULT IHTMLTableCell_put_borderColor(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLTableCell_get_borderColor(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLTableCell_put_borderColorLight(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_borderColorLight(This,v);
}
static inline HRESULT IHTMLTableCell_get_borderColorLight(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorLight(This,p);
}
static inline HRESULT IHTMLTableCell_put_borderColorDark(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_borderColorDark(This,v);
}
static inline HRESULT IHTMLTableCell_get_borderColorDark(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorDark(This,p);
}
static inline HRESULT IHTMLTableCell_put_width(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLTableCell_get_width(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLTableCell_put_height(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLTableCell_get_height(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLTableCell_get_cellIndex(IHTMLTableCell* This,LONG *p) {
    return This->lpVtbl->get_cellIndex(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCell_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableCell2 interface
 */
#ifndef __IHTMLTableCell2_INTERFACE_DEFINED__
#define __IHTMLTableCell2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableCell2, 0x3050f82d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f82d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableCell2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_abbr(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_abbr(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_axis(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_axis(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_headers(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_headers(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scope(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scope(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableCell2, 0x3050f82d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableCell2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableCell2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableCell2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableCell2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableCell2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableCell2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableCell2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableCell2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableCell2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_abbr)(
        IHTMLTableCell2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_abbr)(
        IHTMLTableCell2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_axis)(
        IHTMLTableCell2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_axis)(
        IHTMLTableCell2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableCell2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableCell2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableCell2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableCell2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_headers)(
        IHTMLTableCell2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_headers)(
        IHTMLTableCell2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_scope)(
        IHTMLTableCell2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_scope)(
        IHTMLTableCell2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableCell2Vtbl;

interface IHTMLTableCell2 {
    CONST_VTBL IHTMLTableCell2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableCell2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableCell2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableCell2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableCell2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableCell2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableCell2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableCell2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableCell2 methods ***/
#define IHTMLTableCell2_put_abbr(This,v) (This)->lpVtbl->put_abbr(This,v)
#define IHTMLTableCell2_get_abbr(This,p) (This)->lpVtbl->get_abbr(This,p)
#define IHTMLTableCell2_put_axis(This,v) (This)->lpVtbl->put_axis(This,v)
#define IHTMLTableCell2_get_axis(This,p) (This)->lpVtbl->get_axis(This,p)
#define IHTMLTableCell2_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableCell2_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableCell2_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableCell2_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#define IHTMLTableCell2_put_headers(This,v) (This)->lpVtbl->put_headers(This,v)
#define IHTMLTableCell2_get_headers(This,p) (This)->lpVtbl->get_headers(This,p)
#define IHTMLTableCell2_put_scope(This,v) (This)->lpVtbl->put_scope(This,v)
#define IHTMLTableCell2_get_scope(This,p) (This)->lpVtbl->get_scope(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableCell2_QueryInterface(IHTMLTableCell2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableCell2_AddRef(IHTMLTableCell2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableCell2_Release(IHTMLTableCell2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableCell2_GetTypeInfoCount(IHTMLTableCell2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableCell2_GetTypeInfo(IHTMLTableCell2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableCell2_GetIDsOfNames(IHTMLTableCell2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableCell2_Invoke(IHTMLTableCell2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableCell2 methods ***/
static inline HRESULT IHTMLTableCell2_put_abbr(IHTMLTableCell2* This,BSTR v) {
    return This->lpVtbl->put_abbr(This,v);
}
static inline HRESULT IHTMLTableCell2_get_abbr(IHTMLTableCell2* This,BSTR *p) {
    return This->lpVtbl->get_abbr(This,p);
}
static inline HRESULT IHTMLTableCell2_put_axis(IHTMLTableCell2* This,BSTR v) {
    return This->lpVtbl->put_axis(This,v);
}
static inline HRESULT IHTMLTableCell2_get_axis(IHTMLTableCell2* This,BSTR *p) {
    return This->lpVtbl->get_axis(This,p);
}
static inline HRESULT IHTMLTableCell2_put_ch(IHTMLTableCell2* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableCell2_get_ch(IHTMLTableCell2* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableCell2_put_chOff(IHTMLTableCell2* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableCell2_get_chOff(IHTMLTableCell2* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
static inline HRESULT IHTMLTableCell2_put_headers(IHTMLTableCell2* This,BSTR v) {
    return This->lpVtbl->put_headers(This,v);
}
static inline HRESULT IHTMLTableCell2_get_headers(IHTMLTableCell2* This,BSTR *p) {
    return This->lpVtbl->get_headers(This,p);
}
static inline HRESULT IHTMLTableCell2_put_scope(IHTMLTableCell2* This,BSTR v) {
    return This->lpVtbl->put_scope(This,v);
}
static inline HRESULT IHTMLTableCell2_get_scope(IHTMLTableCell2* This,BSTR *p) {
    return This->lpVtbl->get_scope(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCell2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTableCell3 interface
 */
#ifndef __IHTMLTableCell3_INTERFACE_DEFINED__
#define __IHTMLTableCell3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTableCell3, 0x305106c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106c7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTableCell3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_ch(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ch(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_chOff(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_chOff(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTableCell3, 0x305106c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTableCell3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTableCell3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTableCell3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTableCell3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTableCell3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTableCell3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTableCell3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTableCell3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTableCell3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_ch)(
        IHTMLTableCell3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_ch)(
        IHTMLTableCell3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_chOff)(
        IHTMLTableCell3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_chOff)(
        IHTMLTableCell3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLTableCell3Vtbl;

interface IHTMLTableCell3 {
    CONST_VTBL IHTMLTableCell3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTableCell3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTableCell3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTableCell3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTableCell3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTableCell3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTableCell3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTableCell3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTableCell3 methods ***/
#define IHTMLTableCell3_put_ch(This,v) (This)->lpVtbl->put_ch(This,v)
#define IHTMLTableCell3_get_ch(This,p) (This)->lpVtbl->get_ch(This,p)
#define IHTMLTableCell3_put_chOff(This,v) (This)->lpVtbl->put_chOff(This,v)
#define IHTMLTableCell3_get_chOff(This,p) (This)->lpVtbl->get_chOff(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTableCell3_QueryInterface(IHTMLTableCell3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTableCell3_AddRef(IHTMLTableCell3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTableCell3_Release(IHTMLTableCell3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTableCell3_GetTypeInfoCount(IHTMLTableCell3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTableCell3_GetTypeInfo(IHTMLTableCell3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTableCell3_GetIDsOfNames(IHTMLTableCell3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTableCell3_Invoke(IHTMLTableCell3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTableCell3 methods ***/
static inline HRESULT IHTMLTableCell3_put_ch(IHTMLTableCell3* This,BSTR v) {
    return This->lpVtbl->put_ch(This,v);
}
static inline HRESULT IHTMLTableCell3_get_ch(IHTMLTableCell3* This,BSTR *p) {
    return This->lpVtbl->get_ch(This,p);
}
static inline HRESULT IHTMLTableCell3_put_chOff(IHTMLTableCell3* This,BSTR v) {
    return This->lpVtbl->put_chOff(This,v);
}
static inline HRESULT IHTMLTableCell3_get_chOff(IHTMLTableCell3* This,BSTR *p) {
    return This->lpVtbl->get_chOff(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCell3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLTable dispinterface
 */
#ifndef __DispHTMLTable_DISPINTERFACE_DEFINED__
#define __DispHTMLTable_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTable, 0x3050f532, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f532-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTable : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTable, 0x3050f532, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTable *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTable *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTable *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTable *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTable *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTableVtbl;

interface DispHTMLTable {
    CONST_VTBL DispHTMLTableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTable_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTable_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTable_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTable_QueryInterface(DispHTMLTable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTable_AddRef(DispHTMLTable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTable_Release(DispHTMLTable* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTable_GetTypeInfoCount(DispHTMLTable* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTable_GetTypeInfo(DispHTMLTable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTable_GetIDsOfNames(DispHTMLTable* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTable_Invoke(DispHTMLTable* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTable_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTable coclass
 */

DEFINE_GUID(CLSID_HTMLTable, 0x3050f26b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f26b-98b5-11cf-bb82-00aa00bdce0b") HTMLTable;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTable, 0x3050f26b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTable;
/*****************************************************************************
 * DispHTMLTableCol dispinterface
 */
#ifndef __DispHTMLTableCol_DISPINTERFACE_DEFINED__
#define __DispHTMLTableCol_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTableCol, 0x3050f533, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f533-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTableCol : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTableCol, 0x3050f533, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTableColVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTableCol *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTableCol *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTableCol *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTableCol *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTableCol *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTableCol *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTableCol *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTableColVtbl;

interface DispHTMLTableCol {
    CONST_VTBL DispHTMLTableColVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTableCol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTableCol_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTableCol_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTableCol_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTableCol_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTableCol_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTableCol_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTableCol_QueryInterface(DispHTMLTableCol* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTableCol_AddRef(DispHTMLTableCol* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTableCol_Release(DispHTMLTableCol* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTableCol_GetTypeInfoCount(DispHTMLTableCol* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTableCol_GetTypeInfo(DispHTMLTableCol* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTableCol_GetIDsOfNames(DispHTMLTableCol* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTableCol_Invoke(DispHTMLTableCol* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTableCol_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTableCol coclass
 */

DEFINE_GUID(CLSID_HTMLTableCol, 0x3050f26c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f26c-98b5-11cf-bb82-00aa00bdce0b") HTMLTableCol;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTableCol, 0x3050f26c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTableCol;
/*****************************************************************************
 * DispHTMLTableSection dispinterface
 */
#ifndef __DispHTMLTableSection_DISPINTERFACE_DEFINED__
#define __DispHTMLTableSection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTableSection, 0x3050f534, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f534-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTableSection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTableSection, 0x3050f534, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTableSectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTableSection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTableSection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTableSection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTableSection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTableSection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTableSection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTableSection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTableSectionVtbl;

interface DispHTMLTableSection {
    CONST_VTBL DispHTMLTableSectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTableSection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTableSection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTableSection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTableSection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTableSection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTableSection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTableSection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTableSection_QueryInterface(DispHTMLTableSection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTableSection_AddRef(DispHTMLTableSection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTableSection_Release(DispHTMLTableSection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTableSection_GetTypeInfoCount(DispHTMLTableSection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTableSection_GetTypeInfo(DispHTMLTableSection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTableSection_GetIDsOfNames(DispHTMLTableSection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTableSection_Invoke(DispHTMLTableSection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTableSection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTableSection coclass
 */

DEFINE_GUID(CLSID_HTMLTableSection, 0x3050f2e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2e9-98b5-11cf-bb82-00aa00bdce0b") HTMLTableSection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTableSection, 0x3050f2e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTableSection;
/*****************************************************************************
 * DispHTMLTableRow dispinterface
 */
#ifndef __DispHTMLTableRow_DISPINTERFACE_DEFINED__
#define __DispHTMLTableRow_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTableRow, 0x3050f535, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f535-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTableRow : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTableRow, 0x3050f535, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTableRowVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTableRow *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTableRow *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTableRow *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTableRow *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTableRow *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTableRow *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTableRow *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTableRowVtbl;

interface DispHTMLTableRow {
    CONST_VTBL DispHTMLTableRowVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTableRow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTableRow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTableRow_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTableRow_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTableRow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTableRow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTableRow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTableRow_QueryInterface(DispHTMLTableRow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTableRow_AddRef(DispHTMLTableRow* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTableRow_Release(DispHTMLTableRow* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTableRow_GetTypeInfoCount(DispHTMLTableRow* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTableRow_GetTypeInfo(DispHTMLTableRow* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTableRow_GetIDsOfNames(DispHTMLTableRow* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTableRow_Invoke(DispHTMLTableRow* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTableRow_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTableRow coclass
 */

DEFINE_GUID(CLSID_HTMLTableRow, 0x3050f26d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f26d-98b5-11cf-bb82-00aa00bdce0b") HTMLTableRow;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTableRow, 0x3050f26d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTableRow;
/*****************************************************************************
 * DispHTMLTableCell dispinterface
 */
#ifndef __DispHTMLTableCell_DISPINTERFACE_DEFINED__
#define __DispHTMLTableCell_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTableCell, 0x3050f536, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f536-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTableCell : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTableCell, 0x3050f536, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTableCellVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTableCell *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTableCell *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTableCell *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTableCell *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTableCell *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTableCell *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTableCell *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTableCellVtbl;

interface DispHTMLTableCell {
    CONST_VTBL DispHTMLTableCellVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTableCell_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTableCell_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTableCell_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTableCell_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTableCell_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTableCell_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTableCell_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTableCell_QueryInterface(DispHTMLTableCell* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTableCell_AddRef(DispHTMLTableCell* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTableCell_Release(DispHTMLTableCell* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTableCell_GetTypeInfoCount(DispHTMLTableCell* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTableCell_GetTypeInfo(DispHTMLTableCell* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTableCell_GetIDsOfNames(DispHTMLTableCell* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTableCell_Invoke(DispHTMLTableCell* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTableCell_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTableCell coclass
 */

DEFINE_GUID(CLSID_HTMLTableCell, 0x3050f246, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f246-98b5-11cf-bb82-00aa00bdce0b") HTMLTableCell;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTableCell, 0x3050f246, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTableCell;
/*****************************************************************************
 * HTMLScriptEvents2 dispinterface
 */
#ifndef __HTMLScriptEvents2_DISPINTERFACE_DEFINED__
#define __HTMLScriptEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLScriptEvents2, 0x3050f621, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f621-98b5-11cf-bb82-00aa00bdce0b")
HTMLScriptEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLScriptEvents2, 0x3050f621, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLScriptEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLScriptEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLScriptEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLScriptEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLScriptEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLScriptEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLScriptEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLScriptEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLScriptEvents2Vtbl;

interface HTMLScriptEvents2 {
    CONST_VTBL HTMLScriptEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLScriptEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLScriptEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLScriptEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLScriptEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLScriptEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLScriptEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLScriptEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLScriptEvents2_QueryInterface(HTMLScriptEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLScriptEvents2_AddRef(HTMLScriptEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLScriptEvents2_Release(HTMLScriptEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLScriptEvents2_GetTypeInfoCount(HTMLScriptEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLScriptEvents2_GetTypeInfo(HTMLScriptEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLScriptEvents2_GetIDsOfNames(HTMLScriptEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLScriptEvents2_Invoke(HTMLScriptEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLScriptEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLScriptEvents dispinterface
 */
#ifndef __HTMLScriptEvents_DISPINTERFACE_DEFINED__
#define __HTMLScriptEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLScriptEvents, 0x3050f3e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3e2-98b5-11cf-bb82-00aa00bdce0b")
HTMLScriptEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLScriptEvents, 0x3050f3e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLScriptEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLScriptEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLScriptEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLScriptEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLScriptEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLScriptEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLScriptEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLScriptEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLScriptEventsVtbl;

interface HTMLScriptEvents {
    CONST_VTBL HTMLScriptEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLScriptEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLScriptEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLScriptEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLScriptEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLScriptEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLScriptEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLScriptEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLScriptEvents_QueryInterface(HTMLScriptEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLScriptEvents_AddRef(HTMLScriptEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLScriptEvents_Release(HTMLScriptEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLScriptEvents_GetTypeInfoCount(HTMLScriptEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLScriptEvents_GetTypeInfo(HTMLScriptEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLScriptEvents_GetIDsOfNames(HTMLScriptEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLScriptEvents_Invoke(HTMLScriptEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLScriptEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScriptElement interface
 */
#ifndef __IHTMLScriptElement_INTERFACE_DEFINED__
#define __IHTMLScriptElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScriptElement, 0x3050f28b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f28b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScriptElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_htmlFor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_htmlFor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_event(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_event(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_text(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defer(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defer(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScriptElement, 0x3050f28b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScriptElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScriptElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScriptElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScriptElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScriptElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScriptElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScriptElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScriptElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScriptElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLScriptElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLScriptElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_htmlFor)(
        IHTMLScriptElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_htmlFor)(
        IHTMLScriptElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_event)(
        IHTMLScriptElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_event)(
        IHTMLScriptElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_text)(
        IHTMLScriptElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_text)(
        IHTMLScriptElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_defer)(
        IHTMLScriptElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_defer)(
        IHTMLScriptElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLScriptElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLScriptElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLScriptElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLScriptElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLScriptElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLScriptElementVtbl;

interface IHTMLScriptElement {
    CONST_VTBL IHTMLScriptElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScriptElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScriptElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScriptElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScriptElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScriptElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScriptElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScriptElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScriptElement methods ***/
#define IHTMLScriptElement_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLScriptElement_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLScriptElement_put_htmlFor(This,v) (This)->lpVtbl->put_htmlFor(This,v)
#define IHTMLScriptElement_get_htmlFor(This,p) (This)->lpVtbl->get_htmlFor(This,p)
#define IHTMLScriptElement_put_event(This,v) (This)->lpVtbl->put_event(This,v)
#define IHTMLScriptElement_get_event(This,p) (This)->lpVtbl->get_event(This,p)
#define IHTMLScriptElement_put_text(This,v) (This)->lpVtbl->put_text(This,v)
#define IHTMLScriptElement_get_text(This,p) (This)->lpVtbl->get_text(This,p)
#define IHTMLScriptElement_put_defer(This,v) (This)->lpVtbl->put_defer(This,v)
#define IHTMLScriptElement_get_defer(This,p) (This)->lpVtbl->get_defer(This,p)
#define IHTMLScriptElement_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLScriptElement_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLScriptElement_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLScriptElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLScriptElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScriptElement_QueryInterface(IHTMLScriptElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScriptElement_AddRef(IHTMLScriptElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScriptElement_Release(IHTMLScriptElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScriptElement_GetTypeInfoCount(IHTMLScriptElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScriptElement_GetTypeInfo(IHTMLScriptElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScriptElement_GetIDsOfNames(IHTMLScriptElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScriptElement_Invoke(IHTMLScriptElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScriptElement methods ***/
static inline HRESULT IHTMLScriptElement_put_src(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLScriptElement_get_src(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLScriptElement_put_htmlFor(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_htmlFor(This,v);
}
static inline HRESULT IHTMLScriptElement_get_htmlFor(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_htmlFor(This,p);
}
static inline HRESULT IHTMLScriptElement_put_event(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_event(This,v);
}
static inline HRESULT IHTMLScriptElement_get_event(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_event(This,p);
}
static inline HRESULT IHTMLScriptElement_put_text(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static inline HRESULT IHTMLScriptElement_get_text(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static inline HRESULT IHTMLScriptElement_put_defer(IHTMLScriptElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_defer(This,v);
}
static inline HRESULT IHTMLScriptElement_get_defer(IHTMLScriptElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defer(This,p);
}
static inline HRESULT IHTMLScriptElement_get_readyState(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLScriptElement_put_onerror(IHTMLScriptElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLScriptElement_get_onerror(IHTMLScriptElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLScriptElement_put_type(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLScriptElement_get_type(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScriptElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScriptElement2 interface
 */
#ifndef __IHTMLScriptElement2_INTERFACE_DEFINED__
#define __IHTMLScriptElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScriptElement2, 0x3050f828, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f828-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScriptElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_charset(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_charset(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScriptElement2, 0x3050f828, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScriptElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScriptElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScriptElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScriptElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScriptElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScriptElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScriptElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScriptElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScriptElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_charset)(
        IHTMLScriptElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_charset)(
        IHTMLScriptElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLScriptElement2Vtbl;

interface IHTMLScriptElement2 {
    CONST_VTBL IHTMLScriptElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScriptElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScriptElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScriptElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScriptElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScriptElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScriptElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScriptElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScriptElement2 methods ***/
#define IHTMLScriptElement2_put_charset(This,v) (This)->lpVtbl->put_charset(This,v)
#define IHTMLScriptElement2_get_charset(This,p) (This)->lpVtbl->get_charset(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScriptElement2_QueryInterface(IHTMLScriptElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScriptElement2_AddRef(IHTMLScriptElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScriptElement2_Release(IHTMLScriptElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScriptElement2_GetTypeInfoCount(IHTMLScriptElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScriptElement2_GetTypeInfo(IHTMLScriptElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScriptElement2_GetIDsOfNames(IHTMLScriptElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScriptElement2_Invoke(IHTMLScriptElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScriptElement2 methods ***/
static inline HRESULT IHTMLScriptElement2_put_charset(IHTMLScriptElement2* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static inline HRESULT IHTMLScriptElement2_get_charset(IHTMLScriptElement2* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScriptElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScriptElement3 interface
 */
#ifndef __IHTMLScriptElement3_INTERFACE_DEFINED__
#define __IHTMLScriptElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScriptElement3, 0x30510447, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510447-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScriptElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScriptElement3, 0x30510447, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScriptElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScriptElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScriptElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScriptElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScriptElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScriptElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScriptElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScriptElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScriptElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLScriptElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLScriptElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLScriptElement3Vtbl;

interface IHTMLScriptElement3 {
    CONST_VTBL IHTMLScriptElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScriptElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScriptElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScriptElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScriptElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScriptElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScriptElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScriptElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScriptElement3 methods ***/
#define IHTMLScriptElement3_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLScriptElement3_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScriptElement3_QueryInterface(IHTMLScriptElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScriptElement3_AddRef(IHTMLScriptElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScriptElement3_Release(IHTMLScriptElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScriptElement3_GetTypeInfoCount(IHTMLScriptElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScriptElement3_GetTypeInfo(IHTMLScriptElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScriptElement3_GetIDsOfNames(IHTMLScriptElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScriptElement3_Invoke(IHTMLScriptElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScriptElement3 methods ***/
static inline HRESULT IHTMLScriptElement3_put_src(IHTMLScriptElement3* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLScriptElement3_get_src(IHTMLScriptElement3* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScriptElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLScriptElement4 interface
 */
#ifndef __IHTMLScriptElement4_INTERFACE_DEFINED__
#define __IHTMLScriptElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLScriptElement4, 0x30510801, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510801-98b5-11cf-bb82-00aa00bdce0b")
IHTMLScriptElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_usedCharset(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLScriptElement4, 0x30510801, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLScriptElement4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLScriptElement4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLScriptElement4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLScriptElement4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLScriptElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLScriptElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLScriptElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLScriptElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLScriptElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_usedCharset)(
        IHTMLScriptElement4 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLScriptElement4Vtbl;

interface IHTMLScriptElement4 {
    CONST_VTBL IHTMLScriptElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLScriptElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLScriptElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLScriptElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLScriptElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLScriptElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLScriptElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLScriptElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLScriptElement4 methods ***/
#define IHTMLScriptElement4_get_usedCharset(This,p) (This)->lpVtbl->get_usedCharset(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLScriptElement4_QueryInterface(IHTMLScriptElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLScriptElement4_AddRef(IHTMLScriptElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLScriptElement4_Release(IHTMLScriptElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLScriptElement4_GetTypeInfoCount(IHTMLScriptElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLScriptElement4_GetTypeInfo(IHTMLScriptElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLScriptElement4_GetIDsOfNames(IHTMLScriptElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLScriptElement4_Invoke(IHTMLScriptElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLScriptElement4 methods ***/
static inline HRESULT IHTMLScriptElement4_get_usedCharset(IHTMLScriptElement4* This,BSTR *p) {
    return This->lpVtbl->get_usedCharset(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScriptElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLScriptElement dispinterface
 */
#ifndef __DispHTMLScriptElement_DISPINTERFACE_DEFINED__
#define __DispHTMLScriptElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLScriptElement, 0x3050f530, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f530-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLScriptElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLScriptElement, 0x3050f530, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLScriptElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLScriptElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLScriptElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLScriptElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLScriptElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLScriptElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLScriptElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLScriptElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLScriptElementVtbl;

interface DispHTMLScriptElement {
    CONST_VTBL DispHTMLScriptElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLScriptElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLScriptElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLScriptElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLScriptElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLScriptElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLScriptElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLScriptElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLScriptElement_QueryInterface(DispHTMLScriptElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLScriptElement_AddRef(DispHTMLScriptElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLScriptElement_Release(DispHTMLScriptElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLScriptElement_GetTypeInfoCount(DispHTMLScriptElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLScriptElement_GetTypeInfo(DispHTMLScriptElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLScriptElement_GetIDsOfNames(DispHTMLScriptElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLScriptElement_Invoke(DispHTMLScriptElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLScriptElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLScriptElement coclass
 */

DEFINE_GUID(CLSID_HTMLScriptElement, 0x3050f28c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f28c-98b5-11cf-bb82-00aa00bdce0b") HTMLScriptElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLScriptElement, 0x3050f28c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CScriptElement;
/*****************************************************************************
 * IHTMLNoShowElement interface
 */
#ifndef __IHTMLNoShowElement_INTERFACE_DEFINED__
#define __IHTMLNoShowElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLNoShowElement, 0x3050f38a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f38a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLNoShowElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLNoShowElement, 0x3050f38a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLNoShowElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLNoShowElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLNoShowElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLNoShowElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLNoShowElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLNoShowElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLNoShowElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLNoShowElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTMLNoShowElementVtbl;

interface IHTMLNoShowElement {
    CONST_VTBL IHTMLNoShowElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLNoShowElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLNoShowElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLNoShowElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLNoShowElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLNoShowElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLNoShowElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLNoShowElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLNoShowElement_QueryInterface(IHTMLNoShowElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLNoShowElement_AddRef(IHTMLNoShowElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLNoShowElement_Release(IHTMLNoShowElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLNoShowElement_GetTypeInfoCount(IHTMLNoShowElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLNoShowElement_GetTypeInfo(IHTMLNoShowElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLNoShowElement_GetIDsOfNames(IHTMLNoShowElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLNoShowElement_Invoke(IHTMLNoShowElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTMLNoShowElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLNoShowElement dispinterface
 */
#ifndef __DispHTMLNoShowElement_DISPINTERFACE_DEFINED__
#define __DispHTMLNoShowElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLNoShowElement, 0x3050f528, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f528-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLNoShowElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLNoShowElement, 0x3050f528, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLNoShowElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLNoShowElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLNoShowElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLNoShowElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLNoShowElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLNoShowElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLNoShowElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLNoShowElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLNoShowElementVtbl;

interface DispHTMLNoShowElement {
    CONST_VTBL DispHTMLNoShowElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLNoShowElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLNoShowElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLNoShowElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLNoShowElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLNoShowElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLNoShowElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLNoShowElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLNoShowElement_QueryInterface(DispHTMLNoShowElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLNoShowElement_AddRef(DispHTMLNoShowElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLNoShowElement_Release(DispHTMLNoShowElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLNoShowElement_GetTypeInfoCount(DispHTMLNoShowElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLNoShowElement_GetTypeInfo(DispHTMLNoShowElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLNoShowElement_GetIDsOfNames(DispHTMLNoShowElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLNoShowElement_Invoke(DispHTMLNoShowElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLNoShowElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLNoShowElement coclass
 */

DEFINE_GUID(CLSID_HTMLNoShowElement, 0x3050f38b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f38b-98b5-11cf-bb82-00aa00bdce0b") HTMLNoShowElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLNoShowElement, 0x3050f38b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CNoShowElement;
/*****************************************************************************
 * HTMLObjectElementEvents2 dispinterface
 */
#ifndef __HTMLObjectElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLObjectElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLObjectElementEvents2, 0x3050f620, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f620-98b5-11cf-bb82-00aa00bdce0b")
HTMLObjectElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLObjectElementEvents2, 0x3050f620, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLObjectElementEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLObjectElementEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLObjectElementEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLObjectElementEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLObjectElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLObjectElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLObjectElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLObjectElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLObjectElementEvents2Vtbl;

interface HTMLObjectElementEvents2 {
    CONST_VTBL HTMLObjectElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLObjectElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLObjectElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLObjectElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLObjectElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLObjectElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLObjectElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLObjectElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLObjectElementEvents2_QueryInterface(HTMLObjectElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLObjectElementEvents2_AddRef(HTMLObjectElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLObjectElementEvents2_Release(HTMLObjectElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLObjectElementEvents2_GetTypeInfoCount(HTMLObjectElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLObjectElementEvents2_GetTypeInfo(HTMLObjectElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLObjectElementEvents2_GetIDsOfNames(HTMLObjectElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLObjectElementEvents2_Invoke(HTMLObjectElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLObjectElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLObjectElementEvents dispinterface
 */
#ifndef __HTMLObjectElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLObjectElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLObjectElementEvents, 0x3050f3c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3c4-98b5-11cf-bb82-00aa00bdce0b")
HTMLObjectElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLObjectElementEvents, 0x3050f3c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLObjectElementEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLObjectElementEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLObjectElementEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLObjectElementEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLObjectElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLObjectElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLObjectElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLObjectElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLObjectElementEventsVtbl;

interface HTMLObjectElementEvents {
    CONST_VTBL HTMLObjectElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLObjectElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLObjectElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLObjectElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLObjectElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLObjectElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLObjectElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLObjectElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLObjectElementEvents_QueryInterface(HTMLObjectElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLObjectElementEvents_AddRef(HTMLObjectElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLObjectElementEvents_Release(HTMLObjectElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLObjectElementEvents_GetTypeInfoCount(HTMLObjectElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLObjectElementEvents_GetTypeInfo(HTMLObjectElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLObjectElementEvents_GetIDsOfNames(HTMLObjectElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLObjectElementEvents_Invoke(HTMLObjectElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLObjectElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLObjectElement interface
 */
#ifndef __IHTMLObjectElement_INTERFACE_DEFINED__
#define __IHTMLObjectElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLObjectElement, 0x3050f24f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f24f-98b5-11cf-bb82-00aa00bdce0b")
IHTMLObjectElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_object(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_classid(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_recordset(
        IDispatch *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_recordset(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_codeBase(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_codeBase(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_codeType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_codeType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_code(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_code(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_BaseHref(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_altHtml(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altHtml(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_vspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hspace(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLObjectElement, 0x3050f24f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLObjectElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLObjectElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLObjectElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLObjectElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLObjectElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLObjectElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLObjectElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLObjectElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLObjectElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_object)(
        IHTMLObjectElement *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_classid)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *putref_recordset)(
        IHTMLObjectElement *This,
        IDispatch *v);

    HRESULT (STDMETHODCALLTYPE *get_recordset)(
        IHTMLObjectElement *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLObjectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLObjectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_codeBase)(
        IHTMLObjectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_codeBase)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_codeType)(
        IHTMLObjectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_codeType)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_code)(
        IHTMLObjectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_code)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_BaseHref)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLObjectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLObjectElement *This,
        IHTMLFormElement **p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLObjectElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLObjectElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLObjectElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLObjectElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLObjectElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLObjectElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLObjectElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLObjectElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLObjectElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_altHtml)(
        IHTMLObjectElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_altHtml)(
        IHTMLObjectElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_vspace)(
        IHTMLObjectElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_vspace)(
        IHTMLObjectElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_hspace)(
        IHTMLObjectElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_hspace)(
        IHTMLObjectElement *This,
        LONG *p);

    END_INTERFACE
} IHTMLObjectElementVtbl;

interface IHTMLObjectElement {
    CONST_VTBL IHTMLObjectElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLObjectElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLObjectElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLObjectElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLObjectElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLObjectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLObjectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLObjectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLObjectElement methods ***/
#define IHTMLObjectElement_get_object(This,p) (This)->lpVtbl->get_object(This,p)
#define IHTMLObjectElement_get_classid(This,p) (This)->lpVtbl->get_classid(This,p)
#define IHTMLObjectElement_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#define IHTMLObjectElement_putref_recordset(This,v) (This)->lpVtbl->putref_recordset(This,v)
#define IHTMLObjectElement_get_recordset(This,p) (This)->lpVtbl->get_recordset(This,p)
#define IHTMLObjectElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLObjectElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define IHTMLObjectElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLObjectElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLObjectElement_put_codeBase(This,v) (This)->lpVtbl->put_codeBase(This,v)
#define IHTMLObjectElement_get_codeBase(This,p) (This)->lpVtbl->get_codeBase(This,p)
#define IHTMLObjectElement_put_codeType(This,v) (This)->lpVtbl->put_codeType(This,v)
#define IHTMLObjectElement_get_codeType(This,p) (This)->lpVtbl->get_codeType(This,p)
#define IHTMLObjectElement_put_code(This,v) (This)->lpVtbl->put_code(This,v)
#define IHTMLObjectElement_get_code(This,p) (This)->lpVtbl->get_code(This,p)
#define IHTMLObjectElement_get_BaseHref(This,p) (This)->lpVtbl->get_BaseHref(This,p)
#define IHTMLObjectElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLObjectElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLObjectElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#define IHTMLObjectElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLObjectElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLObjectElement_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLObjectElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLObjectElement_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLObjectElement_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLObjectElement_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLObjectElement_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLObjectElement_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLObjectElement_put_altHtml(This,v) (This)->lpVtbl->put_altHtml(This,v)
#define IHTMLObjectElement_get_altHtml(This,p) (This)->lpVtbl->get_altHtml(This,p)
#define IHTMLObjectElement_put_vspace(This,v) (This)->lpVtbl->put_vspace(This,v)
#define IHTMLObjectElement_get_vspace(This,p) (This)->lpVtbl->get_vspace(This,p)
#define IHTMLObjectElement_put_hspace(This,v) (This)->lpVtbl->put_hspace(This,v)
#define IHTMLObjectElement_get_hspace(This,p) (This)->lpVtbl->get_hspace(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLObjectElement_QueryInterface(IHTMLObjectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLObjectElement_AddRef(IHTMLObjectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLObjectElement_Release(IHTMLObjectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLObjectElement_GetTypeInfoCount(IHTMLObjectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLObjectElement_GetTypeInfo(IHTMLObjectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLObjectElement_GetIDsOfNames(IHTMLObjectElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLObjectElement_Invoke(IHTMLObjectElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLObjectElement methods ***/
static inline HRESULT IHTMLObjectElement_get_object(IHTMLObjectElement* This,IDispatch **p) {
    return This->lpVtbl->get_object(This,p);
}
static inline HRESULT IHTMLObjectElement_get_classid(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_classid(This,p);
}
static inline HRESULT IHTMLObjectElement_get_data(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static inline HRESULT IHTMLObjectElement_putref_recordset(IHTMLObjectElement* This,IDispatch *v) {
    return This->lpVtbl->putref_recordset(This,v);
}
static inline HRESULT IHTMLObjectElement_get_recordset(IHTMLObjectElement* This,IDispatch **p) {
    return This->lpVtbl->get_recordset(This,p);
}
static inline HRESULT IHTMLObjectElement_put_align(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLObjectElement_get_align(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT IHTMLObjectElement_put_name(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLObjectElement_get_name(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLObjectElement_put_codeBase(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_codeBase(This,v);
}
static inline HRESULT IHTMLObjectElement_get_codeBase(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_codeBase(This,p);
}
static inline HRESULT IHTMLObjectElement_put_codeType(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_codeType(This,v);
}
static inline HRESULT IHTMLObjectElement_get_codeType(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_codeType(This,p);
}
static inline HRESULT IHTMLObjectElement_put_code(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_code(This,v);
}
static inline HRESULT IHTMLObjectElement_get_code(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_code(This,p);
}
static inline HRESULT IHTMLObjectElement_get_BaseHref(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_BaseHref(This,p);
}
static inline HRESULT IHTMLObjectElement_put_type(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLObjectElement_get_type(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLObjectElement_get_form(IHTMLObjectElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static inline HRESULT IHTMLObjectElement_put_width(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLObjectElement_get_width(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLObjectElement_put_height(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLObjectElement_get_height(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLObjectElement_get_readyState(IHTMLObjectElement* This,LONG *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLObjectElement_put_onreadystatechange(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLObjectElement_get_onreadystatechange(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLObjectElement_put_onerror(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLObjectElement_get_onerror(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLObjectElement_put_altHtml(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_altHtml(This,v);
}
static inline HRESULT IHTMLObjectElement_get_altHtml(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_altHtml(This,p);
}
static inline HRESULT IHTMLObjectElement_put_vspace(IHTMLObjectElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static inline HRESULT IHTMLObjectElement_get_vspace(IHTMLObjectElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static inline HRESULT IHTMLObjectElement_put_hspace(IHTMLObjectElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static inline HRESULT IHTMLObjectElement_get_hspace(IHTMLObjectElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLObjectElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLObjectElement2 interface
 */
#ifndef __IHTMLObjectElement2_INTERFACE_DEFINED__
#define __IHTMLObjectElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLObjectElement2, 0x3050f4cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4cd-98b5-11cf-bb82-00aa00bdce0b")
IHTMLObjectElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE namedRecordset(
        BSTR dataMember,
        VARIANT *hierarchy,
        IDispatch **ppRecordset) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_classid(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_classid(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_data(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLObjectElement2, 0x3050f4cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLObjectElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLObjectElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLObjectElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLObjectElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLObjectElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLObjectElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLObjectElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLObjectElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLObjectElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *namedRecordset)(
        IHTMLObjectElement2 *This,
        BSTR dataMember,
        VARIANT *hierarchy,
        IDispatch **ppRecordset);

    HRESULT (STDMETHODCALLTYPE *put_classid)(
        IHTMLObjectElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_classid)(
        IHTMLObjectElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_data)(
        IHTMLObjectElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        IHTMLObjectElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLObjectElement2Vtbl;

interface IHTMLObjectElement2 {
    CONST_VTBL IHTMLObjectElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLObjectElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLObjectElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLObjectElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLObjectElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLObjectElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLObjectElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLObjectElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLObjectElement2 methods ***/
#define IHTMLObjectElement2_namedRecordset(This,dataMember,hierarchy,ppRecordset) (This)->lpVtbl->namedRecordset(This,dataMember,hierarchy,ppRecordset)
#define IHTMLObjectElement2_put_classid(This,v) (This)->lpVtbl->put_classid(This,v)
#define IHTMLObjectElement2_get_classid(This,p) (This)->lpVtbl->get_classid(This,p)
#define IHTMLObjectElement2_put_data(This,v) (This)->lpVtbl->put_data(This,v)
#define IHTMLObjectElement2_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLObjectElement2_QueryInterface(IHTMLObjectElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLObjectElement2_AddRef(IHTMLObjectElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLObjectElement2_Release(IHTMLObjectElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLObjectElement2_GetTypeInfoCount(IHTMLObjectElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLObjectElement2_GetTypeInfo(IHTMLObjectElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLObjectElement2_GetIDsOfNames(IHTMLObjectElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLObjectElement2_Invoke(IHTMLObjectElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLObjectElement2 methods ***/
static inline HRESULT IHTMLObjectElement2_namedRecordset(IHTMLObjectElement2* This,BSTR dataMember,VARIANT *hierarchy,IDispatch **ppRecordset) {
    return This->lpVtbl->namedRecordset(This,dataMember,hierarchy,ppRecordset);
}
static inline HRESULT IHTMLObjectElement2_put_classid(IHTMLObjectElement2* This,BSTR v) {
    return This->lpVtbl->put_classid(This,v);
}
static inline HRESULT IHTMLObjectElement2_get_classid(IHTMLObjectElement2* This,BSTR *p) {
    return This->lpVtbl->get_classid(This,p);
}
static inline HRESULT IHTMLObjectElement2_put_data(IHTMLObjectElement2* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static inline HRESULT IHTMLObjectElement2_get_data(IHTMLObjectElement2* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLObjectElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLObjectElement3 interface
 */
#ifndef __IHTMLObjectElement3_INTERFACE_DEFINED__
#define __IHTMLObjectElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLObjectElement3, 0x3050f827, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f827-98b5-11cf-bb82-00aa00bdce0b")
IHTMLObjectElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_archive(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_archive(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_alt(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_alt(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_declare(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_declare(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_standby(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_standby(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_useMap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_useMap(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLObjectElement3, 0x3050f827, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLObjectElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLObjectElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLObjectElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLObjectElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLObjectElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLObjectElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLObjectElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLObjectElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLObjectElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_archive)(
        IHTMLObjectElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_archive)(
        IHTMLObjectElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_alt)(
        IHTMLObjectElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_alt)(
        IHTMLObjectElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_declare)(
        IHTMLObjectElement3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_declare)(
        IHTMLObjectElement3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_standby)(
        IHTMLObjectElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_standby)(
        IHTMLObjectElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLObjectElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLObjectElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_useMap)(
        IHTMLObjectElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_useMap)(
        IHTMLObjectElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLObjectElement3Vtbl;

interface IHTMLObjectElement3 {
    CONST_VTBL IHTMLObjectElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLObjectElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLObjectElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLObjectElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLObjectElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLObjectElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLObjectElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLObjectElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLObjectElement3 methods ***/
#define IHTMLObjectElement3_put_archive(This,v) (This)->lpVtbl->put_archive(This,v)
#define IHTMLObjectElement3_get_archive(This,p) (This)->lpVtbl->get_archive(This,p)
#define IHTMLObjectElement3_put_alt(This,v) (This)->lpVtbl->put_alt(This,v)
#define IHTMLObjectElement3_get_alt(This,p) (This)->lpVtbl->get_alt(This,p)
#define IHTMLObjectElement3_put_declare(This,v) (This)->lpVtbl->put_declare(This,v)
#define IHTMLObjectElement3_get_declare(This,p) (This)->lpVtbl->get_declare(This,p)
#define IHTMLObjectElement3_put_standby(This,v) (This)->lpVtbl->put_standby(This,v)
#define IHTMLObjectElement3_get_standby(This,p) (This)->lpVtbl->get_standby(This,p)
#define IHTMLObjectElement3_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLObjectElement3_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLObjectElement3_put_useMap(This,v) (This)->lpVtbl->put_useMap(This,v)
#define IHTMLObjectElement3_get_useMap(This,p) (This)->lpVtbl->get_useMap(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLObjectElement3_QueryInterface(IHTMLObjectElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLObjectElement3_AddRef(IHTMLObjectElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLObjectElement3_Release(IHTMLObjectElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLObjectElement3_GetTypeInfoCount(IHTMLObjectElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLObjectElement3_GetTypeInfo(IHTMLObjectElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLObjectElement3_GetIDsOfNames(IHTMLObjectElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLObjectElement3_Invoke(IHTMLObjectElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLObjectElement3 methods ***/
static inline HRESULT IHTMLObjectElement3_put_archive(IHTMLObjectElement3* This,BSTR v) {
    return This->lpVtbl->put_archive(This,v);
}
static inline HRESULT IHTMLObjectElement3_get_archive(IHTMLObjectElement3* This,BSTR *p) {
    return This->lpVtbl->get_archive(This,p);
}
static inline HRESULT IHTMLObjectElement3_put_alt(IHTMLObjectElement3* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static inline HRESULT IHTMLObjectElement3_get_alt(IHTMLObjectElement3* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static inline HRESULT IHTMLObjectElement3_put_declare(IHTMLObjectElement3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_declare(This,v);
}
static inline HRESULT IHTMLObjectElement3_get_declare(IHTMLObjectElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_declare(This,p);
}
static inline HRESULT IHTMLObjectElement3_put_standby(IHTMLObjectElement3* This,BSTR v) {
    return This->lpVtbl->put_standby(This,v);
}
static inline HRESULT IHTMLObjectElement3_get_standby(IHTMLObjectElement3* This,BSTR *p) {
    return This->lpVtbl->get_standby(This,p);
}
static inline HRESULT IHTMLObjectElement3_put_border(IHTMLObjectElement3* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLObjectElement3_get_border(IHTMLObjectElement3* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLObjectElement3_put_useMap(IHTMLObjectElement3* This,BSTR v) {
    return This->lpVtbl->put_useMap(This,v);
}
static inline HRESULT IHTMLObjectElement3_get_useMap(IHTMLObjectElement3* This,BSTR *p) {
    return This->lpVtbl->get_useMap(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLObjectElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLObjectElement4 interface
 */
#ifndef __IHTMLObjectElement4_INTERFACE_DEFINED__
#define __IHTMLObjectElement4_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLObjectElement4, 0x3051043e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051043e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLObjectElement4 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_contentDocument(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_codeBase(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_codeBase(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_data(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLObjectElement4, 0x3051043e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLObjectElement4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLObjectElement4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLObjectElement4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLObjectElement4 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLObjectElement4 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLObjectElement4 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLObjectElement4 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLObjectElement4 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLObjectElement4 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_contentDocument)(
        IHTMLObjectElement4 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_codeBase)(
        IHTMLObjectElement4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_codeBase)(
        IHTMLObjectElement4 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_data)(
        IHTMLObjectElement4 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        IHTMLObjectElement4 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLObjectElement4Vtbl;

interface IHTMLObjectElement4 {
    CONST_VTBL IHTMLObjectElement4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLObjectElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLObjectElement4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLObjectElement4_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLObjectElement4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLObjectElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLObjectElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLObjectElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLObjectElement4 methods ***/
#define IHTMLObjectElement4_get_contentDocument(This,p) (This)->lpVtbl->get_contentDocument(This,p)
#define IHTMLObjectElement4_put_codeBase(This,v) (This)->lpVtbl->put_codeBase(This,v)
#define IHTMLObjectElement4_get_codeBase(This,p) (This)->lpVtbl->get_codeBase(This,p)
#define IHTMLObjectElement4_put_data(This,v) (This)->lpVtbl->put_data(This,v)
#define IHTMLObjectElement4_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLObjectElement4_QueryInterface(IHTMLObjectElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLObjectElement4_AddRef(IHTMLObjectElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLObjectElement4_Release(IHTMLObjectElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLObjectElement4_GetTypeInfoCount(IHTMLObjectElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLObjectElement4_GetTypeInfo(IHTMLObjectElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLObjectElement4_GetIDsOfNames(IHTMLObjectElement4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLObjectElement4_Invoke(IHTMLObjectElement4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLObjectElement4 methods ***/
static inline HRESULT IHTMLObjectElement4_get_contentDocument(IHTMLObjectElement4* This,IDispatch **p) {
    return This->lpVtbl->get_contentDocument(This,p);
}
static inline HRESULT IHTMLObjectElement4_put_codeBase(IHTMLObjectElement4* This,BSTR v) {
    return This->lpVtbl->put_codeBase(This,v);
}
static inline HRESULT IHTMLObjectElement4_get_codeBase(IHTMLObjectElement4* This,BSTR *p) {
    return This->lpVtbl->get_codeBase(This,p);
}
static inline HRESULT IHTMLObjectElement4_put_data(IHTMLObjectElement4* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static inline HRESULT IHTMLObjectElement4_get_data(IHTMLObjectElement4* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLObjectElement4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLObjectElement5 interface
 */
#ifndef __IHTMLObjectElement5_INTERFACE_DEFINED__
#define __IHTMLObjectElement5_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLObjectElement5, 0x305104b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104b5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLObjectElement5 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_object(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_object(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLObjectElement5, 0x305104b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLObjectElement5Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLObjectElement5 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLObjectElement5 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLObjectElement5 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLObjectElement5 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLObjectElement5 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLObjectElement5 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLObjectElement5 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLObjectElement5 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_object)(
        IHTMLObjectElement5 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_object)(
        IHTMLObjectElement5 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLObjectElement5Vtbl;

interface IHTMLObjectElement5 {
    CONST_VTBL IHTMLObjectElement5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLObjectElement5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLObjectElement5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLObjectElement5_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLObjectElement5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLObjectElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLObjectElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLObjectElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLObjectElement5 methods ***/
#define IHTMLObjectElement5_put_object(This,v) (This)->lpVtbl->put_object(This,v)
#define IHTMLObjectElement5_get_object(This,p) (This)->lpVtbl->get_object(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLObjectElement5_QueryInterface(IHTMLObjectElement5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLObjectElement5_AddRef(IHTMLObjectElement5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLObjectElement5_Release(IHTMLObjectElement5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLObjectElement5_GetTypeInfoCount(IHTMLObjectElement5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLObjectElement5_GetTypeInfo(IHTMLObjectElement5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLObjectElement5_GetIDsOfNames(IHTMLObjectElement5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLObjectElement5_Invoke(IHTMLObjectElement5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLObjectElement5 methods ***/
static inline HRESULT IHTMLObjectElement5_put_object(IHTMLObjectElement5* This,BSTR v) {
    return This->lpVtbl->put_object(This,v);
}
static inline HRESULT IHTMLObjectElement5_get_object(IHTMLObjectElement5* This,BSTR *p) {
    return This->lpVtbl->get_object(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLObjectElement5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLParamElement interface
 */
#ifndef __IHTMLParamElement_INTERFACE_DEFINED__
#define __IHTMLParamElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLParamElement, 0x3050f83d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f83d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLParamElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_valueType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_valueType(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLParamElement, 0x3050f83d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLParamElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLParamElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLParamElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLParamElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLParamElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLParamElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLParamElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLParamElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLParamElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLParamElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLParamElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLParamElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLParamElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLParamElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLParamElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_valueType)(
        IHTMLParamElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_valueType)(
        IHTMLParamElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLParamElementVtbl;

interface IHTMLParamElement {
    CONST_VTBL IHTMLParamElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLParamElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLParamElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLParamElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLParamElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLParamElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLParamElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLParamElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLParamElement methods ***/
#define IHTMLParamElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLParamElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLParamElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLParamElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLParamElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLParamElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLParamElement_put_valueType(This,v) (This)->lpVtbl->put_valueType(This,v)
#define IHTMLParamElement_get_valueType(This,p) (This)->lpVtbl->get_valueType(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLParamElement_QueryInterface(IHTMLParamElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLParamElement_AddRef(IHTMLParamElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLParamElement_Release(IHTMLParamElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLParamElement_GetTypeInfoCount(IHTMLParamElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLParamElement_GetTypeInfo(IHTMLParamElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLParamElement_GetIDsOfNames(IHTMLParamElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLParamElement_Invoke(IHTMLParamElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLParamElement methods ***/
static inline HRESULT IHTMLParamElement_put_name(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLParamElement_get_name(IHTMLParamElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLParamElement_put_value(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLParamElement_get_value(IHTMLParamElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLParamElement_put_type(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLParamElement_get_type(IHTMLParamElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLParamElement_put_valueType(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_valueType(This,v);
}
static inline HRESULT IHTMLParamElement_get_valueType(IHTMLParamElement* This,BSTR *p) {
    return This->lpVtbl->get_valueType(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLParamElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLParamElement2 interface
 */
#ifndef __IHTMLParamElement2_INTERFACE_DEFINED__
#define __IHTMLParamElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLParamElement2, 0x30510444, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510444-98b5-11cf-bb82-00aa00bdce0b")
IHTMLParamElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_valueType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_valueType(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLParamElement2, 0x30510444, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLParamElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLParamElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLParamElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLParamElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLParamElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLParamElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLParamElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLParamElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLParamElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLParamElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLParamElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLParamElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLParamElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLParamElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLParamElement2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_valueType)(
        IHTMLParamElement2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_valueType)(
        IHTMLParamElement2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLParamElement2Vtbl;

interface IHTMLParamElement2 {
    CONST_VTBL IHTMLParamElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLParamElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLParamElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLParamElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLParamElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLParamElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLParamElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLParamElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLParamElement2 methods ***/
#define IHTMLParamElement2_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLParamElement2_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLParamElement2_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLParamElement2_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLParamElement2_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLParamElement2_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLParamElement2_put_valueType(This,v) (This)->lpVtbl->put_valueType(This,v)
#define IHTMLParamElement2_get_valueType(This,p) (This)->lpVtbl->get_valueType(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLParamElement2_QueryInterface(IHTMLParamElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLParamElement2_AddRef(IHTMLParamElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLParamElement2_Release(IHTMLParamElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLParamElement2_GetTypeInfoCount(IHTMLParamElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLParamElement2_GetTypeInfo(IHTMLParamElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLParamElement2_GetIDsOfNames(IHTMLParamElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLParamElement2_Invoke(IHTMLParamElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLParamElement2 methods ***/
static inline HRESULT IHTMLParamElement2_put_name(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLParamElement2_get_name(IHTMLParamElement2* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLParamElement2_put_type(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLParamElement2_get_type(IHTMLParamElement2* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLParamElement2_put_value(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLParamElement2_get_value(IHTMLParamElement2* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLParamElement2_put_valueType(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_valueType(This,v);
}
static inline HRESULT IHTMLParamElement2_get_valueType(IHTMLParamElement2* This,BSTR *p) {
    return This->lpVtbl->get_valueType(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLParamElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLObjectElement dispinterface
 */
#ifndef __DispHTMLObjectElement_DISPINTERFACE_DEFINED__
#define __DispHTMLObjectElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLObjectElement, 0x3050f529, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f529-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLObjectElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLObjectElement, 0x3050f529, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLObjectElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLObjectElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLObjectElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLObjectElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLObjectElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLObjectElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLObjectElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLObjectElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLObjectElementVtbl;

interface DispHTMLObjectElement {
    CONST_VTBL DispHTMLObjectElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLObjectElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLObjectElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLObjectElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLObjectElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLObjectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLObjectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLObjectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLObjectElement_QueryInterface(DispHTMLObjectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLObjectElement_AddRef(DispHTMLObjectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLObjectElement_Release(DispHTMLObjectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLObjectElement_GetTypeInfoCount(DispHTMLObjectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLObjectElement_GetTypeInfo(DispHTMLObjectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLObjectElement_GetIDsOfNames(DispHTMLObjectElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLObjectElement_Invoke(DispHTMLObjectElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLObjectElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLObjectElement coclass
 */

DEFINE_GUID(CLSID_HTMLObjectElement, 0x3050f24e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f24e-98b5-11cf-bb82-00aa00bdce0b") HTMLObjectElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLObjectElement, 0x3050f24e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CObjectElement;
/*****************************************************************************
 * DispHTMLParamElement dispinterface
 */
#ifndef __DispHTMLParamElement_DISPINTERFACE_DEFINED__
#define __DispHTMLParamElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLParamElement, 0x3050f590, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f590-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLParamElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLParamElement, 0x3050f590, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLParamElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLParamElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLParamElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLParamElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLParamElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLParamElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLParamElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLParamElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLParamElementVtbl;

interface DispHTMLParamElement {
    CONST_VTBL DispHTMLParamElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLParamElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLParamElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLParamElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLParamElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLParamElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLParamElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLParamElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLParamElement_QueryInterface(DispHTMLParamElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLParamElement_AddRef(DispHTMLParamElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLParamElement_Release(DispHTMLParamElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLParamElement_GetTypeInfoCount(DispHTMLParamElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLParamElement_GetTypeInfo(DispHTMLParamElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLParamElement_GetIDsOfNames(DispHTMLParamElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLParamElement_Invoke(DispHTMLParamElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLParamElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLParamElement coclass
 */

DEFINE_GUID(CLSID_HTMLParamElement, 0x3050f83e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f83e-98b5-11cf-bb82-00aa00bdce0b") HTMLParamElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLParamElement, 0x3050f83e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CParamElement;
/*****************************************************************************
 * HTMLFrameSiteEvents2 dispinterface
 */
#ifndef __HTMLFrameSiteEvents2_DISPINTERFACE_DEFINED__
#define __HTMLFrameSiteEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLFrameSiteEvents2, 0x3050f7ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7ff-98b5-11cf-bb82-00aa00bdce0b")
HTMLFrameSiteEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFrameSiteEvents2, 0x3050f7ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLFrameSiteEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLFrameSiteEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLFrameSiteEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLFrameSiteEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLFrameSiteEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLFrameSiteEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLFrameSiteEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLFrameSiteEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLFrameSiteEvents2Vtbl;

interface HTMLFrameSiteEvents2 {
    CONST_VTBL HTMLFrameSiteEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLFrameSiteEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLFrameSiteEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLFrameSiteEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLFrameSiteEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLFrameSiteEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLFrameSiteEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLFrameSiteEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLFrameSiteEvents2_QueryInterface(HTMLFrameSiteEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLFrameSiteEvents2_AddRef(HTMLFrameSiteEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLFrameSiteEvents2_Release(HTMLFrameSiteEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLFrameSiteEvents2_GetTypeInfoCount(HTMLFrameSiteEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLFrameSiteEvents2_GetTypeInfo(HTMLFrameSiteEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLFrameSiteEvents2_GetIDsOfNames(HTMLFrameSiteEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLFrameSiteEvents2_Invoke(HTMLFrameSiteEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLFrameSiteEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFrameSiteEvents dispinterface
 */
#ifndef __HTMLFrameSiteEvents_DISPINTERFACE_DEFINED__
#define __HTMLFrameSiteEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLFrameSiteEvents, 0x3050f800, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f800-98b5-11cf-bb82-00aa00bdce0b")
HTMLFrameSiteEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFrameSiteEvents, 0x3050f800, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLFrameSiteEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLFrameSiteEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLFrameSiteEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLFrameSiteEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLFrameSiteEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLFrameSiteEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLFrameSiteEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLFrameSiteEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLFrameSiteEventsVtbl;

interface HTMLFrameSiteEvents {
    CONST_VTBL HTMLFrameSiteEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLFrameSiteEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLFrameSiteEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLFrameSiteEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLFrameSiteEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLFrameSiteEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLFrameSiteEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLFrameSiteEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLFrameSiteEvents_QueryInterface(HTMLFrameSiteEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLFrameSiteEvents_AddRef(HTMLFrameSiteEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLFrameSiteEvents_Release(HTMLFrameSiteEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLFrameSiteEvents_GetTypeInfoCount(HTMLFrameSiteEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLFrameSiteEvents_GetTypeInfo(HTMLFrameSiteEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLFrameSiteEvents_GetIDsOfNames(HTMLFrameSiteEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLFrameSiteEvents_Invoke(HTMLFrameSiteEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLFrameSiteEvents_DISPINTERFACE_DEFINED__ */

typedef enum _frameScrolling {
    frameScrollingyes = 1,
    frameScrollingno = 2,
    frameScrollingauto = 4,
    frameScrolling_Max = 0x7fffffff
} frameScrolling;
/*****************************************************************************
 * IHTMLFrameBase interface
 */
#ifndef __IHTMLFrameBase_INTERFACE_DEFINED__
#define __IHTMLFrameBase_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameBase, 0x3050f311, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f311-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameBase : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameBorder(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameBorder(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_noResize(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_noResize(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrolling(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrolling(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameBase, 0x3050f311, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameBaseVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameBase *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameBase *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameBase *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameBase *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameBase *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameBase *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameBase *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameBase methods ***/
    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLFrameBase *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLFrameBase *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLFrameBase *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLFrameBase *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLFrameBase *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLFrameBase *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_frameBorder)(
        IHTMLFrameBase *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_frameBorder)(
        IHTMLFrameBase *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_frameSpacing)(
        IHTMLFrameBase *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_frameSpacing)(
        IHTMLFrameBase *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginWidth)(
        IHTMLFrameBase *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginWidth)(
        IHTMLFrameBase *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_marginHeight)(
        IHTMLFrameBase *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_marginHeight)(
        IHTMLFrameBase *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_noResize)(
        IHTMLFrameBase *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_noResize)(
        IHTMLFrameBase *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_scrolling)(
        IHTMLFrameBase *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_scrolling)(
        IHTMLFrameBase *This,
        BSTR *p);

    END_INTERFACE
} IHTMLFrameBaseVtbl;

interface IHTMLFrameBase {
    CONST_VTBL IHTMLFrameBaseVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameBase_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameBase_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameBase_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameBase methods ***/
#define IHTMLFrameBase_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLFrameBase_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLFrameBase_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLFrameBase_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLFrameBase_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLFrameBase_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLFrameBase_put_frameBorder(This,v) (This)->lpVtbl->put_frameBorder(This,v)
#define IHTMLFrameBase_get_frameBorder(This,p) (This)->lpVtbl->get_frameBorder(This,p)
#define IHTMLFrameBase_put_frameSpacing(This,v) (This)->lpVtbl->put_frameSpacing(This,v)
#define IHTMLFrameBase_get_frameSpacing(This,p) (This)->lpVtbl->get_frameSpacing(This,p)
#define IHTMLFrameBase_put_marginWidth(This,v) (This)->lpVtbl->put_marginWidth(This,v)
#define IHTMLFrameBase_get_marginWidth(This,p) (This)->lpVtbl->get_marginWidth(This,p)
#define IHTMLFrameBase_put_marginHeight(This,v) (This)->lpVtbl->put_marginHeight(This,v)
#define IHTMLFrameBase_get_marginHeight(This,p) (This)->lpVtbl->get_marginHeight(This,p)
#define IHTMLFrameBase_put_noResize(This,v) (This)->lpVtbl->put_noResize(This,v)
#define IHTMLFrameBase_get_noResize(This,p) (This)->lpVtbl->get_noResize(This,p)
#define IHTMLFrameBase_put_scrolling(This,v) (This)->lpVtbl->put_scrolling(This,v)
#define IHTMLFrameBase_get_scrolling(This,p) (This)->lpVtbl->get_scrolling(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameBase_QueryInterface(IHTMLFrameBase* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameBase_AddRef(IHTMLFrameBase* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameBase_Release(IHTMLFrameBase* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameBase_GetTypeInfoCount(IHTMLFrameBase* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameBase_GetTypeInfo(IHTMLFrameBase* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameBase_GetIDsOfNames(IHTMLFrameBase* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameBase_Invoke(IHTMLFrameBase* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameBase methods ***/
static inline HRESULT IHTMLFrameBase_put_src(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLFrameBase_get_src(IHTMLFrameBase* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLFrameBase_put_name(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLFrameBase_get_name(IHTMLFrameBase* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLFrameBase_put_border(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLFrameBase_get_border(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLFrameBase_put_frameBorder(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_frameBorder(This,v);
}
static inline HRESULT IHTMLFrameBase_get_frameBorder(IHTMLFrameBase* This,BSTR *p) {
    return This->lpVtbl->get_frameBorder(This,p);
}
static inline HRESULT IHTMLFrameBase_put_frameSpacing(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_frameSpacing(This,v);
}
static inline HRESULT IHTMLFrameBase_get_frameSpacing(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_frameSpacing(This,p);
}
static inline HRESULT IHTMLFrameBase_put_marginWidth(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_marginWidth(This,v);
}
static inline HRESULT IHTMLFrameBase_get_marginWidth(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_marginWidth(This,p);
}
static inline HRESULT IHTMLFrameBase_put_marginHeight(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_marginHeight(This,v);
}
static inline HRESULT IHTMLFrameBase_get_marginHeight(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_marginHeight(This,p);
}
static inline HRESULT IHTMLFrameBase_put_noResize(IHTMLFrameBase* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noResize(This,v);
}
static inline HRESULT IHTMLFrameBase_get_noResize(IHTMLFrameBase* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noResize(This,p);
}
static inline HRESULT IHTMLFrameBase_put_scrolling(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_scrolling(This,v);
}
static inline HRESULT IHTMLFrameBase_get_scrolling(IHTMLFrameBase* This,BSTR *p) {
    return This->lpVtbl->get_scrolling(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameBase_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFrameBase2 interface
 */
#ifndef __IHTMLFrameBase2_INTERFACE_DEFINED__
#define __IHTMLFrameBase2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameBase2, 0x3050f6db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6db-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameBase2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_contentWindow(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_allowTransparency(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_allowTransparency(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameBase2, 0x3050f6db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameBase2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameBase2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameBase2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameBase2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameBase2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameBase2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameBase2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameBase2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameBase2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_contentWindow)(
        IHTMLFrameBase2 *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLFrameBase2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLFrameBase2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLFrameBase2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLFrameBase2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLFrameBase2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_allowTransparency)(
        IHTMLFrameBase2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_allowTransparency)(
        IHTMLFrameBase2 *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLFrameBase2Vtbl;

interface IHTMLFrameBase2 {
    CONST_VTBL IHTMLFrameBase2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameBase2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameBase2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameBase2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameBase2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameBase2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameBase2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameBase2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameBase2 methods ***/
#define IHTMLFrameBase2_get_contentWindow(This,p) (This)->lpVtbl->get_contentWindow(This,p)
#define IHTMLFrameBase2_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLFrameBase2_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLFrameBase2_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLFrameBase2_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLFrameBase2_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLFrameBase2_put_allowTransparency(This,v) (This)->lpVtbl->put_allowTransparency(This,v)
#define IHTMLFrameBase2_get_allowTransparency(This,p) (This)->lpVtbl->get_allowTransparency(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameBase2_QueryInterface(IHTMLFrameBase2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameBase2_AddRef(IHTMLFrameBase2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameBase2_Release(IHTMLFrameBase2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameBase2_GetTypeInfoCount(IHTMLFrameBase2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameBase2_GetTypeInfo(IHTMLFrameBase2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameBase2_GetIDsOfNames(IHTMLFrameBase2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameBase2_Invoke(IHTMLFrameBase2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameBase2 methods ***/
static inline HRESULT IHTMLFrameBase2_get_contentWindow(IHTMLFrameBase2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_contentWindow(This,p);
}
static inline HRESULT IHTMLFrameBase2_put_onload(IHTMLFrameBase2* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLFrameBase2_get_onload(IHTMLFrameBase2* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLFrameBase2_put_onreadystatechange(IHTMLFrameBase2* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLFrameBase2_get_onreadystatechange(IHTMLFrameBase2* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLFrameBase2_get_readyState(IHTMLFrameBase2* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLFrameBase2_put_allowTransparency(IHTMLFrameBase2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_allowTransparency(This,v);
}
static inline HRESULT IHTMLFrameBase2_get_allowTransparency(IHTMLFrameBase2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_allowTransparency(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameBase2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFrameBase3 interface
 */
#ifndef __IHTMLFrameBase3_INTERFACE_DEFINED__
#define __IHTMLFrameBase3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameBase3, 0x3050f82e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f82e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameBase3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_longDesc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_longDesc(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameBase3, 0x3050f82e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameBase3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameBase3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameBase3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameBase3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameBase3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameBase3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameBase3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameBase3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameBase3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_longDesc)(
        IHTMLFrameBase3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_longDesc)(
        IHTMLFrameBase3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLFrameBase3Vtbl;

interface IHTMLFrameBase3 {
    CONST_VTBL IHTMLFrameBase3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameBase3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameBase3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameBase3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameBase3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameBase3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameBase3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameBase3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameBase3 methods ***/
#define IHTMLFrameBase3_put_longDesc(This,v) (This)->lpVtbl->put_longDesc(This,v)
#define IHTMLFrameBase3_get_longDesc(This,p) (This)->lpVtbl->get_longDesc(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameBase3_QueryInterface(IHTMLFrameBase3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameBase3_AddRef(IHTMLFrameBase3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameBase3_Release(IHTMLFrameBase3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameBase3_GetTypeInfoCount(IHTMLFrameBase3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameBase3_GetTypeInfo(IHTMLFrameBase3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameBase3_GetIDsOfNames(IHTMLFrameBase3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameBase3_Invoke(IHTMLFrameBase3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameBase3 methods ***/
static inline HRESULT IHTMLFrameBase3_put_longDesc(IHTMLFrameBase3* This,BSTR v) {
    return This->lpVtbl->put_longDesc(This,v);
}
static inline HRESULT IHTMLFrameBase3_get_longDesc(IHTMLFrameBase3* This,BSTR *p) {
    return This->lpVtbl->get_longDesc(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameBase3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLFrameBase dispinterface
 */
#ifndef __DispHTMLFrameBase_DISPINTERFACE_DEFINED__
#define __DispHTMLFrameBase_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLFrameBase, 0x3050f541, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f541-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLFrameBase : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLFrameBase, 0x3050f541, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLFrameBaseVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLFrameBase *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLFrameBase *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLFrameBase *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLFrameBase *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLFrameBase *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLFrameBase *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLFrameBase *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLFrameBaseVtbl;

interface DispHTMLFrameBase {
    CONST_VTBL DispHTMLFrameBaseVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLFrameBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLFrameBase_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLFrameBase_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLFrameBase_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLFrameBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLFrameBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLFrameBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLFrameBase_QueryInterface(DispHTMLFrameBase* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLFrameBase_AddRef(DispHTMLFrameBase* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLFrameBase_Release(DispHTMLFrameBase* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLFrameBase_GetTypeInfoCount(DispHTMLFrameBase* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLFrameBase_GetTypeInfo(DispHTMLFrameBase* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLFrameBase_GetIDsOfNames(DispHTMLFrameBase* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLFrameBase_Invoke(DispHTMLFrameBase* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLFrameBase_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFrameBase coclass
 */

DEFINE_GUID(CLSID_HTMLFrameBase, 0x3050f312, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f312-98b5-11cf-bb82-00aa00bdce0b") HTMLFrameBase;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFrameBase, 0x3050f312, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFrameSite;
/*****************************************************************************
 * IHTMLFrameElement interface
 */
#ifndef __IHTMLFrameElement_INTERFACE_DEFINED__
#define __IHTMLFrameElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameElement, 0x3050f313, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f313-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameElement, 0x3050f313, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLFrameElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLFrameElement *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLFrameElementVtbl;

interface IHTMLFrameElement {
    CONST_VTBL IHTMLFrameElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameElement methods ***/
#define IHTMLFrameElement_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLFrameElement_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameElement_QueryInterface(IHTMLFrameElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameElement_AddRef(IHTMLFrameElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameElement_Release(IHTMLFrameElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameElement_GetTypeInfoCount(IHTMLFrameElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameElement_GetTypeInfo(IHTMLFrameElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameElement_GetIDsOfNames(IHTMLFrameElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameElement_Invoke(IHTMLFrameElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameElement methods ***/
static inline HRESULT IHTMLFrameElement_put_borderColor(IHTMLFrameElement* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLFrameElement_get_borderColor(IHTMLFrameElement* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFrameElement2 interface
 */
#ifndef __IHTMLFrameElement2_INTERFACE_DEFINED__
#define __IHTMLFrameElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameElement2, 0x3050f7f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7f5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameElement2, 0x3050f7f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLFrameElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLFrameElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLFrameElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLFrameElement2 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLFrameElement2Vtbl;

interface IHTMLFrameElement2 {
    CONST_VTBL IHTMLFrameElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameElement2 methods ***/
#define IHTMLFrameElement2_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLFrameElement2_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLFrameElement2_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLFrameElement2_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameElement2_QueryInterface(IHTMLFrameElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameElement2_AddRef(IHTMLFrameElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameElement2_Release(IHTMLFrameElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameElement2_GetTypeInfoCount(IHTMLFrameElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameElement2_GetTypeInfo(IHTMLFrameElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameElement2_GetIDsOfNames(IHTMLFrameElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameElement2_Invoke(IHTMLFrameElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameElement2 methods ***/
static inline HRESULT IHTMLFrameElement2_put_height(IHTMLFrameElement2* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLFrameElement2_get_height(IHTMLFrameElement2* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLFrameElement2_put_width(IHTMLFrameElement2* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLFrameElement2_get_width(IHTMLFrameElement2* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFrameElement3 interface
 */
#ifndef __IHTMLFrameElement3_INTERFACE_DEFINED__
#define __IHTMLFrameElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameElement3, 0x3051042d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051042d-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_contentDocument(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_longDesc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_longDesc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameBorder(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameBorder(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameElement3, 0x3051042d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_contentDocument)(
        IHTMLFrameElement3 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLFrameElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLFrameElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_longDesc)(
        IHTMLFrameElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_longDesc)(
        IHTMLFrameElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_frameBorder)(
        IHTMLFrameElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_frameBorder)(
        IHTMLFrameElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLFrameElement3Vtbl;

interface IHTMLFrameElement3 {
    CONST_VTBL IHTMLFrameElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameElement3 methods ***/
#define IHTMLFrameElement3_get_contentDocument(This,p) (This)->lpVtbl->get_contentDocument(This,p)
#define IHTMLFrameElement3_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLFrameElement3_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLFrameElement3_put_longDesc(This,v) (This)->lpVtbl->put_longDesc(This,v)
#define IHTMLFrameElement3_get_longDesc(This,p) (This)->lpVtbl->get_longDesc(This,p)
#define IHTMLFrameElement3_put_frameBorder(This,v) (This)->lpVtbl->put_frameBorder(This,v)
#define IHTMLFrameElement3_get_frameBorder(This,p) (This)->lpVtbl->get_frameBorder(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameElement3_QueryInterface(IHTMLFrameElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameElement3_AddRef(IHTMLFrameElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameElement3_Release(IHTMLFrameElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameElement3_GetTypeInfoCount(IHTMLFrameElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameElement3_GetTypeInfo(IHTMLFrameElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameElement3_GetIDsOfNames(IHTMLFrameElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameElement3_Invoke(IHTMLFrameElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameElement3 methods ***/
static inline HRESULT IHTMLFrameElement3_get_contentDocument(IHTMLFrameElement3* This,IDispatch **p) {
    return This->lpVtbl->get_contentDocument(This,p);
}
static inline HRESULT IHTMLFrameElement3_put_src(IHTMLFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLFrameElement3_get_src(IHTMLFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLFrameElement3_put_longDesc(IHTMLFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_longDesc(This,v);
}
static inline HRESULT IHTMLFrameElement3_get_longDesc(IHTMLFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_longDesc(This,p);
}
static inline HRESULT IHTMLFrameElement3_put_frameBorder(IHTMLFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_frameBorder(This,v);
}
static inline HRESULT IHTMLFrameElement3_get_frameBorder(IHTMLFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_frameBorder(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLFrameElement dispinterface
 */
#ifndef __DispHTMLFrameElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFrameElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLFrameElement, 0x3050f513, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f513-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLFrameElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLFrameElement, 0x3050f513, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLFrameElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLFrameElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLFrameElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLFrameElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLFrameElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLFrameElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLFrameElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLFrameElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLFrameElementVtbl;

interface DispHTMLFrameElement {
    CONST_VTBL DispHTMLFrameElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLFrameElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLFrameElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLFrameElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLFrameElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLFrameElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLFrameElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLFrameElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLFrameElement_QueryInterface(DispHTMLFrameElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLFrameElement_AddRef(DispHTMLFrameElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLFrameElement_Release(DispHTMLFrameElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLFrameElement_GetTypeInfoCount(DispHTMLFrameElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLFrameElement_GetTypeInfo(DispHTMLFrameElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLFrameElement_GetIDsOfNames(DispHTMLFrameElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLFrameElement_Invoke(DispHTMLFrameElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLFrameElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFrameElement coclass
 */

DEFINE_GUID(CLSID_HTMLFrameElement, 0x3050f314, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f314-98b5-11cf-bb82-00aa00bdce0b") HTMLFrameElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFrameElement, 0x3050f314, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFrameElement;
typedef enum _sandboxAllow {
    sandboxAllowScripts = 0,
    sandboxAllowSameOrigin = 1,
    sandboxAllowTopNavigation = 2,
    sandboxAllowForms = 3,
    sandboxAllowPopups = 4,
    sandboxAllow_Max = 0x7fffffff
} sandboxAllow;
/*****************************************************************************
 * IHTMLIFrameElement interface
 */
#ifndef __IHTMLIFrameElement_INTERFACE_DEFINED__
#define __IHTMLIFrameElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLIFrameElement, 0x3050f315, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f315-98b5-11cf-bb82-00aa00bdce0b")
IHTMLIFrameElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_vspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_vspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_hspace(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hspace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLIFrameElement, 0x3050f315, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLIFrameElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLIFrameElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLIFrameElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLIFrameElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLIFrameElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLIFrameElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLIFrameElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLIFrameElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLIFrameElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_vspace)(
        IHTMLIFrameElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_vspace)(
        IHTMLIFrameElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_hspace)(
        IHTMLIFrameElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_hspace)(
        IHTMLIFrameElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLIFrameElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLIFrameElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLIFrameElementVtbl;

interface IHTMLIFrameElement {
    CONST_VTBL IHTMLIFrameElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLIFrameElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLIFrameElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLIFrameElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLIFrameElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLIFrameElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLIFrameElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLIFrameElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLIFrameElement methods ***/
#define IHTMLIFrameElement_put_vspace(This,v) (This)->lpVtbl->put_vspace(This,v)
#define IHTMLIFrameElement_get_vspace(This,p) (This)->lpVtbl->get_vspace(This,p)
#define IHTMLIFrameElement_put_hspace(This,v) (This)->lpVtbl->put_hspace(This,v)
#define IHTMLIFrameElement_get_hspace(This,p) (This)->lpVtbl->get_hspace(This,p)
#define IHTMLIFrameElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLIFrameElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLIFrameElement_QueryInterface(IHTMLIFrameElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLIFrameElement_AddRef(IHTMLIFrameElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLIFrameElement_Release(IHTMLIFrameElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLIFrameElement_GetTypeInfoCount(IHTMLIFrameElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLIFrameElement_GetTypeInfo(IHTMLIFrameElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLIFrameElement_GetIDsOfNames(IHTMLIFrameElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLIFrameElement_Invoke(IHTMLIFrameElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLIFrameElement methods ***/
static inline HRESULT IHTMLIFrameElement_put_vspace(IHTMLIFrameElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static inline HRESULT IHTMLIFrameElement_get_vspace(IHTMLIFrameElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static inline HRESULT IHTMLIFrameElement_put_hspace(IHTMLIFrameElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static inline HRESULT IHTMLIFrameElement_get_hspace(IHTMLIFrameElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static inline HRESULT IHTMLIFrameElement_put_align(IHTMLIFrameElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLIFrameElement_get_align(IHTMLIFrameElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLIFrameElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLIFrameElement2 interface
 */
#ifndef __IHTMLIFrameElement2_INTERFACE_DEFINED__
#define __IHTMLIFrameElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLIFrameElement2, 0x3050f4e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4e6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLIFrameElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_height(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLIFrameElement2, 0x3050f4e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLIFrameElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLIFrameElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLIFrameElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLIFrameElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLIFrameElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLIFrameElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLIFrameElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLIFrameElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLIFrameElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLIFrameElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLIFrameElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLIFrameElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLIFrameElement2 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLIFrameElement2Vtbl;

interface IHTMLIFrameElement2 {
    CONST_VTBL IHTMLIFrameElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLIFrameElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLIFrameElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLIFrameElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLIFrameElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLIFrameElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLIFrameElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLIFrameElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLIFrameElement2 methods ***/
#define IHTMLIFrameElement2_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLIFrameElement2_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLIFrameElement2_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLIFrameElement2_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLIFrameElement2_QueryInterface(IHTMLIFrameElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLIFrameElement2_AddRef(IHTMLIFrameElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLIFrameElement2_Release(IHTMLIFrameElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLIFrameElement2_GetTypeInfoCount(IHTMLIFrameElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLIFrameElement2_GetTypeInfo(IHTMLIFrameElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLIFrameElement2_GetIDsOfNames(IHTMLIFrameElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLIFrameElement2_Invoke(IHTMLIFrameElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLIFrameElement2 methods ***/
static inline HRESULT IHTMLIFrameElement2_put_height(IHTMLIFrameElement2* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLIFrameElement2_get_height(IHTMLIFrameElement2* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLIFrameElement2_put_width(IHTMLIFrameElement2* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLIFrameElement2_get_width(IHTMLIFrameElement2* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLIFrameElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLIFrameElement3 interface
 */
#ifndef __IHTMLIFrameElement3_INTERFACE_DEFINED__
#define __IHTMLIFrameElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLIFrameElement3, 0x30510433, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510433-98b5-11cf-bb82-00aa00bdce0b")
IHTMLIFrameElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_contentDocument(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_longDesc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_longDesc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameBorder(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameBorder(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLIFrameElement3, 0x30510433, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLIFrameElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLIFrameElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLIFrameElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLIFrameElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLIFrameElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLIFrameElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLIFrameElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLIFrameElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLIFrameElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_contentDocument)(
        IHTMLIFrameElement3 *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLIFrameElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLIFrameElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_longDesc)(
        IHTMLIFrameElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_longDesc)(
        IHTMLIFrameElement3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_frameBorder)(
        IHTMLIFrameElement3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_frameBorder)(
        IHTMLIFrameElement3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLIFrameElement3Vtbl;

interface IHTMLIFrameElement3 {
    CONST_VTBL IHTMLIFrameElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLIFrameElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLIFrameElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLIFrameElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLIFrameElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLIFrameElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLIFrameElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLIFrameElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLIFrameElement3 methods ***/
#define IHTMLIFrameElement3_get_contentDocument(This,p) (This)->lpVtbl->get_contentDocument(This,p)
#define IHTMLIFrameElement3_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLIFrameElement3_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLIFrameElement3_put_longDesc(This,v) (This)->lpVtbl->put_longDesc(This,v)
#define IHTMLIFrameElement3_get_longDesc(This,p) (This)->lpVtbl->get_longDesc(This,p)
#define IHTMLIFrameElement3_put_frameBorder(This,v) (This)->lpVtbl->put_frameBorder(This,v)
#define IHTMLIFrameElement3_get_frameBorder(This,p) (This)->lpVtbl->get_frameBorder(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLIFrameElement3_QueryInterface(IHTMLIFrameElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLIFrameElement3_AddRef(IHTMLIFrameElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLIFrameElement3_Release(IHTMLIFrameElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLIFrameElement3_GetTypeInfoCount(IHTMLIFrameElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLIFrameElement3_GetTypeInfo(IHTMLIFrameElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLIFrameElement3_GetIDsOfNames(IHTMLIFrameElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLIFrameElement3_Invoke(IHTMLIFrameElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLIFrameElement3 methods ***/
static inline HRESULT IHTMLIFrameElement3_get_contentDocument(IHTMLIFrameElement3* This,IDispatch **p) {
    return This->lpVtbl->get_contentDocument(This,p);
}
static inline HRESULT IHTMLIFrameElement3_put_src(IHTMLIFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLIFrameElement3_get_src(IHTMLIFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLIFrameElement3_put_longDesc(IHTMLIFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_longDesc(This,v);
}
static inline HRESULT IHTMLIFrameElement3_get_longDesc(IHTMLIFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_longDesc(This,p);
}
static inline HRESULT IHTMLIFrameElement3_put_frameBorder(IHTMLIFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_frameBorder(This,v);
}
static inline HRESULT IHTMLIFrameElement3_get_frameBorder(IHTMLIFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_frameBorder(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLIFrameElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLIFrame dispinterface
 */
#ifndef __DispHTMLIFrame_DISPINTERFACE_DEFINED__
#define __DispHTMLIFrame_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLIFrame, 0x3050f51b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f51b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLIFrame : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLIFrame, 0x3050f51b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLIFrameVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLIFrame *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLIFrame *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLIFrame *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLIFrame *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLIFrame *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLIFrame *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLIFrame *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLIFrameVtbl;

interface DispHTMLIFrame {
    CONST_VTBL DispHTMLIFrameVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLIFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLIFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLIFrame_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLIFrame_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLIFrame_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLIFrame_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLIFrame_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLIFrame_QueryInterface(DispHTMLIFrame* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLIFrame_AddRef(DispHTMLIFrame* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLIFrame_Release(DispHTMLIFrame* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLIFrame_GetTypeInfoCount(DispHTMLIFrame* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLIFrame_GetTypeInfo(DispHTMLIFrame* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLIFrame_GetIDsOfNames(DispHTMLIFrame* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLIFrame_Invoke(DispHTMLIFrame* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLIFrame_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLIFrame coclass
 */

DEFINE_GUID(CLSID_HTMLIFrame, 0x3050f316, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f316-98b5-11cf-bb82-00aa00bdce0b") HTMLIFrame;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLIFrame, 0x3050f316, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CIFrameElement;
/*****************************************************************************
 * IHTMLDivPosition interface
 */
#ifndef __IHTMLDivPosition_INTERFACE_DEFINED__
#define __IHTMLDivPosition_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDivPosition, 0x3050f212, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f212-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDivPosition : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDivPosition, 0x3050f212, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDivPositionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDivPosition *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDivPosition *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDivPosition *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDivPosition *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDivPosition *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDivPosition *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDivPosition *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDivPosition methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLDivPosition *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLDivPosition *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDivPositionVtbl;

interface IHTMLDivPosition {
    CONST_VTBL IHTMLDivPositionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDivPosition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDivPosition_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDivPosition_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDivPosition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDivPosition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDivPosition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDivPosition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDivPosition methods ***/
#define IHTMLDivPosition_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLDivPosition_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDivPosition_QueryInterface(IHTMLDivPosition* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDivPosition_AddRef(IHTMLDivPosition* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDivPosition_Release(IHTMLDivPosition* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDivPosition_GetTypeInfoCount(IHTMLDivPosition* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDivPosition_GetTypeInfo(IHTMLDivPosition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDivPosition_GetIDsOfNames(IHTMLDivPosition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDivPosition_Invoke(IHTMLDivPosition* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDivPosition methods ***/
static inline HRESULT IHTMLDivPosition_put_align(IHTMLDivPosition* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLDivPosition_get_align(IHTMLDivPosition* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDivPosition_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFieldSetElement interface
 */
#ifndef __IHTMLFieldSetElement_INTERFACE_DEFINED__
#define __IHTMLFieldSetElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFieldSetElement, 0x3050f3e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3e7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFieldSetElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFieldSetElement, 0x3050f3e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFieldSetElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFieldSetElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFieldSetElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFieldSetElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFieldSetElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFieldSetElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFieldSetElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFieldSetElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFieldSetElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLFieldSetElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLFieldSetElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLFieldSetElementVtbl;

interface IHTMLFieldSetElement {
    CONST_VTBL IHTMLFieldSetElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFieldSetElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFieldSetElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFieldSetElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFieldSetElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFieldSetElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFieldSetElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFieldSetElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFieldSetElement methods ***/
#define IHTMLFieldSetElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLFieldSetElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFieldSetElement_QueryInterface(IHTMLFieldSetElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFieldSetElement_AddRef(IHTMLFieldSetElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFieldSetElement_Release(IHTMLFieldSetElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFieldSetElement_GetTypeInfoCount(IHTMLFieldSetElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFieldSetElement_GetTypeInfo(IHTMLFieldSetElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFieldSetElement_GetIDsOfNames(IHTMLFieldSetElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFieldSetElement_Invoke(IHTMLFieldSetElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFieldSetElement methods ***/
static inline HRESULT IHTMLFieldSetElement_put_align(IHTMLFieldSetElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLFieldSetElement_get_align(IHTMLFieldSetElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFieldSetElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFieldSetElement2 interface
 */
#ifndef __IHTMLFieldSetElement2_INTERFACE_DEFINED__
#define __IHTMLFieldSetElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFieldSetElement2, 0x3050f833, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f833-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFieldSetElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFieldSetElement2, 0x3050f833, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFieldSetElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFieldSetElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFieldSetElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFieldSetElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFieldSetElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFieldSetElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFieldSetElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFieldSetElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFieldSetElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLFieldSetElement2 *This,
        IHTMLFormElement **p);

    END_INTERFACE
} IHTMLFieldSetElement2Vtbl;

interface IHTMLFieldSetElement2 {
    CONST_VTBL IHTMLFieldSetElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFieldSetElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFieldSetElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFieldSetElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFieldSetElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFieldSetElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFieldSetElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFieldSetElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFieldSetElement2 methods ***/
#define IHTMLFieldSetElement2_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFieldSetElement2_QueryInterface(IHTMLFieldSetElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFieldSetElement2_AddRef(IHTMLFieldSetElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFieldSetElement2_Release(IHTMLFieldSetElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFieldSetElement2_GetTypeInfoCount(IHTMLFieldSetElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFieldSetElement2_GetTypeInfo(IHTMLFieldSetElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFieldSetElement2_GetIDsOfNames(IHTMLFieldSetElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFieldSetElement2_Invoke(IHTMLFieldSetElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFieldSetElement2 methods ***/
static inline HRESULT IHTMLFieldSetElement2_get_form(IHTMLFieldSetElement2* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFieldSetElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLegendElement interface
 */
#ifndef __IHTMLLegendElement_INTERFACE_DEFINED__
#define __IHTMLLegendElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLegendElement, 0x3050f3ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3ea-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLegendElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLegendElement, 0x3050f3ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLegendElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLLegendElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLLegendElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLLegendElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLegendElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLegendElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLegendElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLegendElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLegendElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLLegendElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLLegendElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLLegendElementVtbl;

interface IHTMLLegendElement {
    CONST_VTBL IHTMLLegendElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLegendElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLegendElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLegendElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLegendElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLegendElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLegendElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLegendElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLegendElement methods ***/
#define IHTMLLegendElement_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLLegendElement_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLegendElement_QueryInterface(IHTMLLegendElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLegendElement_AddRef(IHTMLLegendElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLegendElement_Release(IHTMLLegendElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLegendElement_GetTypeInfoCount(IHTMLLegendElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLegendElement_GetTypeInfo(IHTMLLegendElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLegendElement_GetIDsOfNames(IHTMLLegendElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLegendElement_Invoke(IHTMLLegendElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLegendElement methods ***/
static inline HRESULT IHTMLLegendElement_put_align(IHTMLLegendElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLLegendElement_get_align(IHTMLLegendElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLegendElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLLegendElement2 interface
 */
#ifndef __IHTMLLegendElement2_INTERFACE_DEFINED__
#define __IHTMLLegendElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLLegendElement2, 0x3050f834, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f834-98b5-11cf-bb82-00aa00bdce0b")
IHTMLLegendElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLLegendElement2, 0x3050f834, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLLegendElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLLegendElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLLegendElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLLegendElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLLegendElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLLegendElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLLegendElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLLegendElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLLegendElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLLegendElement2 *This,
        IHTMLFormElement **p);

    END_INTERFACE
} IHTMLLegendElement2Vtbl;

interface IHTMLLegendElement2 {
    CONST_VTBL IHTMLLegendElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLLegendElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLLegendElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLLegendElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLLegendElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLLegendElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLLegendElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLLegendElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLLegendElement2 methods ***/
#define IHTMLLegendElement2_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLLegendElement2_QueryInterface(IHTMLLegendElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLLegendElement2_AddRef(IHTMLLegendElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLLegendElement2_Release(IHTMLLegendElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLLegendElement2_GetTypeInfoCount(IHTMLLegendElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLLegendElement2_GetTypeInfo(IHTMLLegendElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLLegendElement2_GetIDsOfNames(IHTMLLegendElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLLegendElement2_Invoke(IHTMLLegendElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLLegendElement2 methods ***/
static inline HRESULT IHTMLLegendElement2_get_form(IHTMLLegendElement2* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLegendElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLDivPosition dispinterface
 */
#ifndef __DispHTMLDivPosition_DISPINTERFACE_DEFINED__
#define __DispHTMLDivPosition_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLDivPosition, 0x3050f50f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f50f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLDivPosition : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLDivPosition, 0x3050f50f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLDivPositionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLDivPosition *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLDivPosition *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLDivPosition *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLDivPosition *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLDivPosition *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLDivPosition *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLDivPosition *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLDivPositionVtbl;

interface DispHTMLDivPosition {
    CONST_VTBL DispHTMLDivPositionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLDivPosition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLDivPosition_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLDivPosition_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLDivPosition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLDivPosition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLDivPosition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLDivPosition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLDivPosition_QueryInterface(DispHTMLDivPosition* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLDivPosition_AddRef(DispHTMLDivPosition* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLDivPosition_Release(DispHTMLDivPosition* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLDivPosition_GetTypeInfoCount(DispHTMLDivPosition* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLDivPosition_GetTypeInfo(DispHTMLDivPosition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLDivPosition_GetIDsOfNames(DispHTMLDivPosition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLDivPosition_Invoke(DispHTMLDivPosition* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLDivPosition_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLDivPosition coclass
 */

DEFINE_GUID(CLSID_HTMLDivPosition, 0x3050f249, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f249-98b5-11cf-bb82-00aa00bdce0b") HTMLDivPosition;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDivPosition, 0x3050f249, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_C1DElement;
/*****************************************************************************
 * DispHTMLFieldSetElement dispinterface
 */
#ifndef __DispHTMLFieldSetElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFieldSetElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLFieldSetElement, 0x3050f545, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f545-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLFieldSetElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLFieldSetElement, 0x3050f545, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLFieldSetElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLFieldSetElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLFieldSetElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLFieldSetElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLFieldSetElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLFieldSetElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLFieldSetElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLFieldSetElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLFieldSetElementVtbl;

interface DispHTMLFieldSetElement {
    CONST_VTBL DispHTMLFieldSetElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLFieldSetElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLFieldSetElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLFieldSetElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLFieldSetElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLFieldSetElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLFieldSetElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLFieldSetElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLFieldSetElement_QueryInterface(DispHTMLFieldSetElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLFieldSetElement_AddRef(DispHTMLFieldSetElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLFieldSetElement_Release(DispHTMLFieldSetElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLFieldSetElement_GetTypeInfoCount(DispHTMLFieldSetElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLFieldSetElement_GetTypeInfo(DispHTMLFieldSetElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLFieldSetElement_GetIDsOfNames(DispHTMLFieldSetElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLFieldSetElement_Invoke(DispHTMLFieldSetElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLFieldSetElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFieldSetElement coclass
 */

DEFINE_GUID(CLSID_HTMLFieldSetElement, 0x3050f3e8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3e8-98b5-11cf-bb82-00aa00bdce0b") HTMLFieldSetElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFieldSetElement, 0x3050f3e8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFieldSetElement;
/*****************************************************************************
 * DispHTMLLegendElement dispinterface
 */
#ifndef __DispHTMLLegendElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLegendElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLLegendElement, 0x3050f546, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f546-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLLegendElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLLegendElement, 0x3050f546, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLLegendElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLLegendElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLLegendElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLLegendElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLLegendElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLLegendElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLLegendElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLLegendElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLLegendElementVtbl;

interface DispHTMLLegendElement {
    CONST_VTBL DispHTMLLegendElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLLegendElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLLegendElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLLegendElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLLegendElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLLegendElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLLegendElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLLegendElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLLegendElement_QueryInterface(DispHTMLLegendElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLLegendElement_AddRef(DispHTMLLegendElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLLegendElement_Release(DispHTMLLegendElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLLegendElement_GetTypeInfoCount(DispHTMLLegendElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLLegendElement_GetTypeInfo(DispHTMLLegendElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLLegendElement_GetIDsOfNames(DispHTMLLegendElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLLegendElement_Invoke(DispHTMLLegendElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLLegendElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLLegendElement coclass
 */

DEFINE_GUID(CLSID_HTMLLegendElement, 0x3050f3e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3e9-98b5-11cf-bb82-00aa00bdce0b") HTMLLegendElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLLegendElement, 0x3050f3e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CLegendElement;
/*****************************************************************************
 * IHTMLSpanFlow interface
 */
#ifndef __IHTMLSpanFlow_INTERFACE_DEFINED__
#define __IHTMLSpanFlow_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSpanFlow, 0x3050f3e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3e5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSpanFlow : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSpanFlow, 0x3050f3e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSpanFlowVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLSpanFlow *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLSpanFlow *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLSpanFlow *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSpanFlow *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSpanFlow *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSpanFlow *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSpanFlow *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSpanFlow methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        IHTMLSpanFlow *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        IHTMLSpanFlow *This,
        BSTR *p);

    END_INTERFACE
} IHTMLSpanFlowVtbl;

interface IHTMLSpanFlow {
    CONST_VTBL IHTMLSpanFlowVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSpanFlow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSpanFlow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSpanFlow_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSpanFlow_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSpanFlow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSpanFlow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSpanFlow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSpanFlow methods ***/
#define IHTMLSpanFlow_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define IHTMLSpanFlow_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSpanFlow_QueryInterface(IHTMLSpanFlow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSpanFlow_AddRef(IHTMLSpanFlow* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSpanFlow_Release(IHTMLSpanFlow* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSpanFlow_GetTypeInfoCount(IHTMLSpanFlow* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSpanFlow_GetTypeInfo(IHTMLSpanFlow* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSpanFlow_GetIDsOfNames(IHTMLSpanFlow* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSpanFlow_Invoke(IHTMLSpanFlow* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSpanFlow methods ***/
static inline HRESULT IHTMLSpanFlow_put_align(IHTMLSpanFlow* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT IHTMLSpanFlow_get_align(IHTMLSpanFlow* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLSpanFlow_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLSpanFlow dispinterface
 */
#ifndef __DispHTMLSpanFlow_DISPINTERFACE_DEFINED__
#define __DispHTMLSpanFlow_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLSpanFlow, 0x3050f544, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f544-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLSpanFlow : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLSpanFlow, 0x3050f544, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLSpanFlowVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLSpanFlow *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLSpanFlow *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLSpanFlow *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLSpanFlow *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLSpanFlow *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLSpanFlow *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLSpanFlow *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLSpanFlowVtbl;

interface DispHTMLSpanFlow {
    CONST_VTBL DispHTMLSpanFlowVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLSpanFlow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLSpanFlow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLSpanFlow_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLSpanFlow_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLSpanFlow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLSpanFlow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLSpanFlow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLSpanFlow_QueryInterface(DispHTMLSpanFlow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLSpanFlow_AddRef(DispHTMLSpanFlow* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLSpanFlow_Release(DispHTMLSpanFlow* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLSpanFlow_GetTypeInfoCount(DispHTMLSpanFlow* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLSpanFlow_GetTypeInfo(DispHTMLSpanFlow* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLSpanFlow_GetIDsOfNames(DispHTMLSpanFlow* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLSpanFlow_Invoke(DispHTMLSpanFlow* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLSpanFlow_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLSpanFlow coclass
 */

DEFINE_GUID(CLSID_HTMLSpanFlow, 0x3050f3e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3e6-98b5-11cf-bb82-00aa00bdce0b") HTMLSpanFlow;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLSpanFlow, 0x3050f3e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSpanSite;
/*****************************************************************************
 * IHTMLFrameSetElement interface
 */
#ifndef __IHTMLFrameSetElement_INTERFACE_DEFINED__
#define __IHTMLFrameSetElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameSetElement, 0x3050f319, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f319-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameSetElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_rows(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rows(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cols(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cols(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderColor(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderColor(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameBorder(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameBorder(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameSpacing(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameSpacing(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onunload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onunload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onbeforeunload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeunload(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameSetElement, 0x3050f319, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameSetElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameSetElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameSetElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameSetElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameSetElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameSetElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameSetElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameSetElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameSetElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_rows)(
        IHTMLFrameSetElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_rows)(
        IHTMLFrameSetElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_cols)(
        IHTMLFrameSetElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_cols)(
        IHTMLFrameSetElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLFrameSetElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLFrameSetElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_borderColor)(
        IHTMLFrameSetElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_borderColor)(
        IHTMLFrameSetElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_frameBorder)(
        IHTMLFrameSetElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_frameBorder)(
        IHTMLFrameSetElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_frameSpacing)(
        IHTMLFrameSetElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_frameSpacing)(
        IHTMLFrameSetElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_name)(
        IHTMLFrameSetElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLFrameSetElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLFrameSetElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLFrameSetElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onunload)(
        IHTMLFrameSetElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onunload)(
        IHTMLFrameSetElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onbeforeunload)(
        IHTMLFrameSetElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeunload)(
        IHTMLFrameSetElement *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLFrameSetElementVtbl;

interface IHTMLFrameSetElement {
    CONST_VTBL IHTMLFrameSetElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameSetElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameSetElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameSetElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameSetElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameSetElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameSetElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameSetElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameSetElement methods ***/
#define IHTMLFrameSetElement_put_rows(This,v) (This)->lpVtbl->put_rows(This,v)
#define IHTMLFrameSetElement_get_rows(This,p) (This)->lpVtbl->get_rows(This,p)
#define IHTMLFrameSetElement_put_cols(This,v) (This)->lpVtbl->put_cols(This,v)
#define IHTMLFrameSetElement_get_cols(This,p) (This)->lpVtbl->get_cols(This,p)
#define IHTMLFrameSetElement_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLFrameSetElement_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLFrameSetElement_put_borderColor(This,v) (This)->lpVtbl->put_borderColor(This,v)
#define IHTMLFrameSetElement_get_borderColor(This,p) (This)->lpVtbl->get_borderColor(This,p)
#define IHTMLFrameSetElement_put_frameBorder(This,v) (This)->lpVtbl->put_frameBorder(This,v)
#define IHTMLFrameSetElement_get_frameBorder(This,p) (This)->lpVtbl->get_frameBorder(This,p)
#define IHTMLFrameSetElement_put_frameSpacing(This,v) (This)->lpVtbl->put_frameSpacing(This,v)
#define IHTMLFrameSetElement_get_frameSpacing(This,p) (This)->lpVtbl->get_frameSpacing(This,p)
#define IHTMLFrameSetElement_put_name(This,v) (This)->lpVtbl->put_name(This,v)
#define IHTMLFrameSetElement_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLFrameSetElement_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLFrameSetElement_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLFrameSetElement_put_onunload(This,v) (This)->lpVtbl->put_onunload(This,v)
#define IHTMLFrameSetElement_get_onunload(This,p) (This)->lpVtbl->get_onunload(This,p)
#define IHTMLFrameSetElement_put_onbeforeunload(This,v) (This)->lpVtbl->put_onbeforeunload(This,v)
#define IHTMLFrameSetElement_get_onbeforeunload(This,p) (This)->lpVtbl->get_onbeforeunload(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameSetElement_QueryInterface(IHTMLFrameSetElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameSetElement_AddRef(IHTMLFrameSetElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameSetElement_Release(IHTMLFrameSetElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameSetElement_GetTypeInfoCount(IHTMLFrameSetElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameSetElement_GetTypeInfo(IHTMLFrameSetElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameSetElement_GetIDsOfNames(IHTMLFrameSetElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameSetElement_Invoke(IHTMLFrameSetElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameSetElement methods ***/
static inline HRESULT IHTMLFrameSetElement_put_rows(IHTMLFrameSetElement* This,BSTR v) {
    return This->lpVtbl->put_rows(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_rows(IHTMLFrameSetElement* This,BSTR *p) {
    return This->lpVtbl->get_rows(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_cols(IHTMLFrameSetElement* This,BSTR v) {
    return This->lpVtbl->put_cols(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_cols(IHTMLFrameSetElement* This,BSTR *p) {
    return This->lpVtbl->get_cols(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_border(IHTMLFrameSetElement* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_border(IHTMLFrameSetElement* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_borderColor(IHTMLFrameSetElement* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_borderColor(IHTMLFrameSetElement* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_frameBorder(IHTMLFrameSetElement* This,BSTR v) {
    return This->lpVtbl->put_frameBorder(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_frameBorder(IHTMLFrameSetElement* This,BSTR *p) {
    return This->lpVtbl->get_frameBorder(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_frameSpacing(IHTMLFrameSetElement* This,VARIANT v) {
    return This->lpVtbl->put_frameSpacing(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_frameSpacing(IHTMLFrameSetElement* This,VARIANT *p) {
    return This->lpVtbl->get_frameSpacing(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_name(IHTMLFrameSetElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_name(IHTMLFrameSetElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_onload(IHTMLFrameSetElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_onload(IHTMLFrameSetElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_onunload(IHTMLFrameSetElement* This,VARIANT v) {
    return This->lpVtbl->put_onunload(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_onunload(IHTMLFrameSetElement* This,VARIANT *p) {
    return This->lpVtbl->get_onunload(This,p);
}
static inline HRESULT IHTMLFrameSetElement_put_onbeforeunload(IHTMLFrameSetElement* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeunload(This,v);
}
static inline HRESULT IHTMLFrameSetElement_get_onbeforeunload(IHTMLFrameSetElement* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeunload(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameSetElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFrameSetElement2 interface
 */
#ifndef __IHTMLFrameSetElement2_INTERFACE_DEFINED__
#define __IHTMLFrameSetElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameSetElement2, 0x3050f5c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5c6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameSetElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onbeforeprint(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onbeforeprint(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onafterprint(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onafterprint(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameSetElement2, 0x3050f5c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameSetElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameSetElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameSetElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameSetElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameSetElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameSetElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameSetElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameSetElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameSetElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onbeforeprint)(
        IHTMLFrameSetElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onbeforeprint)(
        IHTMLFrameSetElement2 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onafterprint)(
        IHTMLFrameSetElement2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onafterprint)(
        IHTMLFrameSetElement2 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLFrameSetElement2Vtbl;

interface IHTMLFrameSetElement2 {
    CONST_VTBL IHTMLFrameSetElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameSetElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameSetElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameSetElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameSetElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameSetElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameSetElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameSetElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameSetElement2 methods ***/
#define IHTMLFrameSetElement2_put_onbeforeprint(This,v) (This)->lpVtbl->put_onbeforeprint(This,v)
#define IHTMLFrameSetElement2_get_onbeforeprint(This,p) (This)->lpVtbl->get_onbeforeprint(This,p)
#define IHTMLFrameSetElement2_put_onafterprint(This,v) (This)->lpVtbl->put_onafterprint(This,v)
#define IHTMLFrameSetElement2_get_onafterprint(This,p) (This)->lpVtbl->get_onafterprint(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameSetElement2_QueryInterface(IHTMLFrameSetElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameSetElement2_AddRef(IHTMLFrameSetElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameSetElement2_Release(IHTMLFrameSetElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameSetElement2_GetTypeInfoCount(IHTMLFrameSetElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameSetElement2_GetTypeInfo(IHTMLFrameSetElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameSetElement2_GetIDsOfNames(IHTMLFrameSetElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameSetElement2_Invoke(IHTMLFrameSetElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameSetElement2 methods ***/
static inline HRESULT IHTMLFrameSetElement2_put_onbeforeprint(IHTMLFrameSetElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeprint(This,v);
}
static inline HRESULT IHTMLFrameSetElement2_get_onbeforeprint(IHTMLFrameSetElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeprint(This,p);
}
static inline HRESULT IHTMLFrameSetElement2_put_onafterprint(IHTMLFrameSetElement2* This,VARIANT v) {
    return This->lpVtbl->put_onafterprint(This,v);
}
static inline HRESULT IHTMLFrameSetElement2_get_onafterprint(IHTMLFrameSetElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onafterprint(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameSetElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFrameSetElement3 interface
 */
#ifndef __IHTMLFrameSetElement3_INTERFACE_DEFINED__
#define __IHTMLFrameSetElement3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFrameSetElement3, 0x30510796, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510796-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFrameSetElement3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_onhashchange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onhashchange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onmessage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onmessage(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onoffline(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onoffline(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ononline(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ononline(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onstorage(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onstorage(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFrameSetElement3, 0x30510796, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFrameSetElement3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFrameSetElement3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFrameSetElement3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFrameSetElement3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFrameSetElement3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFrameSetElement3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFrameSetElement3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFrameSetElement3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFrameSetElement3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_onhashchange)(
        IHTMLFrameSetElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onhashchange)(
        IHTMLFrameSetElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onmessage)(
        IHTMLFrameSetElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onmessage)(
        IHTMLFrameSetElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onoffline)(
        IHTMLFrameSetElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onoffline)(
        IHTMLFrameSetElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ononline)(
        IHTMLFrameSetElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ononline)(
        IHTMLFrameSetElement3 *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onstorage)(
        IHTMLFrameSetElement3 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onstorage)(
        IHTMLFrameSetElement3 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLFrameSetElement3Vtbl;

interface IHTMLFrameSetElement3 {
    CONST_VTBL IHTMLFrameSetElement3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFrameSetElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFrameSetElement3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFrameSetElement3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFrameSetElement3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFrameSetElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFrameSetElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFrameSetElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFrameSetElement3 methods ***/
#define IHTMLFrameSetElement3_put_onhashchange(This,v) (This)->lpVtbl->put_onhashchange(This,v)
#define IHTMLFrameSetElement3_get_onhashchange(This,p) (This)->lpVtbl->get_onhashchange(This,p)
#define IHTMLFrameSetElement3_put_onmessage(This,v) (This)->lpVtbl->put_onmessage(This,v)
#define IHTMLFrameSetElement3_get_onmessage(This,p) (This)->lpVtbl->get_onmessage(This,p)
#define IHTMLFrameSetElement3_put_onoffline(This,v) (This)->lpVtbl->put_onoffline(This,v)
#define IHTMLFrameSetElement3_get_onoffline(This,p) (This)->lpVtbl->get_onoffline(This,p)
#define IHTMLFrameSetElement3_put_ononline(This,v) (This)->lpVtbl->put_ononline(This,v)
#define IHTMLFrameSetElement3_get_ononline(This,p) (This)->lpVtbl->get_ononline(This,p)
#define IHTMLFrameSetElement3_put_onstorage(This,v) (This)->lpVtbl->put_onstorage(This,v)
#define IHTMLFrameSetElement3_get_onstorage(This,p) (This)->lpVtbl->get_onstorage(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFrameSetElement3_QueryInterface(IHTMLFrameSetElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFrameSetElement3_AddRef(IHTMLFrameSetElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFrameSetElement3_Release(IHTMLFrameSetElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFrameSetElement3_GetTypeInfoCount(IHTMLFrameSetElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFrameSetElement3_GetTypeInfo(IHTMLFrameSetElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFrameSetElement3_GetIDsOfNames(IHTMLFrameSetElement3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFrameSetElement3_Invoke(IHTMLFrameSetElement3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFrameSetElement3 methods ***/
static inline HRESULT IHTMLFrameSetElement3_put_onhashchange(IHTMLFrameSetElement3* This,VARIANT v) {
    return This->lpVtbl->put_onhashchange(This,v);
}
static inline HRESULT IHTMLFrameSetElement3_get_onhashchange(IHTMLFrameSetElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onhashchange(This,p);
}
static inline HRESULT IHTMLFrameSetElement3_put_onmessage(IHTMLFrameSetElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmessage(This,v);
}
static inline HRESULT IHTMLFrameSetElement3_get_onmessage(IHTMLFrameSetElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmessage(This,p);
}
static inline HRESULT IHTMLFrameSetElement3_put_onoffline(IHTMLFrameSetElement3* This,VARIANT v) {
    return This->lpVtbl->put_onoffline(This,v);
}
static inline HRESULT IHTMLFrameSetElement3_get_onoffline(IHTMLFrameSetElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onoffline(This,p);
}
static inline HRESULT IHTMLFrameSetElement3_put_ononline(IHTMLFrameSetElement3* This,VARIANT v) {
    return This->lpVtbl->put_ononline(This,v);
}
static inline HRESULT IHTMLFrameSetElement3_get_ononline(IHTMLFrameSetElement3* This,VARIANT *p) {
    return This->lpVtbl->get_ononline(This,p);
}
static inline HRESULT IHTMLFrameSetElement3_put_onstorage(IHTMLFrameSetElement3* This,VARIANT v) {
    return This->lpVtbl->put_onstorage(This,v);
}
static inline HRESULT IHTMLFrameSetElement3_get_onstorage(IHTMLFrameSetElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onstorage(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameSetElement3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLFrameSetSite dispinterface
 */
#ifndef __DispHTMLFrameSetSite_DISPINTERFACE_DEFINED__
#define __DispHTMLFrameSetSite_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLFrameSetSite, 0x3050f514, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f514-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLFrameSetSite : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLFrameSetSite, 0x3050f514, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLFrameSetSiteVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLFrameSetSite *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLFrameSetSite *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLFrameSetSite *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLFrameSetSite *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLFrameSetSite *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLFrameSetSite *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLFrameSetSite *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLFrameSetSiteVtbl;

interface DispHTMLFrameSetSite {
    CONST_VTBL DispHTMLFrameSetSiteVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLFrameSetSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLFrameSetSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLFrameSetSite_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLFrameSetSite_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLFrameSetSite_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLFrameSetSite_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLFrameSetSite_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLFrameSetSite_QueryInterface(DispHTMLFrameSetSite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLFrameSetSite_AddRef(DispHTMLFrameSetSite* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLFrameSetSite_Release(DispHTMLFrameSetSite* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLFrameSetSite_GetTypeInfoCount(DispHTMLFrameSetSite* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLFrameSetSite_GetTypeInfo(DispHTMLFrameSetSite* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLFrameSetSite_GetIDsOfNames(DispHTMLFrameSetSite* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLFrameSetSite_Invoke(DispHTMLFrameSetSite* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLFrameSetSite_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLFrameSetSite coclass
 */

DEFINE_GUID(CLSID_HTMLFrameSetSite, 0x3050f31a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f31a-98b5-11cf-bb82-00aa00bdce0b") HTMLFrameSetSite;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLFrameSetSite, 0x3050f31a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFrameSetSite;
/*****************************************************************************
 * IHTMLBGsound interface
 */
#ifndef __IHTMLBGsound_INTERFACE_DEFINED__
#define __IHTMLBGsound_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLBGsound, 0x3050f369, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f369-98b5-11cf-bb82-00aa00bdce0b")
IHTMLBGsound : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_loop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_volume(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_volume(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_balance(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_balance(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLBGsound, 0x3050f369, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLBGsoundVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLBGsound *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLBGsound *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLBGsound *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLBGsound *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLBGsound *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLBGsound *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLBGsound *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLBGsound methods ***/
    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLBGsound *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLBGsound *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_loop)(
        IHTMLBGsound *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_loop)(
        IHTMLBGsound *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_volume)(
        IHTMLBGsound *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_volume)(
        IHTMLBGsound *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_balance)(
        IHTMLBGsound *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_balance)(
        IHTMLBGsound *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLBGsoundVtbl;

interface IHTMLBGsound {
    CONST_VTBL IHTMLBGsoundVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLBGsound_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLBGsound_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLBGsound_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLBGsound_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLBGsound_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLBGsound_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLBGsound_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLBGsound methods ***/
#define IHTMLBGsound_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLBGsound_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLBGsound_put_loop(This,v) (This)->lpVtbl->put_loop(This,v)
#define IHTMLBGsound_get_loop(This,p) (This)->lpVtbl->get_loop(This,p)
#define IHTMLBGsound_put_volume(This,v) (This)->lpVtbl->put_volume(This,v)
#define IHTMLBGsound_get_volume(This,p) (This)->lpVtbl->get_volume(This,p)
#define IHTMLBGsound_put_balance(This,v) (This)->lpVtbl->put_balance(This,v)
#define IHTMLBGsound_get_balance(This,p) (This)->lpVtbl->get_balance(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLBGsound_QueryInterface(IHTMLBGsound* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLBGsound_AddRef(IHTMLBGsound* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLBGsound_Release(IHTMLBGsound* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLBGsound_GetTypeInfoCount(IHTMLBGsound* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLBGsound_GetTypeInfo(IHTMLBGsound* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLBGsound_GetIDsOfNames(IHTMLBGsound* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLBGsound_Invoke(IHTMLBGsound* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLBGsound methods ***/
static inline HRESULT IHTMLBGsound_put_src(IHTMLBGsound* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLBGsound_get_src(IHTMLBGsound* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLBGsound_put_loop(IHTMLBGsound* This,VARIANT v) {
    return This->lpVtbl->put_loop(This,v);
}
static inline HRESULT IHTMLBGsound_get_loop(IHTMLBGsound* This,VARIANT *p) {
    return This->lpVtbl->get_loop(This,p);
}
static inline HRESULT IHTMLBGsound_put_volume(IHTMLBGsound* This,VARIANT v) {
    return This->lpVtbl->put_volume(This,v);
}
static inline HRESULT IHTMLBGsound_get_volume(IHTMLBGsound* This,VARIANT *p) {
    return This->lpVtbl->get_volume(This,p);
}
static inline HRESULT IHTMLBGsound_put_balance(IHTMLBGsound* This,VARIANT v) {
    return This->lpVtbl->put_balance(This,v);
}
static inline HRESULT IHTMLBGsound_get_balance(IHTMLBGsound* This,VARIANT *p) {
    return This->lpVtbl->get_balance(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBGsound_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLBGsound dispinterface
 */
#ifndef __DispHTMLBGsound_DISPINTERFACE_DEFINED__
#define __DispHTMLBGsound_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLBGsound, 0x3050f53c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f53c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLBGsound : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLBGsound, 0x3050f53c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLBGsoundVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLBGsound *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLBGsound *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLBGsound *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLBGsound *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLBGsound *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLBGsound *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLBGsound *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLBGsoundVtbl;

interface DispHTMLBGsound {
    CONST_VTBL DispHTMLBGsoundVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLBGsound_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLBGsound_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLBGsound_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLBGsound_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLBGsound_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLBGsound_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLBGsound_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLBGsound_QueryInterface(DispHTMLBGsound* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLBGsound_AddRef(DispHTMLBGsound* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLBGsound_Release(DispHTMLBGsound* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLBGsound_GetTypeInfoCount(DispHTMLBGsound* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLBGsound_GetTypeInfo(DispHTMLBGsound* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLBGsound_GetIDsOfNames(DispHTMLBGsound* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLBGsound_Invoke(DispHTMLBGsound* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLBGsound_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLBGsound coclass
 */

DEFINE_GUID(CLSID_HTMLBGsound, 0x3050f370, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f370-98b5-11cf-bb82-00aa00bdce0b") HTMLBGsound;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLBGsound, 0x3050f370, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CBGsound;
/*****************************************************************************
 * IHTMLFontNamesCollection interface
 */
#ifndef __IHTMLFontNamesCollection_INTERFACE_DEFINED__
#define __IHTMLFontNamesCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFontNamesCollection, 0x3050f376, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f376-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFontNamesCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        BSTR *pBstr) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFontNamesCollection, 0x3050f376, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFontNamesCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFontNamesCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFontNamesCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFontNamesCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFontNamesCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFontNamesCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFontNamesCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFontNamesCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFontNamesCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLFontNamesCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLFontNamesCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLFontNamesCollection *This,
        LONG index,
        BSTR *pBstr);

    END_INTERFACE
} IHTMLFontNamesCollectionVtbl;

interface IHTMLFontNamesCollection {
    CONST_VTBL IHTMLFontNamesCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFontNamesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFontNamesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFontNamesCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFontNamesCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFontNamesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFontNamesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFontNamesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFontNamesCollection methods ***/
#define IHTMLFontNamesCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLFontNamesCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLFontNamesCollection_item(This,index,pBstr) (This)->lpVtbl->item(This,index,pBstr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFontNamesCollection_QueryInterface(IHTMLFontNamesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFontNamesCollection_AddRef(IHTMLFontNamesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFontNamesCollection_Release(IHTMLFontNamesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFontNamesCollection_GetTypeInfoCount(IHTMLFontNamesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFontNamesCollection_GetTypeInfo(IHTMLFontNamesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFontNamesCollection_GetIDsOfNames(IHTMLFontNamesCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFontNamesCollection_Invoke(IHTMLFontNamesCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFontNamesCollection methods ***/
static inline HRESULT IHTMLFontNamesCollection_get_length(IHTMLFontNamesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLFontNamesCollection_get__newEnum(IHTMLFontNamesCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLFontNamesCollection_item(IHTMLFontNamesCollection* This,LONG index,BSTR *pBstr) {
    return This->lpVtbl->item(This,index,pBstr);
}
#endif
#endif

#endif


#endif  /* __IHTMLFontNamesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLFontSizesCollection interface
 */
#ifndef __IHTMLFontSizesCollection_INTERFACE_DEFINED__
#define __IHTMLFontSizesCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLFontSizesCollection, 0x3050f377, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f377-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFontSizesCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_forFont(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        LONG *plSize) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLFontSizesCollection, 0x3050f377, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLFontSizesCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLFontSizesCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLFontSizesCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLFontSizesCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLFontSizesCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLFontSizesCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLFontSizesCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLFontSizesCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLFontSizesCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLFontSizesCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLFontSizesCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *get_forFont)(
        IHTMLFontSizesCollection *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLFontSizesCollection *This,
        LONG index,
        LONG *plSize);

    END_INTERFACE
} IHTMLFontSizesCollectionVtbl;

interface IHTMLFontSizesCollection {
    CONST_VTBL IHTMLFontSizesCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLFontSizesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLFontSizesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLFontSizesCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLFontSizesCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLFontSizesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLFontSizesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLFontSizesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLFontSizesCollection methods ***/
#define IHTMLFontSizesCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLFontSizesCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLFontSizesCollection_get_forFont(This,p) (This)->lpVtbl->get_forFont(This,p)
#define IHTMLFontSizesCollection_item(This,index,plSize) (This)->lpVtbl->item(This,index,plSize)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLFontSizesCollection_QueryInterface(IHTMLFontSizesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLFontSizesCollection_AddRef(IHTMLFontSizesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLFontSizesCollection_Release(IHTMLFontSizesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLFontSizesCollection_GetTypeInfoCount(IHTMLFontSizesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLFontSizesCollection_GetTypeInfo(IHTMLFontSizesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLFontSizesCollection_GetIDsOfNames(IHTMLFontSizesCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLFontSizesCollection_Invoke(IHTMLFontSizesCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLFontSizesCollection methods ***/
static inline HRESULT IHTMLFontSizesCollection_get_length(IHTMLFontSizesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLFontSizesCollection_get__newEnum(IHTMLFontSizesCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLFontSizesCollection_get_forFont(IHTMLFontSizesCollection* This,BSTR *p) {
    return This->lpVtbl->get_forFont(This,p);
}
static inline HRESULT IHTMLFontSizesCollection_item(IHTMLFontSizesCollection* This,LONG index,LONG *plSize) {
    return This->lpVtbl->item(This,index,plSize);
}
#endif
#endif

#endif


#endif  /* __IHTMLFontSizesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLOptionsHolder interface
 */
#ifndef __IHTMLOptionsHolder_INTERFACE_DEFINED__
#define __IHTMLOptionsHolder_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLOptionsHolder, 0x3050f378, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f378-98b5-11cf-bb82-00aa00bdce0b")
IHTMLOptionsHolder : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_document(
        IHTMLDocument2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fonts(
        IHTMLFontNamesCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_execArg(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_execArg(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_errorLine(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_errorLine(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_errorCharacter(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_errorCharacter(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_errorCode(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_errorCode(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_errorMessage(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_errorMessage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_errorDebug(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_errorDebug(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unsecuredWindowOfDocument(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_findText(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_findText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_anythingAfterFrameset(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_anythingAfterFrameset(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE sizes(
        BSTR fontName,
        IHTMLFontSizesCollection **pSizesCollection) = 0;

    virtual HRESULT STDMETHODCALLTYPE openfiledlg(
        VARIANT initFile,
        VARIANT initDir,
        VARIANT filter,
        VARIANT title,
        BSTR *pathName) = 0;

    virtual HRESULT STDMETHODCALLTYPE savefiledlg(
        VARIANT initFile,
        VARIANT initDir,
        VARIANT filter,
        VARIANT title,
        BSTR *pathName) = 0;

    virtual HRESULT STDMETHODCALLTYPE choosecolordlg(
        VARIANT initColor,
        LONG *rgbColor) = 0;

    virtual HRESULT STDMETHODCALLTYPE showSecurityInfo(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE isApartmentModel(
        IHTMLObjectElement *object,
        VARIANT_BOOL *fApartment) = 0;

    virtual HRESULT STDMETHODCALLTYPE getCharset(
        BSTR fontName,
        LONG *charset) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_secureConnectionInfo(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLOptionsHolder, 0x3050f378, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLOptionsHolderVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLOptionsHolder *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLOptionsHolder *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLOptionsHolder *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLOptionsHolder *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLOptionsHolder *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLOptionsHolder *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLOptionsHolder *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLOptionsHolder methods ***/
    HRESULT (STDMETHODCALLTYPE *get_document)(
        IHTMLOptionsHolder *This,
        IHTMLDocument2 **p);

    HRESULT (STDMETHODCALLTYPE *get_fonts)(
        IHTMLOptionsHolder *This,
        IHTMLFontNamesCollection **p);

    HRESULT (STDMETHODCALLTYPE *put_execArg)(
        IHTMLOptionsHolder *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_execArg)(
        IHTMLOptionsHolder *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_errorLine)(
        IHTMLOptionsHolder *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_errorLine)(
        IHTMLOptionsHolder *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_errorCharacter)(
        IHTMLOptionsHolder *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_errorCharacter)(
        IHTMLOptionsHolder *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_errorCode)(
        IHTMLOptionsHolder *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_errorCode)(
        IHTMLOptionsHolder *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_errorMessage)(
        IHTMLOptionsHolder *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_errorMessage)(
        IHTMLOptionsHolder *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_errorDebug)(
        IHTMLOptionsHolder *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_errorDebug)(
        IHTMLOptionsHolder *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_unsecuredWindowOfDocument)(
        IHTMLOptionsHolder *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *put_findText)(
        IHTMLOptionsHolder *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_findText)(
        IHTMLOptionsHolder *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_anythingAfterFrameset)(
        IHTMLOptionsHolder *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_anythingAfterFrameset)(
        IHTMLOptionsHolder *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *sizes)(
        IHTMLOptionsHolder *This,
        BSTR fontName,
        IHTMLFontSizesCollection **pSizesCollection);

    HRESULT (STDMETHODCALLTYPE *openfiledlg)(
        IHTMLOptionsHolder *This,
        VARIANT initFile,
        VARIANT initDir,
        VARIANT filter,
        VARIANT title,
        BSTR *pathName);

    HRESULT (STDMETHODCALLTYPE *savefiledlg)(
        IHTMLOptionsHolder *This,
        VARIANT initFile,
        VARIANT initDir,
        VARIANT filter,
        VARIANT title,
        BSTR *pathName);

    HRESULT (STDMETHODCALLTYPE *choosecolordlg)(
        IHTMLOptionsHolder *This,
        VARIANT initColor,
        LONG *rgbColor);

    HRESULT (STDMETHODCALLTYPE *showSecurityInfo)(
        IHTMLOptionsHolder *This);

    HRESULT (STDMETHODCALLTYPE *isApartmentModel)(
        IHTMLOptionsHolder *This,
        IHTMLObjectElement *object,
        VARIANT_BOOL *fApartment);

    HRESULT (STDMETHODCALLTYPE *getCharset)(
        IHTMLOptionsHolder *This,
        BSTR fontName,
        LONG *charset);

    HRESULT (STDMETHODCALLTYPE *get_secureConnectionInfo)(
        IHTMLOptionsHolder *This,
        BSTR *p);

    END_INTERFACE
} IHTMLOptionsHolderVtbl;

interface IHTMLOptionsHolder {
    CONST_VTBL IHTMLOptionsHolderVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLOptionsHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLOptionsHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLOptionsHolder_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLOptionsHolder_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLOptionsHolder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLOptionsHolder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLOptionsHolder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLOptionsHolder methods ***/
#define IHTMLOptionsHolder_get_document(This,p) (This)->lpVtbl->get_document(This,p)
#define IHTMLOptionsHolder_get_fonts(This,p) (This)->lpVtbl->get_fonts(This,p)
#define IHTMLOptionsHolder_put_execArg(This,v) (This)->lpVtbl->put_execArg(This,v)
#define IHTMLOptionsHolder_get_execArg(This,p) (This)->lpVtbl->get_execArg(This,p)
#define IHTMLOptionsHolder_put_errorLine(This,v) (This)->lpVtbl->put_errorLine(This,v)
#define IHTMLOptionsHolder_get_errorLine(This,p) (This)->lpVtbl->get_errorLine(This,p)
#define IHTMLOptionsHolder_put_errorCharacter(This,v) (This)->lpVtbl->put_errorCharacter(This,v)
#define IHTMLOptionsHolder_get_errorCharacter(This,p) (This)->lpVtbl->get_errorCharacter(This,p)
#define IHTMLOptionsHolder_put_errorCode(This,v) (This)->lpVtbl->put_errorCode(This,v)
#define IHTMLOptionsHolder_get_errorCode(This,p) (This)->lpVtbl->get_errorCode(This,p)
#define IHTMLOptionsHolder_put_errorMessage(This,v) (This)->lpVtbl->put_errorMessage(This,v)
#define IHTMLOptionsHolder_get_errorMessage(This,p) (This)->lpVtbl->get_errorMessage(This,p)
#define IHTMLOptionsHolder_put_errorDebug(This,v) (This)->lpVtbl->put_errorDebug(This,v)
#define IHTMLOptionsHolder_get_errorDebug(This,p) (This)->lpVtbl->get_errorDebug(This,p)
#define IHTMLOptionsHolder_get_unsecuredWindowOfDocument(This,p) (This)->lpVtbl->get_unsecuredWindowOfDocument(This,p)
#define IHTMLOptionsHolder_put_findText(This,v) (This)->lpVtbl->put_findText(This,v)
#define IHTMLOptionsHolder_get_findText(This,p) (This)->lpVtbl->get_findText(This,p)
#define IHTMLOptionsHolder_put_anythingAfterFrameset(This,v) (This)->lpVtbl->put_anythingAfterFrameset(This,v)
#define IHTMLOptionsHolder_get_anythingAfterFrameset(This,p) (This)->lpVtbl->get_anythingAfterFrameset(This,p)
#define IHTMLOptionsHolder_sizes(This,fontName,pSizesCollection) (This)->lpVtbl->sizes(This,fontName,pSizesCollection)
#define IHTMLOptionsHolder_openfiledlg(This,initFile,initDir,filter,title,pathName) (This)->lpVtbl->openfiledlg(This,initFile,initDir,filter,title,pathName)
#define IHTMLOptionsHolder_savefiledlg(This,initFile,initDir,filter,title,pathName) (This)->lpVtbl->savefiledlg(This,initFile,initDir,filter,title,pathName)
#define IHTMLOptionsHolder_choosecolordlg(This,initColor,rgbColor) (This)->lpVtbl->choosecolordlg(This,initColor,rgbColor)
#define IHTMLOptionsHolder_showSecurityInfo(This) (This)->lpVtbl->showSecurityInfo(This)
#define IHTMLOptionsHolder_isApartmentModel(This,object,fApartment) (This)->lpVtbl->isApartmentModel(This,object,fApartment)
#define IHTMLOptionsHolder_getCharset(This,fontName,charset) (This)->lpVtbl->getCharset(This,fontName,charset)
#define IHTMLOptionsHolder_get_secureConnectionInfo(This,p) (This)->lpVtbl->get_secureConnectionInfo(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLOptionsHolder_QueryInterface(IHTMLOptionsHolder* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLOptionsHolder_AddRef(IHTMLOptionsHolder* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLOptionsHolder_Release(IHTMLOptionsHolder* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLOptionsHolder_GetTypeInfoCount(IHTMLOptionsHolder* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLOptionsHolder_GetTypeInfo(IHTMLOptionsHolder* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLOptionsHolder_GetIDsOfNames(IHTMLOptionsHolder* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLOptionsHolder_Invoke(IHTMLOptionsHolder* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLOptionsHolder methods ***/
static inline HRESULT IHTMLOptionsHolder_get_document(IHTMLOptionsHolder* This,IHTMLDocument2 **p) {
    return This->lpVtbl->get_document(This,p);
}
static inline HRESULT IHTMLOptionsHolder_get_fonts(IHTMLOptionsHolder* This,IHTMLFontNamesCollection **p) {
    return This->lpVtbl->get_fonts(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_execArg(IHTMLOptionsHolder* This,VARIANT v) {
    return This->lpVtbl->put_execArg(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_execArg(IHTMLOptionsHolder* This,VARIANT *p) {
    return This->lpVtbl->get_execArg(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_errorLine(IHTMLOptionsHolder* This,LONG v) {
    return This->lpVtbl->put_errorLine(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_errorLine(IHTMLOptionsHolder* This,LONG *p) {
    return This->lpVtbl->get_errorLine(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_errorCharacter(IHTMLOptionsHolder* This,LONG v) {
    return This->lpVtbl->put_errorCharacter(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_errorCharacter(IHTMLOptionsHolder* This,LONG *p) {
    return This->lpVtbl->get_errorCharacter(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_errorCode(IHTMLOptionsHolder* This,LONG v) {
    return This->lpVtbl->put_errorCode(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_errorCode(IHTMLOptionsHolder* This,LONG *p) {
    return This->lpVtbl->get_errorCode(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_errorMessage(IHTMLOptionsHolder* This,BSTR v) {
    return This->lpVtbl->put_errorMessage(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_errorMessage(IHTMLOptionsHolder* This,BSTR *p) {
    return This->lpVtbl->get_errorMessage(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_errorDebug(IHTMLOptionsHolder* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_errorDebug(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_errorDebug(IHTMLOptionsHolder* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_errorDebug(This,p);
}
static inline HRESULT IHTMLOptionsHolder_get_unsecuredWindowOfDocument(IHTMLOptionsHolder* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_unsecuredWindowOfDocument(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_findText(IHTMLOptionsHolder* This,BSTR v) {
    return This->lpVtbl->put_findText(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_findText(IHTMLOptionsHolder* This,BSTR *p) {
    return This->lpVtbl->get_findText(This,p);
}
static inline HRESULT IHTMLOptionsHolder_put_anythingAfterFrameset(IHTMLOptionsHolder* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_anythingAfterFrameset(This,v);
}
static inline HRESULT IHTMLOptionsHolder_get_anythingAfterFrameset(IHTMLOptionsHolder* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_anythingAfterFrameset(This,p);
}
static inline HRESULT IHTMLOptionsHolder_sizes(IHTMLOptionsHolder* This,BSTR fontName,IHTMLFontSizesCollection **pSizesCollection) {
    return This->lpVtbl->sizes(This,fontName,pSizesCollection);
}
static inline HRESULT IHTMLOptionsHolder_openfiledlg(IHTMLOptionsHolder* This,VARIANT initFile,VARIANT initDir,VARIANT filter,VARIANT title,BSTR *pathName) {
    return This->lpVtbl->openfiledlg(This,initFile,initDir,filter,title,pathName);
}
static inline HRESULT IHTMLOptionsHolder_savefiledlg(IHTMLOptionsHolder* This,VARIANT initFile,VARIANT initDir,VARIANT filter,VARIANT title,BSTR *pathName) {
    return This->lpVtbl->savefiledlg(This,initFile,initDir,filter,title,pathName);
}
static inline HRESULT IHTMLOptionsHolder_choosecolordlg(IHTMLOptionsHolder* This,VARIANT initColor,LONG *rgbColor) {
    return This->lpVtbl->choosecolordlg(This,initColor,rgbColor);
}
static inline HRESULT IHTMLOptionsHolder_showSecurityInfo(IHTMLOptionsHolder* This) {
    return This->lpVtbl->showSecurityInfo(This);
}
static inline HRESULT IHTMLOptionsHolder_isApartmentModel(IHTMLOptionsHolder* This,IHTMLObjectElement *object,VARIANT_BOOL *fApartment) {
    return This->lpVtbl->isApartmentModel(This,object,fApartment);
}
static inline HRESULT IHTMLOptionsHolder_getCharset(IHTMLOptionsHolder* This,BSTR fontName,LONG *charset) {
    return This->lpVtbl->getCharset(This,fontName,charset);
}
static inline HRESULT IHTMLOptionsHolder_get_secureConnectionInfo(IHTMLOptionsHolder* This,BSTR *p) {
    return This->lpVtbl->get_secureConnectionInfo(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLOptionsHolder_INTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleElementEvents2 dispinterface
 */
#ifndef __HTMLStyleElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLStyleElementEvents2_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLStyleElementEvents2, 0x3050f615, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f615-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleElementEvents2 : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleElementEvents2, 0x3050f615, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLStyleElementEvents2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLStyleElementEvents2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLStyleElementEvents2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLStyleElementEvents2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLStyleElementEvents2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLStyleElementEvents2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLStyleElementEvents2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLStyleElementEvents2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLStyleElementEvents2Vtbl;

interface HTMLStyleElementEvents2 {
    CONST_VTBL HTMLStyleElementEvents2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLStyleElementEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLStyleElementEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLStyleElementEvents2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLStyleElementEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLStyleElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLStyleElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLStyleElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLStyleElementEvents2_QueryInterface(HTMLStyleElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLStyleElementEvents2_AddRef(HTMLStyleElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLStyleElementEvents2_Release(HTMLStyleElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLStyleElementEvents2_GetTypeInfoCount(HTMLStyleElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLStyleElementEvents2_GetTypeInfo(HTMLStyleElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLStyleElementEvents2_GetIDsOfNames(HTMLStyleElementEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLStyleElementEvents2_Invoke(HTMLStyleElementEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLStyleElementEvents2_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleElementEvents dispinterface
 */
#ifndef __HTMLStyleElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLStyleElementEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLStyleElementEvents, 0x3050f3cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3cb-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleElementEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleElementEvents, 0x3050f3cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLStyleElementEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLStyleElementEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLStyleElementEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLStyleElementEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLStyleElementEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLStyleElementEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLStyleElementEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLStyleElementEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLStyleElementEventsVtbl;

interface HTMLStyleElementEvents {
    CONST_VTBL HTMLStyleElementEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLStyleElementEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLStyleElementEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLStyleElementEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLStyleElementEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLStyleElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLStyleElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLStyleElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLStyleElementEvents_QueryInterface(HTMLStyleElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLStyleElementEvents_AddRef(HTMLStyleElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLStyleElementEvents_Release(HTMLStyleElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLStyleElementEvents_GetTypeInfoCount(HTMLStyleElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLStyleElementEvents_GetTypeInfo(HTMLStyleElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLStyleElementEvents_GetIDsOfNames(HTMLStyleElementEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLStyleElementEvents_Invoke(HTMLStyleElementEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLStyleElementEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleElement interface
 */
#ifndef __IHTMLStyleElement_INTERFACE_DEFINED__
#define __IHTMLStyleElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleElement, 0x3050f375, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f375-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_styleSheet(
        IHTMLStyleSheet **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleElement, 0x3050f375, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStyleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStyleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStyleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLStyleElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLStyleElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLStyleElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLStyleElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLStyleElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLStyleElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLStyleElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLStyleElement *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLStyleElement *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_styleSheet)(
        IHTMLStyleElement *This,
        IHTMLStyleSheet **p);

    HRESULT (STDMETHODCALLTYPE *put_disabled)(
        IHTMLStyleElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_disabled)(
        IHTMLStyleElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_media)(
        IHTMLStyleElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLStyleElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLStyleElementVtbl;

interface IHTMLStyleElement {
    CONST_VTBL IHTMLStyleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleElement methods ***/
#define IHTMLStyleElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLStyleElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLStyleElement_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLStyleElement_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLStyleElement_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLStyleElement_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLStyleElement_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLStyleElement_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLStyleElement_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLStyleElement_get_styleSheet(This,p) (This)->lpVtbl->get_styleSheet(This,p)
#define IHTMLStyleElement_put_disabled(This,v) (This)->lpVtbl->put_disabled(This,v)
#define IHTMLStyleElement_get_disabled(This,p) (This)->lpVtbl->get_disabled(This,p)
#define IHTMLStyleElement_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define IHTMLStyleElement_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleElement_QueryInterface(IHTMLStyleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleElement_AddRef(IHTMLStyleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleElement_Release(IHTMLStyleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleElement_GetTypeInfoCount(IHTMLStyleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleElement_GetTypeInfo(IHTMLStyleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleElement_GetIDsOfNames(IHTMLStyleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleElement_Invoke(IHTMLStyleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleElement methods ***/
static inline HRESULT IHTMLStyleElement_put_type(IHTMLStyleElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLStyleElement_get_type(IHTMLStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLStyleElement_get_readyState(IHTMLStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLStyleElement_put_onreadystatechange(IHTMLStyleElement* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLStyleElement_get_onreadystatechange(IHTMLStyleElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLStyleElement_put_onload(IHTMLStyleElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLStyleElement_get_onload(IHTMLStyleElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLStyleElement_put_onerror(IHTMLStyleElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLStyleElement_get_onerror(IHTMLStyleElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLStyleElement_get_styleSheet(IHTMLStyleElement* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_styleSheet(This,p);
}
static inline HRESULT IHTMLStyleElement_put_disabled(IHTMLStyleElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static inline HRESULT IHTMLStyleElement_get_disabled(IHTMLStyleElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static inline HRESULT IHTMLStyleElement_put_media(IHTMLStyleElement* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT IHTMLStyleElement_get_media(IHTMLStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleElement2 interface
 */
#ifndef __IHTMLStyleElement2_INTERFACE_DEFINED__
#define __IHTMLStyleElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleElement2, 0x3051072a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051072a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_sheet(
        IHTMLStyleSheet **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleElement2, 0x3051072a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStyleElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStyleElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStyleElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_sheet)(
        IHTMLStyleElement2 *This,
        IHTMLStyleSheet **p);

    END_INTERFACE
} IHTMLStyleElement2Vtbl;

interface IHTMLStyleElement2 {
    CONST_VTBL IHTMLStyleElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleElement2 methods ***/
#define IHTMLStyleElement2_get_sheet(This,p) (This)->lpVtbl->get_sheet(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleElement2_QueryInterface(IHTMLStyleElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleElement2_AddRef(IHTMLStyleElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleElement2_Release(IHTMLStyleElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleElement2_GetTypeInfoCount(IHTMLStyleElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleElement2_GetTypeInfo(IHTMLStyleElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleElement2_GetIDsOfNames(IHTMLStyleElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleElement2_Invoke(IHTMLStyleElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleElement2 methods ***/
static inline HRESULT IHTMLStyleElement2_get_sheet(IHTMLStyleElement2* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_sheet(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleElement dispinterface
 */
#ifndef __DispHTMLStyleElement_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleElement, 0x3050f511, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f511-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleElement, 0x3050f511, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLStyleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLStyleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLStyleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleElementVtbl;

interface DispHTMLStyleElement {
    CONST_VTBL DispHTMLStyleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleElement_QueryInterface(DispHTMLStyleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleElement_AddRef(DispHTMLStyleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleElement_Release(DispHTMLStyleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleElement_GetTypeInfoCount(DispHTMLStyleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleElement_GetTypeInfo(DispHTMLStyleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleElement_GetIDsOfNames(DispHTMLStyleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleElement_Invoke(DispHTMLStyleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleElement coclass
 */

DEFINE_GUID(CLSID_HTMLStyleElement, 0x3050f37d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f37d-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleElement, 0x3050f37d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStyleElement;
/*****************************************************************************
 * IHTMLStyleFontFace interface
 */
#ifndef __IHTMLStyleFontFace_INTERFACE_DEFINED__
#define __IHTMLStyleFontFace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleFontFace, 0x3050f3d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3d5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleFontFace : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_fontsrc(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontsrc(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleFontFace, 0x3050f3d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleFontFaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStyleFontFace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStyleFontFace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStyleFontFace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleFontFace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleFontFace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleFontFace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleFontFace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleFontFace methods ***/
    HRESULT (STDMETHODCALLTYPE *put_fontsrc)(
        IHTMLStyleFontFace *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_fontsrc)(
        IHTMLStyleFontFace *This,
        BSTR *p);

    END_INTERFACE
} IHTMLStyleFontFaceVtbl;

interface IHTMLStyleFontFace {
    CONST_VTBL IHTMLStyleFontFaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleFontFace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleFontFace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleFontFace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleFontFace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleFontFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleFontFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleFontFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleFontFace methods ***/
#define IHTMLStyleFontFace_put_fontsrc(This,v) (This)->lpVtbl->put_fontsrc(This,v)
#define IHTMLStyleFontFace_get_fontsrc(This,p) (This)->lpVtbl->get_fontsrc(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleFontFace_QueryInterface(IHTMLStyleFontFace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleFontFace_AddRef(IHTMLStyleFontFace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleFontFace_Release(IHTMLStyleFontFace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleFontFace_GetTypeInfoCount(IHTMLStyleFontFace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleFontFace_GetTypeInfo(IHTMLStyleFontFace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleFontFace_GetIDsOfNames(IHTMLStyleFontFace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleFontFace_Invoke(IHTMLStyleFontFace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleFontFace methods ***/
static inline HRESULT IHTMLStyleFontFace_put_fontsrc(IHTMLStyleFontFace* This,BSTR v) {
    return This->lpVtbl->put_fontsrc(This,v);
}
static inline HRESULT IHTMLStyleFontFace_get_fontsrc(IHTMLStyleFontFace* This,BSTR *p) {
    return This->lpVtbl->get_fontsrc(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleFontFace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStyleFontFace2 interface
 */
#ifndef __IHTMLStyleFontFace2_INTERFACE_DEFINED__
#define __IHTMLStyleFontFace2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleFontFace2, 0x305106ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106ec-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleFontFace2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_style(
        IHTMLRuleStyle **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleFontFace2, 0x305106ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleFontFace2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStyleFontFace2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStyleFontFace2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStyleFontFace2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleFontFace2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleFontFace2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleFontFace2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleFontFace2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleFontFace2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_style)(
        IHTMLStyleFontFace2 *This,
        IHTMLRuleStyle **p);

    END_INTERFACE
} IHTMLStyleFontFace2Vtbl;

interface IHTMLStyleFontFace2 {
    CONST_VTBL IHTMLStyleFontFace2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleFontFace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleFontFace2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleFontFace2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleFontFace2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleFontFace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleFontFace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleFontFace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleFontFace2 methods ***/
#define IHTMLStyleFontFace2_get_style(This,p) (This)->lpVtbl->get_style(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleFontFace2_QueryInterface(IHTMLStyleFontFace2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleFontFace2_AddRef(IHTMLStyleFontFace2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleFontFace2_Release(IHTMLStyleFontFace2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleFontFace2_GetTypeInfoCount(IHTMLStyleFontFace2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleFontFace2_GetTypeInfo(IHTMLStyleFontFace2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleFontFace2_GetIDsOfNames(IHTMLStyleFontFace2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleFontFace2_Invoke(IHTMLStyleFontFace2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleFontFace2 methods ***/
static inline HRESULT IHTMLStyleFontFace2_get_style(IHTMLStyleFontFace2* This,IHTMLRuleStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleFontFace2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleFontFace dispinterface
 */
#ifndef __DispHTMLStyleFontFace_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleFontFace_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleFontFace, 0x30590081, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590081-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleFontFace : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleFontFace, 0x30590081, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleFontFaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLStyleFontFace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLStyleFontFace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLStyleFontFace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleFontFace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleFontFace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleFontFace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleFontFace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleFontFaceVtbl;

interface DispHTMLStyleFontFace {
    CONST_VTBL DispHTMLStyleFontFaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleFontFace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleFontFace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleFontFace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleFontFace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleFontFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleFontFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleFontFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleFontFace_QueryInterface(DispHTMLStyleFontFace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleFontFace_AddRef(DispHTMLStyleFontFace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleFontFace_Release(DispHTMLStyleFontFace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleFontFace_GetTypeInfoCount(DispHTMLStyleFontFace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleFontFace_GetTypeInfo(DispHTMLStyleFontFace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleFontFace_GetIDsOfNames(DispHTMLStyleFontFace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleFontFace_Invoke(DispHTMLStyleFontFace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleFontFace_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleFontFace coclass
 */

DEFINE_GUID(CLSID_HTMLStyleFontFace, 0x3050f3d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f3d4-98b5-11cf-bb82-00aa00bdce0b") HTMLStyleFontFace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleFontFace, 0x3050f3d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CFontFace;
/*****************************************************************************
 * IHTMLXDomainRequest interface
 */
#ifndef __IHTMLXDomainRequest_INTERFACE_DEFINED__
#define __IHTMLXDomainRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLXDomainRequest, 0x30510454, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510454-98b5-11cf-bb82-00aa00bdce0b")
IHTMLXDomainRequest : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_responseText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_timeout(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_timeout(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_contentType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onprogress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onprogress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ontimeout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ontimeout(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onload(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onload(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE abort(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE open(
        BSTR bstrMethod,
        BSTR bstrUrl) = 0;

    virtual HRESULT STDMETHODCALLTYPE send(
        VARIANT varBody) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLXDomainRequest, 0x30510454, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLXDomainRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLXDomainRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLXDomainRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLXDomainRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLXDomainRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLXDomainRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLXDomainRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLXDomainRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLXDomainRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_responseText)(
        IHTMLXDomainRequest *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_timeout)(
        IHTMLXDomainRequest *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_timeout)(
        IHTMLXDomainRequest *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_contentType)(
        IHTMLXDomainRequest *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onprogress)(
        IHTMLXDomainRequest *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onprogress)(
        IHTMLXDomainRequest *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLXDomainRequest *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLXDomainRequest *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ontimeout)(
        IHTMLXDomainRequest *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ontimeout)(
        IHTMLXDomainRequest *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onload)(
        IHTMLXDomainRequest *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onload)(
        IHTMLXDomainRequest *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *abort)(
        IHTMLXDomainRequest *This);

    HRESULT (STDMETHODCALLTYPE *open)(
        IHTMLXDomainRequest *This,
        BSTR bstrMethod,
        BSTR bstrUrl);

    HRESULT (STDMETHODCALLTYPE *send)(
        IHTMLXDomainRequest *This,
        VARIANT varBody);

    END_INTERFACE
} IHTMLXDomainRequestVtbl;

interface IHTMLXDomainRequest {
    CONST_VTBL IHTMLXDomainRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLXDomainRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLXDomainRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLXDomainRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLXDomainRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLXDomainRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLXDomainRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLXDomainRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLXDomainRequest methods ***/
#define IHTMLXDomainRequest_get_responseText(This,p) (This)->lpVtbl->get_responseText(This,p)
#define IHTMLXDomainRequest_put_timeout(This,v) (This)->lpVtbl->put_timeout(This,v)
#define IHTMLXDomainRequest_get_timeout(This,p) (This)->lpVtbl->get_timeout(This,p)
#define IHTMLXDomainRequest_get_contentType(This,p) (This)->lpVtbl->get_contentType(This,p)
#define IHTMLXDomainRequest_put_onprogress(This,v) (This)->lpVtbl->put_onprogress(This,v)
#define IHTMLXDomainRequest_get_onprogress(This,p) (This)->lpVtbl->get_onprogress(This,p)
#define IHTMLXDomainRequest_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLXDomainRequest_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLXDomainRequest_put_ontimeout(This,v) (This)->lpVtbl->put_ontimeout(This,v)
#define IHTMLXDomainRequest_get_ontimeout(This,p) (This)->lpVtbl->get_ontimeout(This,p)
#define IHTMLXDomainRequest_put_onload(This,v) (This)->lpVtbl->put_onload(This,v)
#define IHTMLXDomainRequest_get_onload(This,p) (This)->lpVtbl->get_onload(This,p)
#define IHTMLXDomainRequest_abort(This) (This)->lpVtbl->abort(This)
#define IHTMLXDomainRequest_open(This,bstrMethod,bstrUrl) (This)->lpVtbl->open(This,bstrMethod,bstrUrl)
#define IHTMLXDomainRequest_send(This,varBody) (This)->lpVtbl->send(This,varBody)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLXDomainRequest_QueryInterface(IHTMLXDomainRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLXDomainRequest_AddRef(IHTMLXDomainRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLXDomainRequest_Release(IHTMLXDomainRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLXDomainRequest_GetTypeInfoCount(IHTMLXDomainRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLXDomainRequest_GetTypeInfo(IHTMLXDomainRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLXDomainRequest_GetIDsOfNames(IHTMLXDomainRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLXDomainRequest_Invoke(IHTMLXDomainRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLXDomainRequest methods ***/
static inline HRESULT IHTMLXDomainRequest_get_responseText(IHTMLXDomainRequest* This,BSTR *p) {
    return This->lpVtbl->get_responseText(This,p);
}
static inline HRESULT IHTMLXDomainRequest_put_timeout(IHTMLXDomainRequest* This,LONG v) {
    return This->lpVtbl->put_timeout(This,v);
}
static inline HRESULT IHTMLXDomainRequest_get_timeout(IHTMLXDomainRequest* This,LONG *p) {
    return This->lpVtbl->get_timeout(This,p);
}
static inline HRESULT IHTMLXDomainRequest_get_contentType(IHTMLXDomainRequest* This,BSTR *p) {
    return This->lpVtbl->get_contentType(This,p);
}
static inline HRESULT IHTMLXDomainRequest_put_onprogress(IHTMLXDomainRequest* This,VARIANT v) {
    return This->lpVtbl->put_onprogress(This,v);
}
static inline HRESULT IHTMLXDomainRequest_get_onprogress(IHTMLXDomainRequest* This,VARIANT *p) {
    return This->lpVtbl->get_onprogress(This,p);
}
static inline HRESULT IHTMLXDomainRequest_put_onerror(IHTMLXDomainRequest* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLXDomainRequest_get_onerror(IHTMLXDomainRequest* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLXDomainRequest_put_ontimeout(IHTMLXDomainRequest* This,VARIANT v) {
    return This->lpVtbl->put_ontimeout(This,v);
}
static inline HRESULT IHTMLXDomainRequest_get_ontimeout(IHTMLXDomainRequest* This,VARIANT *p) {
    return This->lpVtbl->get_ontimeout(This,p);
}
static inline HRESULT IHTMLXDomainRequest_put_onload(IHTMLXDomainRequest* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static inline HRESULT IHTMLXDomainRequest_get_onload(IHTMLXDomainRequest* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static inline HRESULT IHTMLXDomainRequest_abort(IHTMLXDomainRequest* This) {
    return This->lpVtbl->abort(This);
}
static inline HRESULT IHTMLXDomainRequest_open(IHTMLXDomainRequest* This,BSTR bstrMethod,BSTR bstrUrl) {
    return This->lpVtbl->open(This,bstrMethod,bstrUrl);
}
static inline HRESULT IHTMLXDomainRequest_send(IHTMLXDomainRequest* This,VARIANT varBody) {
    return This->lpVtbl->send(This,varBody);
}
#endif
#endif

#endif


#endif  /* __IHTMLXDomainRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLXDomainRequestFactory interface
 */
#ifndef __IHTMLXDomainRequestFactory_INTERFACE_DEFINED__
#define __IHTMLXDomainRequestFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLXDomainRequestFactory, 0x30510456, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510456-98b5-11cf-bb82-00aa00bdce0b")
IHTMLXDomainRequestFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE create(
        IHTMLXDomainRequest **a) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLXDomainRequestFactory, 0x30510456, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLXDomainRequestFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLXDomainRequestFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLXDomainRequestFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLXDomainRequestFactory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLXDomainRequestFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLXDomainRequestFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLXDomainRequestFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLXDomainRequestFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLXDomainRequestFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *create)(
        IHTMLXDomainRequestFactory *This,
        IHTMLXDomainRequest **a);

    END_INTERFACE
} IHTMLXDomainRequestFactoryVtbl;

interface IHTMLXDomainRequestFactory {
    CONST_VTBL IHTMLXDomainRequestFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLXDomainRequestFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLXDomainRequestFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLXDomainRequestFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLXDomainRequestFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLXDomainRequestFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLXDomainRequestFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLXDomainRequestFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLXDomainRequestFactory methods ***/
#define IHTMLXDomainRequestFactory_create(This,a) (This)->lpVtbl->create(This,a)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLXDomainRequestFactory_QueryInterface(IHTMLXDomainRequestFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLXDomainRequestFactory_AddRef(IHTMLXDomainRequestFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLXDomainRequestFactory_Release(IHTMLXDomainRequestFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLXDomainRequestFactory_GetTypeInfoCount(IHTMLXDomainRequestFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLXDomainRequestFactory_GetTypeInfo(IHTMLXDomainRequestFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLXDomainRequestFactory_GetIDsOfNames(IHTMLXDomainRequestFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLXDomainRequestFactory_Invoke(IHTMLXDomainRequestFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLXDomainRequestFactory methods ***/
static inline HRESULT IHTMLXDomainRequestFactory_create(IHTMLXDomainRequestFactory* This,IHTMLXDomainRequest **a) {
    return This->lpVtbl->create(This,a);
}
#endif
#endif

#endif


#endif  /* __IHTMLXDomainRequestFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispXDomainRequest dispinterface
 */
#ifndef __DispXDomainRequest_DISPINTERFACE_DEFINED__
#define __DispXDomainRequest_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispXDomainRequest, 0x3050f599, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f599-98b5-11cf-bb82-00aa00bdce0b")
DispXDomainRequest : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispXDomainRequest, 0x3050f599, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispXDomainRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispXDomainRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispXDomainRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispXDomainRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispXDomainRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispXDomainRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispXDomainRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispXDomainRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispXDomainRequestVtbl;

interface DispXDomainRequest {
    CONST_VTBL DispXDomainRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispXDomainRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispXDomainRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispXDomainRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispXDomainRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispXDomainRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispXDomainRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispXDomainRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispXDomainRequest_QueryInterface(DispXDomainRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispXDomainRequest_AddRef(DispXDomainRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispXDomainRequest_Release(DispXDomainRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispXDomainRequest_GetTypeInfoCount(DispXDomainRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispXDomainRequest_GetTypeInfo(DispXDomainRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispXDomainRequest_GetIDsOfNames(DispXDomainRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispXDomainRequest_Invoke(DispXDomainRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispXDomainRequest_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * XDomainRequest coclass
 */

DEFINE_GUID(CLSID_XDomainRequest, 0x30510455, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510455-98b5-11cf-bb82-00aa00bdce0b") XDomainRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(XDomainRequest, 0x30510455, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CXDomainRequest;
/*****************************************************************************
 * XDomainRequestFactory coclass
 */

DEFINE_GUID(CLSID_XDomainRequestFactory, 0x30510457, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510457-98b5-11cf-bb82-00aa00bdce0b") XDomainRequestFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(XDomainRequestFactory, 0x30510457, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CXDomainRequestFactory;
/*****************************************************************************
 * IHTMLStorage interface
 */
#ifndef __IHTMLStorage_INTERFACE_DEFINED__
#define __IHTMLStorage_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStorage, 0x30510474, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510474-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStorage : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_remainingSpace(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE key(
        LONG lIndex,
        BSTR *a) = 0;

    virtual HRESULT STDMETHODCALLTYPE getItem(
        BSTR bstrKey,
        VARIANT *a) = 0;

    virtual HRESULT STDMETHODCALLTYPE setItem(
        BSTR bstrKey,
        BSTR bstrValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeItem(
        BSTR bstrKey) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStorage, 0x30510474, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStorageVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStorage *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStorage *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStorage *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStorage *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStorage *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStorage *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStorage *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStorage methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLStorage *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_remainingSpace)(
        IHTMLStorage *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *key)(
        IHTMLStorage *This,
        LONG lIndex,
        BSTR *a);

    HRESULT (STDMETHODCALLTYPE *getItem)(
        IHTMLStorage *This,
        BSTR bstrKey,
        VARIANT *a);

    HRESULT (STDMETHODCALLTYPE *setItem)(
        IHTMLStorage *This,
        BSTR bstrKey,
        BSTR bstrValue);

    HRESULT (STDMETHODCALLTYPE *removeItem)(
        IHTMLStorage *This,
        BSTR bstrKey);

    HRESULT (STDMETHODCALLTYPE *clear)(
        IHTMLStorage *This);

    END_INTERFACE
} IHTMLStorageVtbl;

interface IHTMLStorage {
    CONST_VTBL IHTMLStorageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStorage_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStorage_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStorage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStorage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStorage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStorage methods ***/
#define IHTMLStorage_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLStorage_get_remainingSpace(This,p) (This)->lpVtbl->get_remainingSpace(This,p)
#define IHTMLStorage_key(This,lIndex,a) (This)->lpVtbl->key(This,lIndex,a)
#define IHTMLStorage_getItem(This,bstrKey,a) (This)->lpVtbl->getItem(This,bstrKey,a)
#define IHTMLStorage_setItem(This,bstrKey,bstrValue) (This)->lpVtbl->setItem(This,bstrKey,bstrValue)
#define IHTMLStorage_removeItem(This,bstrKey) (This)->lpVtbl->removeItem(This,bstrKey)
#define IHTMLStorage_clear(This) (This)->lpVtbl->clear(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStorage_QueryInterface(IHTMLStorage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStorage_AddRef(IHTMLStorage* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStorage_Release(IHTMLStorage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStorage_GetTypeInfoCount(IHTMLStorage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStorage_GetTypeInfo(IHTMLStorage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStorage_GetIDsOfNames(IHTMLStorage* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStorage_Invoke(IHTMLStorage* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStorage methods ***/
static inline HRESULT IHTMLStorage_get_length(IHTMLStorage* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLStorage_get_remainingSpace(IHTMLStorage* This,LONG *p) {
    return This->lpVtbl->get_remainingSpace(This,p);
}
static inline HRESULT IHTMLStorage_key(IHTMLStorage* This,LONG lIndex,BSTR *a) {
    return This->lpVtbl->key(This,lIndex,a);
}
static inline HRESULT IHTMLStorage_getItem(IHTMLStorage* This,BSTR bstrKey,VARIANT *a) {
    return This->lpVtbl->getItem(This,bstrKey,a);
}
static inline HRESULT IHTMLStorage_setItem(IHTMLStorage* This,BSTR bstrKey,BSTR bstrValue) {
    return This->lpVtbl->setItem(This,bstrKey,bstrValue);
}
static inline HRESULT IHTMLStorage_removeItem(IHTMLStorage* This,BSTR bstrKey) {
    return This->lpVtbl->removeItem(This,bstrKey);
}
static inline HRESULT IHTMLStorage_clear(IHTMLStorage* This) {
    return This->lpVtbl->clear(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLStorage_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLStorage2 interface
 */
#ifndef __IHTMLStorage2_INTERFACE_DEFINED__
#define __IHTMLStorage2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStorage2, 0x30510799, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510799-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStorage2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE setItem(
        BSTR bstrKey,
        BSTR bstrValue) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStorage2, 0x30510799, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStorage2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStorage2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStorage2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStorage2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStorage2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStorage2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStorage2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStorage2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStorage2 methods ***/
    HRESULT (STDMETHODCALLTYPE *setItem)(
        IHTMLStorage2 *This,
        BSTR bstrKey,
        BSTR bstrValue);

    END_INTERFACE
} IHTMLStorage2Vtbl;

interface IHTMLStorage2 {
    CONST_VTBL IHTMLStorage2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStorage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStorage2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStorage2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStorage2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStorage2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStorage2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStorage2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStorage2 methods ***/
#define IHTMLStorage2_setItem(This,bstrKey,bstrValue) (This)->lpVtbl->setItem(This,bstrKey,bstrValue)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStorage2_QueryInterface(IHTMLStorage2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStorage2_AddRef(IHTMLStorage2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStorage2_Release(IHTMLStorage2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStorage2_GetTypeInfoCount(IHTMLStorage2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStorage2_GetTypeInfo(IHTMLStorage2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStorage2_GetIDsOfNames(IHTMLStorage2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStorage2_Invoke(IHTMLStorage2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStorage2 methods ***/
static inline HRESULT IHTMLStorage2_setItem(IHTMLStorage2* This,BSTR bstrKey,BSTR bstrValue) {
    return This->lpVtbl->setItem(This,bstrKey,bstrValue);
}
#endif
#endif

#endif


#endif  /* __IHTMLStorage2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStorage dispinterface
 */
#ifndef __DispHTMLStorage_DISPINTERFACE_DEFINED__
#define __DispHTMLStorage_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStorage, 0x3050f59d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f59d-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStorage : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStorage, 0x3050f59d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStorageVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLStorage *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLStorage *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLStorage *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStorage *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStorage *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStorage *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStorage *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStorageVtbl;

interface DispHTMLStorage {
    CONST_VTBL DispHTMLStorageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStorage_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStorage_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStorage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStorage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStorage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStorage_QueryInterface(DispHTMLStorage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStorage_AddRef(DispHTMLStorage* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStorage_Release(DispHTMLStorage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStorage_GetTypeInfoCount(DispHTMLStorage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStorage_GetTypeInfo(DispHTMLStorage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStorage_GetIDsOfNames(DispHTMLStorage* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStorage_Invoke(DispHTMLStorage* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStorage_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStorage coclass
 */

DEFINE_GUID(CLSID_HTMLStorage, 0x30510475, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510475-98b5-11cf-bb82-00aa00bdce0b") HTMLStorage;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStorage, 0x30510475, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CStorage;
/*****************************************************************************
 * IEventTarget interface
 */
#ifndef __IEventTarget_INTERFACE_DEFINED__
#define __IEventTarget_INTERFACE_DEFINED__

DEFINE_GUID(IID_IEventTarget, 0x305104b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104b9-98b5-11cf-bb82-00aa00bdce0b")
IEventTarget : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE addEventListener(
        BSTR type,
        IDispatch *listener,
        VARIANT_BOOL useCapture) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeEventListener(
        BSTR type,
        IDispatch *listener,
        VARIANT_BOOL useCapture) = 0;

    virtual HRESULT STDMETHODCALLTYPE dispatchEvent(
        IDOMEvent *evt,
        VARIANT_BOOL *pfResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEventTarget, 0x305104b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IEventTargetVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IEventTarget *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IEventTarget *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IEventTarget *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IEventTarget *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IEventTarget *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IEventTarget *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IEventTarget *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IEventTarget methods ***/
    HRESULT (STDMETHODCALLTYPE *addEventListener)(
        IEventTarget *This,
        BSTR type,
        IDispatch *listener,
        VARIANT_BOOL useCapture);

    HRESULT (STDMETHODCALLTYPE *removeEventListener)(
        IEventTarget *This,
        BSTR type,
        IDispatch *listener,
        VARIANT_BOOL useCapture);

    HRESULT (STDMETHODCALLTYPE *dispatchEvent)(
        IEventTarget *This,
        IDOMEvent *evt,
        VARIANT_BOOL *pfResult);

    END_INTERFACE
} IEventTargetVtbl;

interface IEventTarget {
    CONST_VTBL IEventTargetVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEventTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEventTarget_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEventTarget_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IEventTarget_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IEventTarget_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IEventTarget_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IEventTarget_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IEventTarget methods ***/
#define IEventTarget_addEventListener(This,type,listener,useCapture) (This)->lpVtbl->addEventListener(This,type,listener,useCapture)
#define IEventTarget_removeEventListener(This,type,listener,useCapture) (This)->lpVtbl->removeEventListener(This,type,listener,useCapture)
#define IEventTarget_dispatchEvent(This,evt,pfResult) (This)->lpVtbl->dispatchEvent(This,evt,pfResult)
#else
/*** IUnknown methods ***/
static inline HRESULT IEventTarget_QueryInterface(IEventTarget* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IEventTarget_AddRef(IEventTarget* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IEventTarget_Release(IEventTarget* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IEventTarget_GetTypeInfoCount(IEventTarget* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IEventTarget_GetTypeInfo(IEventTarget* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IEventTarget_GetIDsOfNames(IEventTarget* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IEventTarget_Invoke(IEventTarget* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IEventTarget methods ***/
static inline HRESULT IEventTarget_addEventListener(IEventTarget* This,BSTR type,IDispatch *listener,VARIANT_BOOL useCapture) {
    return This->lpVtbl->addEventListener(This,type,listener,useCapture);
}
static inline HRESULT IEventTarget_removeEventListener(IEventTarget* This,BSTR type,IDispatch *listener,VARIANT_BOOL useCapture) {
    return This->lpVtbl->removeEventListener(This,type,listener,useCapture);
}
static inline HRESULT IEventTarget_dispatchEvent(IEventTarget* This,IDOMEvent *evt,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->dispatchEvent(This,evt,pfResult);
}
#endif
#endif

#endif


#endif  /* __IEventTarget_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDOMEvent interface
 */
#ifndef __IDOMEvent_INTERFACE_DEFINED__
#define __IDOMEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMEvent, 0x305104ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ba-98b5-11cf-bb82-00aa00bdce0b")
IDOMEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_bubbles(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cancelable(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentTarget(
        IEventTarget **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultPrevented(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_eventPhase(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
        IEventTarget **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_timeStamp(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable) = 0;

    virtual HRESULT STDMETHODCALLTYPE preventDefault(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE stopPropagation(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE stopImmediatePropagation(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isTrusted(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cancelBubble(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cancelBubble(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_srcElement(
        IHTMLElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMEvent, 0x305104ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_bubbles)(
        IDOMEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_cancelable)(
        IDOMEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_currentTarget)(
        IDOMEvent *This,
        IEventTarget **p);

    HRESULT (STDMETHODCALLTYPE *get_defaultPrevented)(
        IDOMEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_eventPhase)(
        IDOMEvent *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *get_target)(
        IDOMEvent *This,
        IEventTarget **p);

    HRESULT (STDMETHODCALLTYPE *get_timeStamp)(
        IDOMEvent *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IDOMEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *initEvent)(
        IDOMEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable);

    HRESULT (STDMETHODCALLTYPE *preventDefault)(
        IDOMEvent *This);

    HRESULT (STDMETHODCALLTYPE *stopPropagation)(
        IDOMEvent *This);

    HRESULT (STDMETHODCALLTYPE *stopImmediatePropagation)(
        IDOMEvent *This);

    HRESULT (STDMETHODCALLTYPE *get_isTrusted)(
        IDOMEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_cancelBubble)(
        IDOMEvent *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_cancelBubble)(
        IDOMEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_srcElement)(
        IDOMEvent *This,
        IHTMLElement **p);

    END_INTERFACE
} IDOMEventVtbl;

interface IDOMEvent {
    CONST_VTBL IDOMEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMEvent methods ***/
#define IDOMEvent_get_bubbles(This,p) (This)->lpVtbl->get_bubbles(This,p)
#define IDOMEvent_get_cancelable(This,p) (This)->lpVtbl->get_cancelable(This,p)
#define IDOMEvent_get_currentTarget(This,p) (This)->lpVtbl->get_currentTarget(This,p)
#define IDOMEvent_get_defaultPrevented(This,p) (This)->lpVtbl->get_defaultPrevented(This,p)
#define IDOMEvent_get_eventPhase(This,p) (This)->lpVtbl->get_eventPhase(This,p)
#define IDOMEvent_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#define IDOMEvent_get_timeStamp(This,p) (This)->lpVtbl->get_timeStamp(This,p)
#define IDOMEvent_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IDOMEvent_initEvent(This,eventType,canBubble,cancelable) (This)->lpVtbl->initEvent(This,eventType,canBubble,cancelable)
#define IDOMEvent_preventDefault(This) (This)->lpVtbl->preventDefault(This)
#define IDOMEvent_stopPropagation(This) (This)->lpVtbl->stopPropagation(This)
#define IDOMEvent_stopImmediatePropagation(This) (This)->lpVtbl->stopImmediatePropagation(This)
#define IDOMEvent_get_isTrusted(This,p) (This)->lpVtbl->get_isTrusted(This,p)
#define IDOMEvent_put_cancelBubble(This,v) (This)->lpVtbl->put_cancelBubble(This,v)
#define IDOMEvent_get_cancelBubble(This,p) (This)->lpVtbl->get_cancelBubble(This,p)
#define IDOMEvent_get_srcElement(This,p) (This)->lpVtbl->get_srcElement(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMEvent_QueryInterface(IDOMEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMEvent_AddRef(IDOMEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMEvent_Release(IDOMEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMEvent_GetTypeInfoCount(IDOMEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMEvent_GetTypeInfo(IDOMEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMEvent_GetIDsOfNames(IDOMEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMEvent_Invoke(IDOMEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMEvent methods ***/
static inline HRESULT IDOMEvent_get_bubbles(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_bubbles(This,p);
}
static inline HRESULT IDOMEvent_get_cancelable(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cancelable(This,p);
}
static inline HRESULT IDOMEvent_get_currentTarget(IDOMEvent* This,IEventTarget **p) {
    return This->lpVtbl->get_currentTarget(This,p);
}
static inline HRESULT IDOMEvent_get_defaultPrevented(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defaultPrevented(This,p);
}
static inline HRESULT IDOMEvent_get_eventPhase(IDOMEvent* This,USHORT *p) {
    return This->lpVtbl->get_eventPhase(This,p);
}
static inline HRESULT IDOMEvent_get_target(IDOMEvent* This,IEventTarget **p) {
    return This->lpVtbl->get_target(This,p);
}
static inline HRESULT IDOMEvent_get_timeStamp(IDOMEvent* This,ULONGLONG *p) {
    return This->lpVtbl->get_timeStamp(This,p);
}
static inline HRESULT IDOMEvent_get_type(IDOMEvent* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IDOMEvent_initEvent(IDOMEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable) {
    return This->lpVtbl->initEvent(This,eventType,canBubble,cancelable);
}
static inline HRESULT IDOMEvent_preventDefault(IDOMEvent* This) {
    return This->lpVtbl->preventDefault(This);
}
static inline HRESULT IDOMEvent_stopPropagation(IDOMEvent* This) {
    return This->lpVtbl->stopPropagation(This);
}
static inline HRESULT IDOMEvent_stopImmediatePropagation(IDOMEvent* This) {
    return This->lpVtbl->stopImmediatePropagation(This);
}
static inline HRESULT IDOMEvent_get_isTrusted(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isTrusted(This,p);
}
static inline HRESULT IDOMEvent_put_cancelBubble(IDOMEvent* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_cancelBubble(This,v);
}
static inline HRESULT IDOMEvent_get_cancelBubble(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cancelBubble(This,p);
}
static inline HRESULT IDOMEvent_get_srcElement(IDOMEvent* This,IHTMLElement **p) {
    return This->lpVtbl->get_srcElement(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMEvent dispinterface
 */
#ifndef __DispDOMEvent_DISPINTERFACE_DEFINED__
#define __DispDOMEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMEvent, 0x3050f5a2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5a2-98b5-11cf-bb82-00aa00bdce0b")
DispDOMEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMEvent, 0x3050f5a2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMEventVtbl;

interface DispDOMEvent {
    CONST_VTBL DispDOMEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMEvent_QueryInterface(DispDOMEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMEvent_AddRef(DispDOMEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMEvent_Release(DispDOMEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMEvent_GetTypeInfoCount(DispDOMEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMEvent_GetTypeInfo(DispDOMEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMEvent_GetIDsOfNames(DispDOMEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMEvent_Invoke(DispDOMEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMEvent coclass
 */

DEFINE_GUID(CLSID_DOMEvent, 0x305104bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305104bb-98b5-11cf-bb82-00aa00bdce0b") DOMEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMEvent, 0x305104bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMEvent;
/*****************************************************************************
 * IDOMUIEvent interface
 */
#ifndef __IDOMUIEvent_INTERFACE_DEFINED__
#define __IDOMUIEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMUIEvent, 0x305106ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106ca-98b5-11cf-bb82-00aa00bdce0b")
IDOMUIEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_view(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_detail(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initUIEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *view,
        LONG detail) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMUIEvent, 0x305106ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMUIEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMUIEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMUIEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMUIEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMUIEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMUIEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMUIEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMUIEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMUIEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_view)(
        IDOMUIEvent *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *get_detail)(
        IDOMUIEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *initUIEvent)(
        IDOMUIEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *view,
        LONG detail);

    END_INTERFACE
} IDOMUIEventVtbl;

interface IDOMUIEvent {
    CONST_VTBL IDOMUIEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMUIEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMUIEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMUIEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMUIEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMUIEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMUIEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMUIEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMUIEvent methods ***/
#define IDOMUIEvent_get_view(This,p) (This)->lpVtbl->get_view(This,p)
#define IDOMUIEvent_get_detail(This,p) (This)->lpVtbl->get_detail(This,p)
#define IDOMUIEvent_initUIEvent(This,eventType,canBubble,cancelable,view,detail) (This)->lpVtbl->initUIEvent(This,eventType,canBubble,cancelable,view,detail)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMUIEvent_QueryInterface(IDOMUIEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMUIEvent_AddRef(IDOMUIEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMUIEvent_Release(IDOMUIEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMUIEvent_GetTypeInfoCount(IDOMUIEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMUIEvent_GetTypeInfo(IDOMUIEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMUIEvent_GetIDsOfNames(IDOMUIEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMUIEvent_Invoke(IDOMUIEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMUIEvent methods ***/
static inline HRESULT IDOMUIEvent_get_view(IDOMUIEvent* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_view(This,p);
}
static inline HRESULT IDOMUIEvent_get_detail(IDOMUIEvent* This,LONG *p) {
    return This->lpVtbl->get_detail(This,p);
}
static inline HRESULT IDOMUIEvent_initUIEvent(IDOMUIEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *view,LONG detail) {
    return This->lpVtbl->initUIEvent(This,eventType,canBubble,cancelable,view,detail);
}
#endif
#endif

#endif


#endif  /* __IDOMUIEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMUIEvent dispinterface
 */
#ifndef __DispDOMUIEvent_DISPINTERFACE_DEFINED__
#define __DispDOMUIEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMUIEvent, 0x30590072, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590072-98b5-11cf-bb82-00aa00bdce0b")
DispDOMUIEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMUIEvent, 0x30590072, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMUIEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMUIEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMUIEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMUIEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMUIEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMUIEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMUIEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMUIEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMUIEventVtbl;

interface DispDOMUIEvent {
    CONST_VTBL DispDOMUIEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMUIEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMUIEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMUIEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMUIEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMUIEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMUIEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMUIEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMUIEvent_QueryInterface(DispDOMUIEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMUIEvent_AddRef(DispDOMUIEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMUIEvent_Release(DispDOMUIEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMUIEvent_GetTypeInfoCount(DispDOMUIEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMUIEvent_GetTypeInfo(DispDOMUIEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMUIEvent_GetIDsOfNames(DispDOMUIEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMUIEvent_Invoke(DispDOMUIEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMUIEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMUIEvent coclass
 */

DEFINE_GUID(CLSID_DOMUIEvent, 0x305106cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106cb-98b5-11cf-bb82-00aa00bdce0b") DOMUIEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMUIEvent, 0x305106cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMUIEvent;
/*****************************************************************************
 * IDOMMouseEvent interface
 */
#ifndef __IDOMMouseEvent_INTERFACE_DEFINED__
#define __IDOMMouseEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMMouseEvent, 0x305106ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106ce-98b5-11cf-bb82-00aa00bdce0b")
IDOMMouseEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_screenX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clientY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ctrlKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shiftKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_metaKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_button(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_relatedTarget(
        IEventTarget **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initMouseEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        VARIANT_BOOL ctrlKeyArg,
        VARIANT_BOOL altKeyArg,
        VARIANT_BOOL shiftKeyArg,
        VARIANT_BOOL metaKeyArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg) = 0;

    virtual HRESULT STDMETHODCALLTYPE getModifierState(
        BSTR keyArg,
        VARIANT_BOOL *activated) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_buttons(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fromElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_toElement(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offsetY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layerX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_layerY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_which(
        USHORT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMMouseEvent, 0x305106ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMMouseEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMMouseEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMMouseEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMMouseEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMMouseEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMMouseEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMMouseEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMMouseEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMMouseEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_screenX)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_screenY)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientX)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_clientY)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_ctrlKey)(
        IDOMMouseEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_shiftKey)(
        IDOMMouseEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_altKey)(
        IDOMMouseEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_metaKey)(
        IDOMMouseEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_button)(
        IDOMMouseEvent *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *get_relatedTarget)(
        IDOMMouseEvent *This,
        IEventTarget **p);

    HRESULT (STDMETHODCALLTYPE *initMouseEvent)(
        IDOMMouseEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        VARIANT_BOOL ctrlKeyArg,
        VARIANT_BOOL altKeyArg,
        VARIANT_BOOL shiftKeyArg,
        VARIANT_BOOL metaKeyArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg);

    HRESULT (STDMETHODCALLTYPE *getModifierState)(
        IDOMMouseEvent *This,
        BSTR keyArg,
        VARIANT_BOOL *activated);

    HRESULT (STDMETHODCALLTYPE *get_buttons)(
        IDOMMouseEvent *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *get_fromElement)(
        IDOMMouseEvent *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_toElement)(
        IDOMMouseEvent *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetX)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_offsetY)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageX)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageY)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_layerX)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_layerY)(
        IDOMMouseEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_which)(
        IDOMMouseEvent *This,
        USHORT *p);

    END_INTERFACE
} IDOMMouseEventVtbl;

interface IDOMMouseEvent {
    CONST_VTBL IDOMMouseEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMMouseEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMMouseEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMMouseEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMMouseEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMMouseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMMouseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMMouseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMMouseEvent methods ***/
#define IDOMMouseEvent_get_screenX(This,p) (This)->lpVtbl->get_screenX(This,p)
#define IDOMMouseEvent_get_screenY(This,p) (This)->lpVtbl->get_screenY(This,p)
#define IDOMMouseEvent_get_clientX(This,p) (This)->lpVtbl->get_clientX(This,p)
#define IDOMMouseEvent_get_clientY(This,p) (This)->lpVtbl->get_clientY(This,p)
#define IDOMMouseEvent_get_ctrlKey(This,p) (This)->lpVtbl->get_ctrlKey(This,p)
#define IDOMMouseEvent_get_shiftKey(This,p) (This)->lpVtbl->get_shiftKey(This,p)
#define IDOMMouseEvent_get_altKey(This,p) (This)->lpVtbl->get_altKey(This,p)
#define IDOMMouseEvent_get_metaKey(This,p) (This)->lpVtbl->get_metaKey(This,p)
#define IDOMMouseEvent_get_button(This,p) (This)->lpVtbl->get_button(This,p)
#define IDOMMouseEvent_get_relatedTarget(This,p) (This)->lpVtbl->get_relatedTarget(This,p)
#define IDOMMouseEvent_initMouseEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg) (This)->lpVtbl->initMouseEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg)
#define IDOMMouseEvent_getModifierState(This,keyArg,activated) (This)->lpVtbl->getModifierState(This,keyArg,activated)
#define IDOMMouseEvent_get_buttons(This,p) (This)->lpVtbl->get_buttons(This,p)
#define IDOMMouseEvent_get_fromElement(This,p) (This)->lpVtbl->get_fromElement(This,p)
#define IDOMMouseEvent_get_toElement(This,p) (This)->lpVtbl->get_toElement(This,p)
#define IDOMMouseEvent_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define IDOMMouseEvent_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define IDOMMouseEvent_get_offsetX(This,p) (This)->lpVtbl->get_offsetX(This,p)
#define IDOMMouseEvent_get_offsetY(This,p) (This)->lpVtbl->get_offsetY(This,p)
#define IDOMMouseEvent_get_pageX(This,p) (This)->lpVtbl->get_pageX(This,p)
#define IDOMMouseEvent_get_pageY(This,p) (This)->lpVtbl->get_pageY(This,p)
#define IDOMMouseEvent_get_layerX(This,p) (This)->lpVtbl->get_layerX(This,p)
#define IDOMMouseEvent_get_layerY(This,p) (This)->lpVtbl->get_layerY(This,p)
#define IDOMMouseEvent_get_which(This,p) (This)->lpVtbl->get_which(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMMouseEvent_QueryInterface(IDOMMouseEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMMouseEvent_AddRef(IDOMMouseEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMMouseEvent_Release(IDOMMouseEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMMouseEvent_GetTypeInfoCount(IDOMMouseEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMMouseEvent_GetTypeInfo(IDOMMouseEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMMouseEvent_GetIDsOfNames(IDOMMouseEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMMouseEvent_Invoke(IDOMMouseEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMMouseEvent methods ***/
static inline HRESULT IDOMMouseEvent_get_screenX(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_screenX(This,p);
}
static inline HRESULT IDOMMouseEvent_get_screenY(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_screenY(This,p);
}
static inline HRESULT IDOMMouseEvent_get_clientX(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_clientX(This,p);
}
static inline HRESULT IDOMMouseEvent_get_clientY(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_clientY(This,p);
}
static inline HRESULT IDOMMouseEvent_get_ctrlKey(IDOMMouseEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_ctrlKey(This,p);
}
static inline HRESULT IDOMMouseEvent_get_shiftKey(IDOMMouseEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_shiftKey(This,p);
}
static inline HRESULT IDOMMouseEvent_get_altKey(IDOMMouseEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_altKey(This,p);
}
static inline HRESULT IDOMMouseEvent_get_metaKey(IDOMMouseEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_metaKey(This,p);
}
static inline HRESULT IDOMMouseEvent_get_button(IDOMMouseEvent* This,USHORT *p) {
    return This->lpVtbl->get_button(This,p);
}
static inline HRESULT IDOMMouseEvent_get_relatedTarget(IDOMMouseEvent* This,IEventTarget **p) {
    return This->lpVtbl->get_relatedTarget(This,p);
}
static inline HRESULT IDOMMouseEvent_initMouseEvent(IDOMMouseEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,LONG detailArg,LONG screenXArg,LONG screenYArg,LONG clientXArg,LONG clientYArg,VARIANT_BOOL ctrlKeyArg,VARIANT_BOOL altKeyArg,VARIANT_BOOL shiftKeyArg,VARIANT_BOOL metaKeyArg,USHORT buttonArg,IEventTarget *relatedTargetArg) {
    return This->lpVtbl->initMouseEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg);
}
static inline HRESULT IDOMMouseEvent_getModifierState(IDOMMouseEvent* This,BSTR keyArg,VARIANT_BOOL *activated) {
    return This->lpVtbl->getModifierState(This,keyArg,activated);
}
static inline HRESULT IDOMMouseEvent_get_buttons(IDOMMouseEvent* This,USHORT *p) {
    return This->lpVtbl->get_buttons(This,p);
}
static inline HRESULT IDOMMouseEvent_get_fromElement(IDOMMouseEvent* This,IHTMLElement **p) {
    return This->lpVtbl->get_fromElement(This,p);
}
static inline HRESULT IDOMMouseEvent_get_toElement(IDOMMouseEvent* This,IHTMLElement **p) {
    return This->lpVtbl->get_toElement(This,p);
}
static inline HRESULT IDOMMouseEvent_get_x(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT IDOMMouseEvent_get_y(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT IDOMMouseEvent_get_offsetX(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_offsetX(This,p);
}
static inline HRESULT IDOMMouseEvent_get_offsetY(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_offsetY(This,p);
}
static inline HRESULT IDOMMouseEvent_get_pageX(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_pageX(This,p);
}
static inline HRESULT IDOMMouseEvent_get_pageY(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_pageY(This,p);
}
static inline HRESULT IDOMMouseEvent_get_layerX(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_layerX(This,p);
}
static inline HRESULT IDOMMouseEvent_get_layerY(IDOMMouseEvent* This,LONG *p) {
    return This->lpVtbl->get_layerY(This,p);
}
static inline HRESULT IDOMMouseEvent_get_which(IDOMMouseEvent* This,USHORT *p) {
    return This->lpVtbl->get_which(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMMouseEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMMouseEvent dispinterface
 */
#ifndef __DispDOMMouseEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMouseEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMMouseEvent, 0x30590073, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590073-98b5-11cf-bb82-00aa00bdce0b")
DispDOMMouseEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMMouseEvent, 0x30590073, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMMouseEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMMouseEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMMouseEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMMouseEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMMouseEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMMouseEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMMouseEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMMouseEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMMouseEventVtbl;

interface DispDOMMouseEvent {
    CONST_VTBL DispDOMMouseEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMMouseEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMMouseEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMMouseEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMMouseEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMMouseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMMouseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMMouseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMMouseEvent_QueryInterface(DispDOMMouseEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMMouseEvent_AddRef(DispDOMMouseEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMMouseEvent_Release(DispDOMMouseEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMMouseEvent_GetTypeInfoCount(DispDOMMouseEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMMouseEvent_GetTypeInfo(DispDOMMouseEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMMouseEvent_GetIDsOfNames(DispDOMMouseEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMMouseEvent_Invoke(DispDOMMouseEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMMouseEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMMouseEvent coclass
 */

DEFINE_GUID(CLSID_DOMMouseEvent, 0x305106cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106cf-98b5-11cf-bb82-00aa00bdce0b") DOMMouseEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMMouseEvent, 0x305106cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMMouseEvent;
/*****************************************************************************
 * IDOMDragEvent interface
 */
#ifndef __IDOMDragEvent_INTERFACE_DEFINED__
#define __IDOMDragEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMDragEvent, 0x30510761, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510761-98b5-11cf-bb82-00aa00bdce0b")
IDOMDragEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_dataTransfer(
        IHTMLDataTransfer **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initDragEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        VARIANT_BOOL ctrlKeyArg,
        VARIANT_BOOL altKeyArg,
        VARIANT_BOOL shiftKeyArg,
        VARIANT_BOOL metaKeyArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg,
        IHTMLDataTransfer *dataTransferArg) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMDragEvent, 0x30510761, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMDragEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMDragEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMDragEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMDragEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMDragEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMDragEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMDragEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMDragEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMDragEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_dataTransfer)(
        IDOMDragEvent *This,
        IHTMLDataTransfer **p);

    HRESULT (STDMETHODCALLTYPE *initDragEvent)(
        IDOMDragEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        VARIANT_BOOL ctrlKeyArg,
        VARIANT_BOOL altKeyArg,
        VARIANT_BOOL shiftKeyArg,
        VARIANT_BOOL metaKeyArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg,
        IHTMLDataTransfer *dataTransferArg);

    END_INTERFACE
} IDOMDragEventVtbl;

interface IDOMDragEvent {
    CONST_VTBL IDOMDragEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMDragEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMDragEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMDragEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMDragEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMDragEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMDragEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMDragEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMDragEvent methods ***/
#define IDOMDragEvent_get_dataTransfer(This,p) (This)->lpVtbl->get_dataTransfer(This,p)
#define IDOMDragEvent_initDragEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg,dataTransferArg) (This)->lpVtbl->initDragEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg,dataTransferArg)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMDragEvent_QueryInterface(IDOMDragEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMDragEvent_AddRef(IDOMDragEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMDragEvent_Release(IDOMDragEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMDragEvent_GetTypeInfoCount(IDOMDragEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMDragEvent_GetTypeInfo(IDOMDragEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMDragEvent_GetIDsOfNames(IDOMDragEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMDragEvent_Invoke(IDOMDragEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMDragEvent methods ***/
static inline HRESULT IDOMDragEvent_get_dataTransfer(IDOMDragEvent* This,IHTMLDataTransfer **p) {
    return This->lpVtbl->get_dataTransfer(This,p);
}
static inline HRESULT IDOMDragEvent_initDragEvent(IDOMDragEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,LONG detailArg,LONG screenXArg,LONG screenYArg,LONG clientXArg,LONG clientYArg,VARIANT_BOOL ctrlKeyArg,VARIANT_BOOL altKeyArg,VARIANT_BOOL shiftKeyArg,VARIANT_BOOL metaKeyArg,USHORT buttonArg,IEventTarget *relatedTargetArg,IHTMLDataTransfer *dataTransferArg) {
    return This->lpVtbl->initDragEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg,dataTransferArg);
}
#endif
#endif

#endif


#endif  /* __IDOMDragEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMDragEvent dispinterface
 */
#ifndef __DispDOMDragEvent_DISPINTERFACE_DEFINED__
#define __DispDOMDragEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMDragEvent, 0x305900a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900a7-98b5-11cf-bb82-00aa00bdce0b")
DispDOMDragEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMDragEvent, 0x305900a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMDragEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMDragEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMDragEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMDragEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMDragEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMDragEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMDragEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMDragEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMDragEventVtbl;

interface DispDOMDragEvent {
    CONST_VTBL DispDOMDragEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMDragEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMDragEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMDragEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMDragEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMDragEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMDragEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMDragEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMDragEvent_QueryInterface(DispDOMDragEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMDragEvent_AddRef(DispDOMDragEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMDragEvent_Release(DispDOMDragEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMDragEvent_GetTypeInfoCount(DispDOMDragEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMDragEvent_GetTypeInfo(DispDOMDragEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMDragEvent_GetIDsOfNames(DispDOMDragEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMDragEvent_Invoke(DispDOMDragEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMDragEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMDragEvent coclass
 */

DEFINE_GUID(CLSID_DOMDragEvent, 0x30510762, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510762-98b5-11cf-bb82-00aa00bdce0b") DOMDragEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMDragEvent, 0x30510762, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMDragEvent;
/*****************************************************************************
 * IDOMMouseWheelEvent interface
 */
#ifndef __IDOMMouseWheelEvent_INTERFACE_DEFINED__
#define __IDOMMouseWheelEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMMouseWheelEvent, 0x305106d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106d0-98b5-11cf-bb82-00aa00bdce0b")
IDOMMouseWheelEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_wheelDelta(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initMouseWheelEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg,
        BSTR modifiersListArg,
        LONG wheelDeltaArg) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMMouseWheelEvent, 0x305106d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMMouseWheelEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMMouseWheelEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMMouseWheelEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMMouseWheelEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMMouseWheelEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMMouseWheelEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMMouseWheelEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMMouseWheelEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMMouseWheelEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_wheelDelta)(
        IDOMMouseWheelEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *initMouseWheelEvent)(
        IDOMMouseWheelEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg,
        BSTR modifiersListArg,
        LONG wheelDeltaArg);

    END_INTERFACE
} IDOMMouseWheelEventVtbl;

interface IDOMMouseWheelEvent {
    CONST_VTBL IDOMMouseWheelEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMMouseWheelEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMMouseWheelEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMMouseWheelEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMMouseWheelEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMMouseWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMMouseWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMMouseWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMMouseWheelEvent methods ***/
#define IDOMMouseWheelEvent_get_wheelDelta(This,p) (This)->lpVtbl->get_wheelDelta(This,p)
#define IDOMMouseWheelEvent_initMouseWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,wheelDeltaArg) (This)->lpVtbl->initMouseWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,wheelDeltaArg)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMMouseWheelEvent_QueryInterface(IDOMMouseWheelEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMMouseWheelEvent_AddRef(IDOMMouseWheelEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMMouseWheelEvent_Release(IDOMMouseWheelEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMMouseWheelEvent_GetTypeInfoCount(IDOMMouseWheelEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMMouseWheelEvent_GetTypeInfo(IDOMMouseWheelEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMMouseWheelEvent_GetIDsOfNames(IDOMMouseWheelEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMMouseWheelEvent_Invoke(IDOMMouseWheelEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMMouseWheelEvent methods ***/
static inline HRESULT IDOMMouseWheelEvent_get_wheelDelta(IDOMMouseWheelEvent* This,LONG *p) {
    return This->lpVtbl->get_wheelDelta(This,p);
}
static inline HRESULT IDOMMouseWheelEvent_initMouseWheelEvent(IDOMMouseWheelEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,LONG detailArg,LONG screenXArg,LONG screenYArg,LONG clientXArg,LONG clientYArg,USHORT buttonArg,IEventTarget *relatedTargetArg,BSTR modifiersListArg,LONG wheelDeltaArg) {
    return This->lpVtbl->initMouseWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,wheelDeltaArg);
}
#endif
#endif

#endif


#endif  /* __IDOMMouseWheelEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMMouseWheelEvent dispinterface
 */
#ifndef __DispDOMMouseWheelEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMouseWheelEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMMouseWheelEvent, 0x30590074, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590074-98b5-11cf-bb82-00aa00bdce0b")
DispDOMMouseWheelEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMMouseWheelEvent, 0x30590074, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMMouseWheelEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMMouseWheelEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMMouseWheelEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMMouseWheelEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMMouseWheelEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMMouseWheelEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMMouseWheelEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMMouseWheelEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMMouseWheelEventVtbl;

interface DispDOMMouseWheelEvent {
    CONST_VTBL DispDOMMouseWheelEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMMouseWheelEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMMouseWheelEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMMouseWheelEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMMouseWheelEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMMouseWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMMouseWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMMouseWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMMouseWheelEvent_QueryInterface(DispDOMMouseWheelEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMMouseWheelEvent_AddRef(DispDOMMouseWheelEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMMouseWheelEvent_Release(DispDOMMouseWheelEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMMouseWheelEvent_GetTypeInfoCount(DispDOMMouseWheelEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMMouseWheelEvent_GetTypeInfo(DispDOMMouseWheelEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMMouseWheelEvent_GetIDsOfNames(DispDOMMouseWheelEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMMouseWheelEvent_Invoke(DispDOMMouseWheelEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMMouseWheelEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMMouseWheelEvent coclass
 */

DEFINE_GUID(CLSID_DOMMouseWheelEvent, 0x305106d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106d1-98b5-11cf-bb82-00aa00bdce0b") DOMMouseWheelEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMMouseWheelEvent, 0x305106d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMMouseWheelEvent;
/*****************************************************************************
 * IDOMWheelEvent interface
 */
#ifndef __IDOMWheelEvent_INTERFACE_DEFINED__
#define __IDOMWheelEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMWheelEvent, 0x305106d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106d2-98b5-11cf-bb82-00aa00bdce0b")
IDOMWheelEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_deltaX(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_deltaY(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_deltaZ(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_deltaMode(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initWheelEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg,
        BSTR modifiersListArg,
        LONG deltaX,
        LONG deltaY,
        LONG deltaZ,
        ULONG deltaMode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMWheelEvent, 0x305106d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMWheelEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMWheelEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMWheelEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMWheelEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMWheelEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMWheelEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMWheelEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMWheelEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMWheelEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_deltaX)(
        IDOMWheelEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_deltaY)(
        IDOMWheelEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_deltaZ)(
        IDOMWheelEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_deltaMode)(
        IDOMWheelEvent *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *initWheelEvent)(
        IDOMWheelEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG screenXArg,
        LONG screenYArg,
        LONG clientXArg,
        LONG clientYArg,
        USHORT buttonArg,
        IEventTarget *relatedTargetArg,
        BSTR modifiersListArg,
        LONG deltaX,
        LONG deltaY,
        LONG deltaZ,
        ULONG deltaMode);

    END_INTERFACE
} IDOMWheelEventVtbl;

interface IDOMWheelEvent {
    CONST_VTBL IDOMWheelEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMWheelEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMWheelEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMWheelEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMWheelEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMWheelEvent methods ***/
#define IDOMWheelEvent_get_deltaX(This,p) (This)->lpVtbl->get_deltaX(This,p)
#define IDOMWheelEvent_get_deltaY(This,p) (This)->lpVtbl->get_deltaY(This,p)
#define IDOMWheelEvent_get_deltaZ(This,p) (This)->lpVtbl->get_deltaZ(This,p)
#define IDOMWheelEvent_get_deltaMode(This,p) (This)->lpVtbl->get_deltaMode(This,p)
#define IDOMWheelEvent_initWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,deltaX,deltaY,deltaZ,deltaMode) (This)->lpVtbl->initWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,deltaX,deltaY,deltaZ,deltaMode)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMWheelEvent_QueryInterface(IDOMWheelEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMWheelEvent_AddRef(IDOMWheelEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMWheelEvent_Release(IDOMWheelEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMWheelEvent_GetTypeInfoCount(IDOMWheelEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMWheelEvent_GetTypeInfo(IDOMWheelEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMWheelEvent_GetIDsOfNames(IDOMWheelEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMWheelEvent_Invoke(IDOMWheelEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMWheelEvent methods ***/
static inline HRESULT IDOMWheelEvent_get_deltaX(IDOMWheelEvent* This,LONG *p) {
    return This->lpVtbl->get_deltaX(This,p);
}
static inline HRESULT IDOMWheelEvent_get_deltaY(IDOMWheelEvent* This,LONG *p) {
    return This->lpVtbl->get_deltaY(This,p);
}
static inline HRESULT IDOMWheelEvent_get_deltaZ(IDOMWheelEvent* This,LONG *p) {
    return This->lpVtbl->get_deltaZ(This,p);
}
static inline HRESULT IDOMWheelEvent_get_deltaMode(IDOMWheelEvent* This,ULONG *p) {
    return This->lpVtbl->get_deltaMode(This,p);
}
static inline HRESULT IDOMWheelEvent_initWheelEvent(IDOMWheelEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,LONG detailArg,LONG screenXArg,LONG screenYArg,LONG clientXArg,LONG clientYArg,USHORT buttonArg,IEventTarget *relatedTargetArg,BSTR modifiersListArg,LONG deltaX,LONG deltaY,LONG deltaZ,ULONG deltaMode) {
    return This->lpVtbl->initWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,deltaX,deltaY,deltaZ,deltaMode);
}
#endif
#endif

#endif


#endif  /* __IDOMWheelEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMWheelEvent dispinterface
 */
#ifndef __DispDOMWheelEvent_DISPINTERFACE_DEFINED__
#define __DispDOMWheelEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMWheelEvent, 0x30590075, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590075-98b5-11cf-bb82-00aa00bdce0b")
DispDOMWheelEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMWheelEvent, 0x30590075, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMWheelEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMWheelEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMWheelEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMWheelEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMWheelEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMWheelEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMWheelEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMWheelEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMWheelEventVtbl;

interface DispDOMWheelEvent {
    CONST_VTBL DispDOMWheelEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMWheelEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMWheelEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMWheelEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMWheelEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMWheelEvent_QueryInterface(DispDOMWheelEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMWheelEvent_AddRef(DispDOMWheelEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMWheelEvent_Release(DispDOMWheelEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMWheelEvent_GetTypeInfoCount(DispDOMWheelEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMWheelEvent_GetTypeInfo(DispDOMWheelEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMWheelEvent_GetIDsOfNames(DispDOMWheelEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMWheelEvent_Invoke(DispDOMWheelEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMWheelEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMWheelEvent coclass
 */

DEFINE_GUID(CLSID_DOMWheelEvent, 0x305106d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106d3-98b5-11cf-bb82-00aa00bdce0b") DOMWheelEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMWheelEvent, 0x305106d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMWheelEvent;
/*****************************************************************************
 * IDOMTextEvent interface
 */
#ifndef __IDOMTextEvent_INTERFACE_DEFINED__
#define __IDOMTextEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMTextEvent, 0x305106d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106d4-98b5-11cf-bb82-00aa00bdce0b")
IDOMTextEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_inputMethod(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initTextEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        BSTR dataArg,
        ULONG inputMethod,
        BSTR locale) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_locale(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMTextEvent, 0x305106d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMTextEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMTextEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMTextEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMTextEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMTextEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMTextEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMTextEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMTextEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMTextEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_data)(
        IDOMTextEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_inputMethod)(
        IDOMTextEvent *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *initTextEvent)(
        IDOMTextEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        BSTR dataArg,
        ULONG inputMethod,
        BSTR locale);

    HRESULT (STDMETHODCALLTYPE *get_locale)(
        IDOMTextEvent *This,
        BSTR *p);

    END_INTERFACE
} IDOMTextEventVtbl;

interface IDOMTextEvent {
    CONST_VTBL IDOMTextEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMTextEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMTextEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMTextEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMTextEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMTextEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMTextEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMTextEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMTextEvent methods ***/
#define IDOMTextEvent_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#define IDOMTextEvent_get_inputMethod(This,p) (This)->lpVtbl->get_inputMethod(This,p)
#define IDOMTextEvent_initTextEvent(This,eventType,canBubble,cancelable,viewArg,dataArg,inputMethod,locale) (This)->lpVtbl->initTextEvent(This,eventType,canBubble,cancelable,viewArg,dataArg,inputMethod,locale)
#define IDOMTextEvent_get_locale(This,p) (This)->lpVtbl->get_locale(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMTextEvent_QueryInterface(IDOMTextEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMTextEvent_AddRef(IDOMTextEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMTextEvent_Release(IDOMTextEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMTextEvent_GetTypeInfoCount(IDOMTextEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMTextEvent_GetTypeInfo(IDOMTextEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMTextEvent_GetIDsOfNames(IDOMTextEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMTextEvent_Invoke(IDOMTextEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMTextEvent methods ***/
static inline HRESULT IDOMTextEvent_get_data(IDOMTextEvent* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static inline HRESULT IDOMTextEvent_get_inputMethod(IDOMTextEvent* This,ULONG *p) {
    return This->lpVtbl->get_inputMethod(This,p);
}
static inline HRESULT IDOMTextEvent_initTextEvent(IDOMTextEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,BSTR dataArg,ULONG inputMethod,BSTR locale) {
    return This->lpVtbl->initTextEvent(This,eventType,canBubble,cancelable,viewArg,dataArg,inputMethod,locale);
}
static inline HRESULT IDOMTextEvent_get_locale(IDOMTextEvent* This,BSTR *p) {
    return This->lpVtbl->get_locale(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMTextEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMTextEvent dispinterface
 */
#ifndef __DispDOMTextEvent_DISPINTERFACE_DEFINED__
#define __DispDOMTextEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMTextEvent, 0x30590076, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590076-98b5-11cf-bb82-00aa00bdce0b")
DispDOMTextEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMTextEvent, 0x30590076, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMTextEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMTextEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMTextEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMTextEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMTextEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMTextEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMTextEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMTextEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMTextEventVtbl;

interface DispDOMTextEvent {
    CONST_VTBL DispDOMTextEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMTextEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMTextEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMTextEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMTextEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMTextEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMTextEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMTextEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMTextEvent_QueryInterface(DispDOMTextEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMTextEvent_AddRef(DispDOMTextEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMTextEvent_Release(DispDOMTextEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMTextEvent_GetTypeInfoCount(DispDOMTextEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMTextEvent_GetTypeInfo(DispDOMTextEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMTextEvent_GetIDsOfNames(DispDOMTextEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMTextEvent_Invoke(DispDOMTextEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMTextEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMTextEvent coclass
 */

DEFINE_GUID(CLSID_DOMTextEvent, 0x305106d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106d5-98b5-11cf-bb82-00aa00bdce0b") DOMTextEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMTextEvent, 0x305106d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMTextEvent;
/*****************************************************************************
 * IDOMKeyboardEvent interface
 */
#ifndef __IDOMKeyboardEvent_INTERFACE_DEFINED__
#define __IDOMKeyboardEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMKeyboardEvent, 0x305106d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106d6-98b5-11cf-bb82-00aa00bdce0b")
IDOMKeyboardEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_key(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_location(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ctrlKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shiftKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_metaKey(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_repeat(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getModifierState(
        BSTR keyArg,
        VARIANT_BOOL *state) = 0;

    virtual HRESULT STDMETHODCALLTYPE initKeyboardEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        BSTR keyArg,
        ULONG locationArg,
        BSTR modifiersListArg,
        VARIANT_BOOL repeat,
        BSTR locale) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_keyCode(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_charCode(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_which(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ie9_char(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_locale(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMKeyboardEvent, 0x305106d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMKeyboardEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMKeyboardEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMKeyboardEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMKeyboardEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMKeyboardEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMKeyboardEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMKeyboardEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMKeyboardEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMKeyboardEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_key)(
        IDOMKeyboardEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_location)(
        IDOMKeyboardEvent *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *get_ctrlKey)(
        IDOMKeyboardEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_shiftKey)(
        IDOMKeyboardEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_altKey)(
        IDOMKeyboardEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_metaKey)(
        IDOMKeyboardEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_repeat)(
        IDOMKeyboardEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *getModifierState)(
        IDOMKeyboardEvent *This,
        BSTR keyArg,
        VARIANT_BOOL *state);

    HRESULT (STDMETHODCALLTYPE *initKeyboardEvent)(
        IDOMKeyboardEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        BSTR keyArg,
        ULONG locationArg,
        BSTR modifiersListArg,
        VARIANT_BOOL repeat,
        BSTR locale);

    HRESULT (STDMETHODCALLTYPE *get_keyCode)(
        IDOMKeyboardEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_charCode)(
        IDOMKeyboardEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_which)(
        IDOMKeyboardEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_ie9_char)(
        IDOMKeyboardEvent *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_locale)(
        IDOMKeyboardEvent *This,
        BSTR *p);

    END_INTERFACE
} IDOMKeyboardEventVtbl;

interface IDOMKeyboardEvent {
    CONST_VTBL IDOMKeyboardEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMKeyboardEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMKeyboardEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMKeyboardEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMKeyboardEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMKeyboardEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMKeyboardEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMKeyboardEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMKeyboardEvent methods ***/
#define IDOMKeyboardEvent_get_key(This,p) (This)->lpVtbl->get_key(This,p)
#define IDOMKeyboardEvent_get_location(This,p) (This)->lpVtbl->get_location(This,p)
#define IDOMKeyboardEvent_get_ctrlKey(This,p) (This)->lpVtbl->get_ctrlKey(This,p)
#define IDOMKeyboardEvent_get_shiftKey(This,p) (This)->lpVtbl->get_shiftKey(This,p)
#define IDOMKeyboardEvent_get_altKey(This,p) (This)->lpVtbl->get_altKey(This,p)
#define IDOMKeyboardEvent_get_metaKey(This,p) (This)->lpVtbl->get_metaKey(This,p)
#define IDOMKeyboardEvent_get_repeat(This,p) (This)->lpVtbl->get_repeat(This,p)
#define IDOMKeyboardEvent_getModifierState(This,keyArg,state) (This)->lpVtbl->getModifierState(This,keyArg,state)
#define IDOMKeyboardEvent_initKeyboardEvent(This,eventType,canBubble,cancelable,viewArg,keyArg,locationArg,modifiersListArg,repeat,locale) (This)->lpVtbl->initKeyboardEvent(This,eventType,canBubble,cancelable,viewArg,keyArg,locationArg,modifiersListArg,repeat,locale)
#define IDOMKeyboardEvent_get_keyCode(This,p) (This)->lpVtbl->get_keyCode(This,p)
#define IDOMKeyboardEvent_get_charCode(This,p) (This)->lpVtbl->get_charCode(This,p)
#define IDOMKeyboardEvent_get_which(This,p) (This)->lpVtbl->get_which(This,p)
#define IDOMKeyboardEvent_get_ie9_char(This,p) (This)->lpVtbl->get_ie9_char(This,p)
#define IDOMKeyboardEvent_get_locale(This,p) (This)->lpVtbl->get_locale(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMKeyboardEvent_QueryInterface(IDOMKeyboardEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMKeyboardEvent_AddRef(IDOMKeyboardEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMKeyboardEvent_Release(IDOMKeyboardEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMKeyboardEvent_GetTypeInfoCount(IDOMKeyboardEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMKeyboardEvent_GetTypeInfo(IDOMKeyboardEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMKeyboardEvent_GetIDsOfNames(IDOMKeyboardEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMKeyboardEvent_Invoke(IDOMKeyboardEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMKeyboardEvent methods ***/
static inline HRESULT IDOMKeyboardEvent_get_key(IDOMKeyboardEvent* This,BSTR *p) {
    return This->lpVtbl->get_key(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_location(IDOMKeyboardEvent* This,ULONG *p) {
    return This->lpVtbl->get_location(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_ctrlKey(IDOMKeyboardEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_ctrlKey(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_shiftKey(IDOMKeyboardEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_shiftKey(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_altKey(IDOMKeyboardEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_altKey(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_metaKey(IDOMKeyboardEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_metaKey(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_repeat(IDOMKeyboardEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_repeat(This,p);
}
static inline HRESULT IDOMKeyboardEvent_getModifierState(IDOMKeyboardEvent* This,BSTR keyArg,VARIANT_BOOL *state) {
    return This->lpVtbl->getModifierState(This,keyArg,state);
}
static inline HRESULT IDOMKeyboardEvent_initKeyboardEvent(IDOMKeyboardEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,BSTR keyArg,ULONG locationArg,BSTR modifiersListArg,VARIANT_BOOL repeat,BSTR locale) {
    return This->lpVtbl->initKeyboardEvent(This,eventType,canBubble,cancelable,viewArg,keyArg,locationArg,modifiersListArg,repeat,locale);
}
static inline HRESULT IDOMKeyboardEvent_get_keyCode(IDOMKeyboardEvent* This,LONG *p) {
    return This->lpVtbl->get_keyCode(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_charCode(IDOMKeyboardEvent* This,LONG *p) {
    return This->lpVtbl->get_charCode(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_which(IDOMKeyboardEvent* This,LONG *p) {
    return This->lpVtbl->get_which(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_ie9_char(IDOMKeyboardEvent* This,VARIANT *p) {
    return This->lpVtbl->get_ie9_char(This,p);
}
static inline HRESULT IDOMKeyboardEvent_get_locale(IDOMKeyboardEvent* This,BSTR *p) {
    return This->lpVtbl->get_locale(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMKeyboardEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMKeyboardEvent dispinterface
 */
#ifndef __DispDOMKeyboardEvent_DISPINTERFACE_DEFINED__
#define __DispDOMKeyboardEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMKeyboardEvent, 0x30590077, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590077-98b5-11cf-bb82-00aa00bdce0b")
DispDOMKeyboardEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMKeyboardEvent, 0x30590077, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMKeyboardEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMKeyboardEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMKeyboardEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMKeyboardEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMKeyboardEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMKeyboardEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMKeyboardEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMKeyboardEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMKeyboardEventVtbl;

interface DispDOMKeyboardEvent {
    CONST_VTBL DispDOMKeyboardEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMKeyboardEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMKeyboardEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMKeyboardEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMKeyboardEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMKeyboardEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMKeyboardEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMKeyboardEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMKeyboardEvent_QueryInterface(DispDOMKeyboardEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMKeyboardEvent_AddRef(DispDOMKeyboardEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMKeyboardEvent_Release(DispDOMKeyboardEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMKeyboardEvent_GetTypeInfoCount(DispDOMKeyboardEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMKeyboardEvent_GetTypeInfo(DispDOMKeyboardEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMKeyboardEvent_GetIDsOfNames(DispDOMKeyboardEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMKeyboardEvent_Invoke(DispDOMKeyboardEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMKeyboardEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMKeyboardEvent coclass
 */

DEFINE_GUID(CLSID_DOMKeyboardEvent, 0x305106d7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106d7-98b5-11cf-bb82-00aa00bdce0b") DOMKeyboardEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMKeyboardEvent, 0x305106d7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMKeyboardEvent;
/*****************************************************************************
 * IDOMCompositionEvent interface
 */
#ifndef __IDOMCompositionEvent_INTERFACE_DEFINED__
#define __IDOMCompositionEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMCompositionEvent, 0x305106d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106d8-98b5-11cf-bb82-00aa00bdce0b")
IDOMCompositionEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initCompositionEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        BSTR data,
        BSTR locale) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_locale(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMCompositionEvent, 0x305106d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMCompositionEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMCompositionEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMCompositionEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMCompositionEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMCompositionEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMCompositionEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMCompositionEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMCompositionEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMCompositionEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_data)(
        IDOMCompositionEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *initCompositionEvent)(
        IDOMCompositionEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        BSTR data,
        BSTR locale);

    HRESULT (STDMETHODCALLTYPE *get_locale)(
        IDOMCompositionEvent *This,
        BSTR *p);

    END_INTERFACE
} IDOMCompositionEventVtbl;

interface IDOMCompositionEvent {
    CONST_VTBL IDOMCompositionEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMCompositionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMCompositionEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMCompositionEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMCompositionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMCompositionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMCompositionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMCompositionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMCompositionEvent methods ***/
#define IDOMCompositionEvent_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#define IDOMCompositionEvent_initCompositionEvent(This,eventType,canBubble,cancelable,viewArg,data,locale) (This)->lpVtbl->initCompositionEvent(This,eventType,canBubble,cancelable,viewArg,data,locale)
#define IDOMCompositionEvent_get_locale(This,p) (This)->lpVtbl->get_locale(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMCompositionEvent_QueryInterface(IDOMCompositionEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMCompositionEvent_AddRef(IDOMCompositionEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMCompositionEvent_Release(IDOMCompositionEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMCompositionEvent_GetTypeInfoCount(IDOMCompositionEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMCompositionEvent_GetTypeInfo(IDOMCompositionEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMCompositionEvent_GetIDsOfNames(IDOMCompositionEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMCompositionEvent_Invoke(IDOMCompositionEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMCompositionEvent methods ***/
static inline HRESULT IDOMCompositionEvent_get_data(IDOMCompositionEvent* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static inline HRESULT IDOMCompositionEvent_initCompositionEvent(IDOMCompositionEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,BSTR data,BSTR locale) {
    return This->lpVtbl->initCompositionEvent(This,eventType,canBubble,cancelable,viewArg,data,locale);
}
static inline HRESULT IDOMCompositionEvent_get_locale(IDOMCompositionEvent* This,BSTR *p) {
    return This->lpVtbl->get_locale(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMCompositionEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMCompositionEvent dispinterface
 */
#ifndef __DispDOMCompositionEvent_DISPINTERFACE_DEFINED__
#define __DispDOMCompositionEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMCompositionEvent, 0x30590078, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590078-98b5-11cf-bb82-00aa00bdce0b")
DispDOMCompositionEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMCompositionEvent, 0x30590078, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMCompositionEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMCompositionEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMCompositionEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMCompositionEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMCompositionEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMCompositionEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMCompositionEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMCompositionEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMCompositionEventVtbl;

interface DispDOMCompositionEvent {
    CONST_VTBL DispDOMCompositionEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMCompositionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMCompositionEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMCompositionEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMCompositionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMCompositionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMCompositionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMCompositionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMCompositionEvent_QueryInterface(DispDOMCompositionEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMCompositionEvent_AddRef(DispDOMCompositionEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMCompositionEvent_Release(DispDOMCompositionEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMCompositionEvent_GetTypeInfoCount(DispDOMCompositionEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMCompositionEvent_GetTypeInfo(DispDOMCompositionEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMCompositionEvent_GetIDsOfNames(DispDOMCompositionEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMCompositionEvent_Invoke(DispDOMCompositionEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMCompositionEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMCompositionEvent coclass
 */

DEFINE_GUID(CLSID_DOMCompositionEvent, 0x305106d9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106d9-98b5-11cf-bb82-00aa00bdce0b") DOMCompositionEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMCompositionEvent, 0x305106d9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMCompositionEvent;
/*****************************************************************************
 * IDOMMutationEvent interface
 */
#ifndef __IDOMMutationEvent_INTERFACE_DEFINED__
#define __IDOMMutationEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMMutationEvent, 0x305106da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106da-98b5-11cf-bb82-00aa00bdce0b")
IDOMMutationEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_relatedNode(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_prevValue(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_newValue(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_attrName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_attrChange(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initMutationEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IDispatch *relatedNodeArg,
        BSTR prevValueArg,
        BSTR newValueArg,
        BSTR attrNameArg,
        USHORT attrChangeArg) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMMutationEvent, 0x305106da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMMutationEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMMutationEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMMutationEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMMutationEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMMutationEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMMutationEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMMutationEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMMutationEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMMutationEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_relatedNode)(
        IDOMMutationEvent *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_prevValue)(
        IDOMMutationEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_newValue)(
        IDOMMutationEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_attrName)(
        IDOMMutationEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_attrChange)(
        IDOMMutationEvent *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *initMutationEvent)(
        IDOMMutationEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IDispatch *relatedNodeArg,
        BSTR prevValueArg,
        BSTR newValueArg,
        BSTR attrNameArg,
        USHORT attrChangeArg);

    END_INTERFACE
} IDOMMutationEventVtbl;

interface IDOMMutationEvent {
    CONST_VTBL IDOMMutationEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMMutationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMMutationEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMMutationEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMMutationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMMutationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMMutationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMMutationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMMutationEvent methods ***/
#define IDOMMutationEvent_get_relatedNode(This,p) (This)->lpVtbl->get_relatedNode(This,p)
#define IDOMMutationEvent_get_prevValue(This,p) (This)->lpVtbl->get_prevValue(This,p)
#define IDOMMutationEvent_get_newValue(This,p) (This)->lpVtbl->get_newValue(This,p)
#define IDOMMutationEvent_get_attrName(This,p) (This)->lpVtbl->get_attrName(This,p)
#define IDOMMutationEvent_get_attrChange(This,p) (This)->lpVtbl->get_attrChange(This,p)
#define IDOMMutationEvent_initMutationEvent(This,eventType,canBubble,cancelable,relatedNodeArg,prevValueArg,newValueArg,attrNameArg,attrChangeArg) (This)->lpVtbl->initMutationEvent(This,eventType,canBubble,cancelable,relatedNodeArg,prevValueArg,newValueArg,attrNameArg,attrChangeArg)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMMutationEvent_QueryInterface(IDOMMutationEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMMutationEvent_AddRef(IDOMMutationEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMMutationEvent_Release(IDOMMutationEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMMutationEvent_GetTypeInfoCount(IDOMMutationEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMMutationEvent_GetTypeInfo(IDOMMutationEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMMutationEvent_GetIDsOfNames(IDOMMutationEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMMutationEvent_Invoke(IDOMMutationEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMMutationEvent methods ***/
static inline HRESULT IDOMMutationEvent_get_relatedNode(IDOMMutationEvent* This,IDispatch **p) {
    return This->lpVtbl->get_relatedNode(This,p);
}
static inline HRESULT IDOMMutationEvent_get_prevValue(IDOMMutationEvent* This,BSTR *p) {
    return This->lpVtbl->get_prevValue(This,p);
}
static inline HRESULT IDOMMutationEvent_get_newValue(IDOMMutationEvent* This,BSTR *p) {
    return This->lpVtbl->get_newValue(This,p);
}
static inline HRESULT IDOMMutationEvent_get_attrName(IDOMMutationEvent* This,BSTR *p) {
    return This->lpVtbl->get_attrName(This,p);
}
static inline HRESULT IDOMMutationEvent_get_attrChange(IDOMMutationEvent* This,USHORT *p) {
    return This->lpVtbl->get_attrChange(This,p);
}
static inline HRESULT IDOMMutationEvent_initMutationEvent(IDOMMutationEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IDispatch *relatedNodeArg,BSTR prevValueArg,BSTR newValueArg,BSTR attrNameArg,USHORT attrChangeArg) {
    return This->lpVtbl->initMutationEvent(This,eventType,canBubble,cancelable,relatedNodeArg,prevValueArg,newValueArg,attrNameArg,attrChangeArg);
}
#endif
#endif

#endif


#endif  /* __IDOMMutationEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMMutationEvent dispinterface
 */
#ifndef __DispDOMMutationEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMutationEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMMutationEvent, 0x30590079, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590079-98b5-11cf-bb82-00aa00bdce0b")
DispDOMMutationEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMMutationEvent, 0x30590079, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMMutationEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMMutationEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMMutationEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMMutationEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMMutationEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMMutationEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMMutationEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMMutationEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMMutationEventVtbl;

interface DispDOMMutationEvent {
    CONST_VTBL DispDOMMutationEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMMutationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMMutationEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMMutationEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMMutationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMMutationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMMutationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMMutationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMMutationEvent_QueryInterface(DispDOMMutationEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMMutationEvent_AddRef(DispDOMMutationEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMMutationEvent_Release(DispDOMMutationEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMMutationEvent_GetTypeInfoCount(DispDOMMutationEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMMutationEvent_GetTypeInfo(DispDOMMutationEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMMutationEvent_GetIDsOfNames(DispDOMMutationEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMMutationEvent_Invoke(DispDOMMutationEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMMutationEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMMutationEvent coclass
 */

DEFINE_GUID(CLSID_DOMMutationEvent, 0x305106db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106db-98b5-11cf-bb82-00aa00bdce0b") DOMMutationEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMMutationEvent, 0x305106db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMMutationEvent;
/*****************************************************************************
 * IDOMBeforeUnloadEvent interface
 */
#ifndef __IDOMBeforeUnloadEvent_INTERFACE_DEFINED__
#define __IDOMBeforeUnloadEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMBeforeUnloadEvent, 0x30510763, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510763-98b5-11cf-bb82-00aa00bdce0b")
IDOMBeforeUnloadEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_returnValue(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_returnValue(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMBeforeUnloadEvent, 0x30510763, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMBeforeUnloadEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMBeforeUnloadEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMBeforeUnloadEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMBeforeUnloadEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMBeforeUnloadEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMBeforeUnloadEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMBeforeUnloadEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMBeforeUnloadEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMBeforeUnloadEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *put_returnValue)(
        IDOMBeforeUnloadEvent *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_returnValue)(
        IDOMBeforeUnloadEvent *This,
        VARIANT *p);

    END_INTERFACE
} IDOMBeforeUnloadEventVtbl;

interface IDOMBeforeUnloadEvent {
    CONST_VTBL IDOMBeforeUnloadEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMBeforeUnloadEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMBeforeUnloadEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMBeforeUnloadEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMBeforeUnloadEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMBeforeUnloadEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMBeforeUnloadEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMBeforeUnloadEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMBeforeUnloadEvent methods ***/
#define IDOMBeforeUnloadEvent_put_returnValue(This,v) (This)->lpVtbl->put_returnValue(This,v)
#define IDOMBeforeUnloadEvent_get_returnValue(This,p) (This)->lpVtbl->get_returnValue(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMBeforeUnloadEvent_QueryInterface(IDOMBeforeUnloadEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMBeforeUnloadEvent_AddRef(IDOMBeforeUnloadEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMBeforeUnloadEvent_Release(IDOMBeforeUnloadEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMBeforeUnloadEvent_GetTypeInfoCount(IDOMBeforeUnloadEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMBeforeUnloadEvent_GetTypeInfo(IDOMBeforeUnloadEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMBeforeUnloadEvent_GetIDsOfNames(IDOMBeforeUnloadEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMBeforeUnloadEvent_Invoke(IDOMBeforeUnloadEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMBeforeUnloadEvent methods ***/
static inline HRESULT IDOMBeforeUnloadEvent_put_returnValue(IDOMBeforeUnloadEvent* This,VARIANT v) {
    return This->lpVtbl->put_returnValue(This,v);
}
static inline HRESULT IDOMBeforeUnloadEvent_get_returnValue(IDOMBeforeUnloadEvent* This,VARIANT *p) {
    return This->lpVtbl->get_returnValue(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMBeforeUnloadEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMBeforeUnloadEvent dispinterface
 */
#ifndef __DispDOMBeforeUnloadEvent_DISPINTERFACE_DEFINED__
#define __DispDOMBeforeUnloadEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMBeforeUnloadEvent, 0x305900a8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900a8-98b5-11cf-bb82-00aa00bdce0b")
DispDOMBeforeUnloadEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMBeforeUnloadEvent, 0x305900a8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMBeforeUnloadEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMBeforeUnloadEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMBeforeUnloadEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMBeforeUnloadEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMBeforeUnloadEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMBeforeUnloadEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMBeforeUnloadEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMBeforeUnloadEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMBeforeUnloadEventVtbl;

interface DispDOMBeforeUnloadEvent {
    CONST_VTBL DispDOMBeforeUnloadEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMBeforeUnloadEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMBeforeUnloadEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMBeforeUnloadEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMBeforeUnloadEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMBeforeUnloadEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMBeforeUnloadEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMBeforeUnloadEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMBeforeUnloadEvent_QueryInterface(DispDOMBeforeUnloadEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMBeforeUnloadEvent_AddRef(DispDOMBeforeUnloadEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMBeforeUnloadEvent_Release(DispDOMBeforeUnloadEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMBeforeUnloadEvent_GetTypeInfoCount(DispDOMBeforeUnloadEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMBeforeUnloadEvent_GetTypeInfo(DispDOMBeforeUnloadEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMBeforeUnloadEvent_GetIDsOfNames(DispDOMBeforeUnloadEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMBeforeUnloadEvent_Invoke(DispDOMBeforeUnloadEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMBeforeUnloadEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMBeforeUnloadEvent coclass
 */

DEFINE_GUID(CLSID_DOMBeforeUnloadEvent, 0x30510764, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510764-98b5-11cf-bb82-00aa00bdce0b") DOMBeforeUnloadEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMBeforeUnloadEvent, 0x30510764, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMBeforeUnloadEvent;
/*****************************************************************************
 * IDOMFocusEvent interface
 */
#ifndef __IDOMFocusEvent_INTERFACE_DEFINED__
#define __IDOMFocusEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMFocusEvent, 0x305106cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106cc-98b5-11cf-bb82-00aa00bdce0b")
IDOMFocusEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_relatedTarget(
        IEventTarget **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initFocusEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *view,
        LONG detail,
        IEventTarget *relatedTargetArg) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMFocusEvent, 0x305106cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMFocusEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMFocusEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMFocusEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMFocusEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMFocusEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMFocusEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMFocusEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMFocusEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMFocusEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_relatedTarget)(
        IDOMFocusEvent *This,
        IEventTarget **p);

    HRESULT (STDMETHODCALLTYPE *initFocusEvent)(
        IDOMFocusEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *view,
        LONG detail,
        IEventTarget *relatedTargetArg);

    END_INTERFACE
} IDOMFocusEventVtbl;

interface IDOMFocusEvent {
    CONST_VTBL IDOMFocusEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMFocusEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMFocusEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMFocusEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMFocusEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMFocusEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMFocusEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMFocusEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMFocusEvent methods ***/
#define IDOMFocusEvent_get_relatedTarget(This,p) (This)->lpVtbl->get_relatedTarget(This,p)
#define IDOMFocusEvent_initFocusEvent(This,eventType,canBubble,cancelable,view,detail,relatedTargetArg) (This)->lpVtbl->initFocusEvent(This,eventType,canBubble,cancelable,view,detail,relatedTargetArg)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMFocusEvent_QueryInterface(IDOMFocusEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMFocusEvent_AddRef(IDOMFocusEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMFocusEvent_Release(IDOMFocusEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMFocusEvent_GetTypeInfoCount(IDOMFocusEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMFocusEvent_GetTypeInfo(IDOMFocusEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMFocusEvent_GetIDsOfNames(IDOMFocusEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMFocusEvent_Invoke(IDOMFocusEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMFocusEvent methods ***/
static inline HRESULT IDOMFocusEvent_get_relatedTarget(IDOMFocusEvent* This,IEventTarget **p) {
    return This->lpVtbl->get_relatedTarget(This,p);
}
static inline HRESULT IDOMFocusEvent_initFocusEvent(IDOMFocusEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *view,LONG detail,IEventTarget *relatedTargetArg) {
    return This->lpVtbl->initFocusEvent(This,eventType,canBubble,cancelable,view,detail,relatedTargetArg);
}
#endif
#endif

#endif


#endif  /* __IDOMFocusEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMFocusEvent dispinterface
 */
#ifndef __DispDOMFocusEvent_DISPINTERFACE_DEFINED__
#define __DispDOMFocusEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMFocusEvent, 0x30590071, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590071-98b5-11cf-bb82-00aa00bdce0b")
DispDOMFocusEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMFocusEvent, 0x30590071, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMFocusEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMFocusEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMFocusEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMFocusEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMFocusEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMFocusEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMFocusEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMFocusEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMFocusEventVtbl;

interface DispDOMFocusEvent {
    CONST_VTBL DispDOMFocusEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMFocusEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMFocusEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMFocusEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMFocusEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMFocusEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMFocusEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMFocusEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMFocusEvent_QueryInterface(DispDOMFocusEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMFocusEvent_AddRef(DispDOMFocusEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMFocusEvent_Release(DispDOMFocusEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMFocusEvent_GetTypeInfoCount(DispDOMFocusEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMFocusEvent_GetTypeInfo(DispDOMFocusEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMFocusEvent_GetIDsOfNames(DispDOMFocusEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMFocusEvent_Invoke(DispDOMFocusEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMFocusEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMFocusEvent coclass
 */

DEFINE_GUID(CLSID_DOMFocusEvent, 0x305106cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106cd-98b5-11cf-bb82-00aa00bdce0b") DOMFocusEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMFocusEvent, 0x305106cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMFocusEvent;
/*****************************************************************************
 * IDOMCustomEvent interface
 */
#ifndef __IDOMCustomEvent_INTERFACE_DEFINED__
#define __IDOMCustomEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMCustomEvent, 0x305106de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106de-98b5-11cf-bb82-00aa00bdce0b")
IDOMCustomEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_detail(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initCustomEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        VARIANT *detail) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMCustomEvent, 0x305106de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMCustomEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMCustomEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMCustomEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMCustomEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMCustomEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMCustomEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMCustomEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMCustomEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMCustomEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_detail)(
        IDOMCustomEvent *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *initCustomEvent)(
        IDOMCustomEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        VARIANT *detail);

    END_INTERFACE
} IDOMCustomEventVtbl;

interface IDOMCustomEvent {
    CONST_VTBL IDOMCustomEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMCustomEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMCustomEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMCustomEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMCustomEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMCustomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMCustomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMCustomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMCustomEvent methods ***/
#define IDOMCustomEvent_get_detail(This,p) (This)->lpVtbl->get_detail(This,p)
#define IDOMCustomEvent_initCustomEvent(This,eventType,canBubble,cancelable,detail) (This)->lpVtbl->initCustomEvent(This,eventType,canBubble,cancelable,detail)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMCustomEvent_QueryInterface(IDOMCustomEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMCustomEvent_AddRef(IDOMCustomEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMCustomEvent_Release(IDOMCustomEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMCustomEvent_GetTypeInfoCount(IDOMCustomEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMCustomEvent_GetTypeInfo(IDOMCustomEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMCustomEvent_GetIDsOfNames(IDOMCustomEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMCustomEvent_Invoke(IDOMCustomEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMCustomEvent methods ***/
static inline HRESULT IDOMCustomEvent_get_detail(IDOMCustomEvent* This,VARIANT *p) {
    return This->lpVtbl->get_detail(This,p);
}
static inline HRESULT IDOMCustomEvent_initCustomEvent(IDOMCustomEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,VARIANT *detail) {
    return This->lpVtbl->initCustomEvent(This,eventType,canBubble,cancelable,detail);
}
#endif
#endif

#endif


#endif  /* __IDOMCustomEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMCustomEvent dispinterface
 */
#ifndef __DispDOMCustomEvent_DISPINTERFACE_DEFINED__
#define __DispDOMCustomEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMCustomEvent, 0x3059007c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059007c-98b5-11cf-bb82-00aa00bdce0b")
DispDOMCustomEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMCustomEvent, 0x3059007c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMCustomEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMCustomEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMCustomEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMCustomEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMCustomEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMCustomEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMCustomEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMCustomEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMCustomEventVtbl;

interface DispDOMCustomEvent {
    CONST_VTBL DispDOMCustomEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMCustomEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMCustomEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMCustomEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMCustomEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMCustomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMCustomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMCustomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMCustomEvent_QueryInterface(DispDOMCustomEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMCustomEvent_AddRef(DispDOMCustomEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMCustomEvent_Release(DispDOMCustomEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMCustomEvent_GetTypeInfoCount(DispDOMCustomEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMCustomEvent_GetTypeInfo(DispDOMCustomEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMCustomEvent_GetIDsOfNames(DispDOMCustomEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMCustomEvent_Invoke(DispDOMCustomEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMCustomEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMCustomEvent coclass
 */

DEFINE_GUID(CLSID_DOMCustomEvent, 0x305106df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106df-98b5-11cf-bb82-00aa00bdce0b") DOMCustomEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMCustomEvent, 0x305106df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMCustomEvent;
/*****************************************************************************
 * ICanvasGradient interface
 */
#ifndef __ICanvasGradient_INTERFACE_DEFINED__
#define __ICanvasGradient_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICanvasGradient, 0x30510714, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510714-98b5-11cf-bb82-00aa00bdce0b")
ICanvasGradient : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE addColorStop(
        float offset,
        BSTR color) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICanvasGradient, 0x30510714, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICanvasGradientVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICanvasGradient *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICanvasGradient *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICanvasGradient *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ICanvasGradient *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ICanvasGradient *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ICanvasGradient *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ICanvasGradient *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ICanvasGradient methods ***/
    HRESULT (STDMETHODCALLTYPE *addColorStop)(
        ICanvasGradient *This,
        float offset,
        BSTR color);

    END_INTERFACE
} ICanvasGradientVtbl;

interface ICanvasGradient {
    CONST_VTBL ICanvasGradientVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICanvasGradient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICanvasGradient_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICanvasGradient_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ICanvasGradient_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ICanvasGradient_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ICanvasGradient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ICanvasGradient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ICanvasGradient methods ***/
#define ICanvasGradient_addColorStop(This,offset,color) (This)->lpVtbl->addColorStop(This,offset,color)
#else
/*** IUnknown methods ***/
static inline HRESULT ICanvasGradient_QueryInterface(ICanvasGradient* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICanvasGradient_AddRef(ICanvasGradient* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICanvasGradient_Release(ICanvasGradient* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ICanvasGradient_GetTypeInfoCount(ICanvasGradient* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ICanvasGradient_GetTypeInfo(ICanvasGradient* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ICanvasGradient_GetIDsOfNames(ICanvasGradient* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ICanvasGradient_Invoke(ICanvasGradient* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ICanvasGradient methods ***/
static inline HRESULT ICanvasGradient_addColorStop(ICanvasGradient* This,float offset,BSTR color) {
    return This->lpVtbl->addColorStop(This,offset,color);
}
#endif
#endif

#endif


#endif  /* __ICanvasGradient_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ICanvasPattern interface
 */
#ifndef __ICanvasPattern_INTERFACE_DEFINED__
#define __ICanvasPattern_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICanvasPattern, 0x30510716, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510716-98b5-11cf-bb82-00aa00bdce0b")
ICanvasPattern : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICanvasPattern, 0x30510716, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICanvasPatternVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICanvasPattern *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICanvasPattern *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICanvasPattern *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ICanvasPattern *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ICanvasPattern *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ICanvasPattern *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ICanvasPattern *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ICanvasPatternVtbl;

interface ICanvasPattern {
    CONST_VTBL ICanvasPatternVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICanvasPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICanvasPattern_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICanvasPattern_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ICanvasPattern_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ICanvasPattern_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ICanvasPattern_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ICanvasPattern_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ICanvasPattern_QueryInterface(ICanvasPattern* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICanvasPattern_AddRef(ICanvasPattern* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICanvasPattern_Release(ICanvasPattern* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ICanvasPattern_GetTypeInfoCount(ICanvasPattern* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ICanvasPattern_GetTypeInfo(ICanvasPattern* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ICanvasPattern_GetIDsOfNames(ICanvasPattern* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ICanvasPattern_Invoke(ICanvasPattern* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ICanvasPattern_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ICanvasTextMetrics interface
 */
#ifndef __ICanvasTextMetrics_INTERFACE_DEFINED__
#define __ICanvasTextMetrics_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICanvasTextMetrics, 0x30510718, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510718-98b5-11cf-bb82-00aa00bdce0b")
ICanvasTextMetrics : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_width(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICanvasTextMetrics, 0x30510718, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICanvasTextMetricsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICanvasTextMetrics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICanvasTextMetrics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICanvasTextMetrics *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ICanvasTextMetrics *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ICanvasTextMetrics *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ICanvasTextMetrics *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ICanvasTextMetrics *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ICanvasTextMetrics methods ***/
    HRESULT (STDMETHODCALLTYPE *get_width)(
        ICanvasTextMetrics *This,
        float *p);

    END_INTERFACE
} ICanvasTextMetricsVtbl;

interface ICanvasTextMetrics {
    CONST_VTBL ICanvasTextMetricsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICanvasTextMetrics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICanvasTextMetrics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICanvasTextMetrics_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ICanvasTextMetrics_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ICanvasTextMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ICanvasTextMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ICanvasTextMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ICanvasTextMetrics methods ***/
#define ICanvasTextMetrics_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ICanvasTextMetrics_QueryInterface(ICanvasTextMetrics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICanvasTextMetrics_AddRef(ICanvasTextMetrics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICanvasTextMetrics_Release(ICanvasTextMetrics* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ICanvasTextMetrics_GetTypeInfoCount(ICanvasTextMetrics* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ICanvasTextMetrics_GetTypeInfo(ICanvasTextMetrics* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ICanvasTextMetrics_GetIDsOfNames(ICanvasTextMetrics* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ICanvasTextMetrics_Invoke(ICanvasTextMetrics* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ICanvasTextMetrics methods ***/
static inline HRESULT ICanvasTextMetrics_get_width(ICanvasTextMetrics* This,float *p) {
    return This->lpVtbl->get_width(This,p);
}
#endif
#endif

#endif


#endif  /* __ICanvasTextMetrics_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ICanvasImageData interface
 */
#ifndef __ICanvasImageData_INTERFACE_DEFINED__
#define __ICanvasImageData_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICanvasImageData, 0x3051071a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051071a-98b5-11cf-bb82-00aa00bdce0b")
ICanvasImageData : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_width(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICanvasImageData, 0x3051071a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICanvasImageDataVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICanvasImageData *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICanvasImageData *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICanvasImageData *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ICanvasImageData *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ICanvasImageData *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ICanvasImageData *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ICanvasImageData *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ICanvasImageData methods ***/
    HRESULT (STDMETHODCALLTYPE *get_width)(
        ICanvasImageData *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ICanvasImageData *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        ICanvasImageData *This,
        VARIANT *p);

    END_INTERFACE
} ICanvasImageDataVtbl;

interface ICanvasImageData {
    CONST_VTBL ICanvasImageDataVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICanvasImageData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICanvasImageData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICanvasImageData_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ICanvasImageData_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ICanvasImageData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ICanvasImageData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ICanvasImageData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ICanvasImageData methods ***/
#define ICanvasImageData_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ICanvasImageData_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define ICanvasImageData_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ICanvasImageData_QueryInterface(ICanvasImageData* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICanvasImageData_AddRef(ICanvasImageData* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICanvasImageData_Release(ICanvasImageData* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ICanvasImageData_GetTypeInfoCount(ICanvasImageData* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ICanvasImageData_GetTypeInfo(ICanvasImageData* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ICanvasImageData_GetIDsOfNames(ICanvasImageData* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ICanvasImageData_Invoke(ICanvasImageData* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ICanvasImageData methods ***/
static inline HRESULT ICanvasImageData_get_width(ICanvasImageData* This,ULONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ICanvasImageData_get_height(ICanvasImageData* This,ULONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT ICanvasImageData_get_data(ICanvasImageData* This,VARIANT *p) {
    return This->lpVtbl->get_data(This,p);
}
#endif
#endif

#endif


#endif  /* __ICanvasImageData_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ICanvasPixelArray interface
 */
#ifndef __ICanvasPixelArray_INTERFACE_DEFINED__
#define __ICanvasPixelArray_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICanvasPixelArray, 0x3051071c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051071c-98b5-11cf-bb82-00aa00bdce0b")
ICanvasPixelArray : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        ULONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICanvasPixelArray, 0x3051071c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICanvasPixelArrayVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICanvasPixelArray *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICanvasPixelArray *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICanvasPixelArray *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ICanvasPixelArray *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ICanvasPixelArray *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ICanvasPixelArray *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ICanvasPixelArray *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ICanvasPixelArray methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        ICanvasPixelArray *This,
        ULONG *p);

    END_INTERFACE
} ICanvasPixelArrayVtbl;

interface ICanvasPixelArray {
    CONST_VTBL ICanvasPixelArrayVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICanvasPixelArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICanvasPixelArray_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICanvasPixelArray_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ICanvasPixelArray_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ICanvasPixelArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ICanvasPixelArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ICanvasPixelArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ICanvasPixelArray methods ***/
#define ICanvasPixelArray_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ICanvasPixelArray_QueryInterface(ICanvasPixelArray* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICanvasPixelArray_AddRef(ICanvasPixelArray* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICanvasPixelArray_Release(ICanvasPixelArray* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ICanvasPixelArray_GetTypeInfoCount(ICanvasPixelArray* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ICanvasPixelArray_GetTypeInfo(ICanvasPixelArray* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ICanvasPixelArray_GetIDsOfNames(ICanvasPixelArray* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ICanvasPixelArray_Invoke(ICanvasPixelArray* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ICanvasPixelArray methods ***/
static inline HRESULT ICanvasPixelArray_get_length(ICanvasPixelArray* This,ULONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __ICanvasPixelArray_INTERFACE_DEFINED__ */

#ifndef __IHTMLCanvasElement_FWD_DEFINED__
#define __IHTMLCanvasElement_FWD_DEFINED__
typedef interface IHTMLCanvasElement IHTMLCanvasElement;
#ifdef __cplusplus
interface IHTMLCanvasElement;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ICanvasRenderingContext2D interface
 */
#ifndef __ICanvasRenderingContext2D_INTERFACE_DEFINED__
#define __ICanvasRenderingContext2D_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICanvasRenderingContext2D, 0x305106ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106ff-98b5-11cf-bb82-00aa00bdce0b")
ICanvasRenderingContext2D : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_canvas(
        IHTMLCanvasElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE restore(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE save(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE rotate(
        float angle) = 0;

    virtual HRESULT STDMETHODCALLTYPE scale(
        float x,
        float y) = 0;

    virtual HRESULT STDMETHODCALLTYPE setTransform(
        float m11,
        float m12,
        float m21,
        float m22,
        float dx,
        float dy) = 0;

    virtual HRESULT STDMETHODCALLTYPE transform(
        float m11,
        float m12,
        float m21,
        float m22,
        float dx,
        float dy) = 0;

    virtual HRESULT STDMETHODCALLTYPE translate(
        float x,
        float y) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_globalAlpha(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_globalAlpha(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_globalCompositeOperation(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_globalCompositeOperation(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_fillStyle(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fillStyle(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_strokeStyle(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strokeStyle(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createLinearGradient(
        float x0,
        float y0,
        float x1,
        float y1,
        ICanvasGradient **ppCanvasGradient) = 0;

    virtual HRESULT STDMETHODCALLTYPE createRadialGradient(
        float x0,
        float y0,
        float r0,
        float x1,
        float y1,
        float r1,
        ICanvasGradient **ppCanvasGradient) = 0;

    virtual HRESULT STDMETHODCALLTYPE createPattern(
        IDispatch *image,
        VARIANT repetition,
        ICanvasPattern **ppCanvasPattern) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineCap(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineCap(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineJoin(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineJoin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_lineWidth(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineWidth(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_miterLimit(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_miterLimit(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_shadowBlur(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shadowBlur(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_shadowColor(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shadowColor(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_shadowOffsetX(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shadowOffsetX(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_shadowOffsetY(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_shadowOffsetY(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearRect(
        float x,
        float y,
        float w,
        float h) = 0;

    virtual HRESULT STDMETHODCALLTYPE fillRect(
        float x,
        float y,
        float w,
        float h) = 0;

    virtual HRESULT STDMETHODCALLTYPE strokeRect(
        float x,
        float y,
        float w,
        float h) = 0;

    virtual HRESULT STDMETHODCALLTYPE arc(
        float x,
        float y,
        float radius,
        float startAngle,
        float endAngle,
        WINBOOL anticlockwise) = 0;

    virtual HRESULT STDMETHODCALLTYPE arcTo(
        float x1,
        float y1,
        float x2,
        float y2,
        float radius) = 0;

    virtual HRESULT STDMETHODCALLTYPE beginPath(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE bezierCurveTo(
        float cp1x,
        float cp1y,
        float cp2x,
        float cp2y,
        float x,
        float y) = 0;

    virtual HRESULT STDMETHODCALLTYPE clip(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE closePath(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE fill(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE lineTo(
        float x,
        float y) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveTo(
        float x,
        float y) = 0;

    virtual HRESULT STDMETHODCALLTYPE quadraticCurveTo(
        float cpx,
        float cpy,
        float x,
        float y) = 0;

    virtual HRESULT STDMETHODCALLTYPE rect(
        float x,
        float y,
        float w,
        float h) = 0;

    virtual HRESULT STDMETHODCALLTYPE stroke(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE isPointInPath(
        float x,
        float y,
        VARIANT_BOOL *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_font(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_font(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textAlign(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textAlign(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_textBaseline(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textBaseline(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE fillText(
        BSTR text,
        float x,
        float y,
        VARIANT maxWidth) = 0;

    virtual HRESULT STDMETHODCALLTYPE measureText(
        BSTR text,
        ICanvasTextMetrics **ppCanvasTextMetrics) = 0;

    virtual HRESULT STDMETHODCALLTYPE strokeText(
        BSTR text,
        float x,
        float y,
        VARIANT maxWidth) = 0;

    virtual HRESULT STDMETHODCALLTYPE drawImage(
        IDispatch *pSrc,
        VARIANT a1,
        VARIANT a2,
        VARIANT a3,
        VARIANT a4,
        VARIANT a5,
        VARIANT a6,
        VARIANT a7,
        VARIANT a8) = 0;

    virtual HRESULT STDMETHODCALLTYPE createImageData(
        VARIANT a1,
        VARIANT a2,
        ICanvasImageData **ppCanvasImageData) = 0;

    virtual HRESULT STDMETHODCALLTYPE getImageData(
        float sx,
        float sy,
        float sw,
        float sh,
        ICanvasImageData **ppCanvasImageData) = 0;

    virtual HRESULT STDMETHODCALLTYPE putImageData(
        ICanvasImageData *imagedata,
        float dx,
        float dy,
        VARIANT dirtyX,
        VARIANT dirtyY,
        VARIANT dirtyWidth,
        VARIANT dirtyHeight) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICanvasRenderingContext2D, 0x305106ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICanvasRenderingContext2DVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICanvasRenderingContext2D *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICanvasRenderingContext2D *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICanvasRenderingContext2D *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ICanvasRenderingContext2D *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ICanvasRenderingContext2D *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ICanvasRenderingContext2D *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ICanvasRenderingContext2D *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ICanvasRenderingContext2D methods ***/
    HRESULT (STDMETHODCALLTYPE *get_canvas)(
        ICanvasRenderingContext2D *This,
        IHTMLCanvasElement **p);

    HRESULT (STDMETHODCALLTYPE *restore)(
        ICanvasRenderingContext2D *This);

    HRESULT (STDMETHODCALLTYPE *save)(
        ICanvasRenderingContext2D *This);

    HRESULT (STDMETHODCALLTYPE *rotate)(
        ICanvasRenderingContext2D *This,
        float angle);

    HRESULT (STDMETHODCALLTYPE *scale)(
        ICanvasRenderingContext2D *This,
        float x,
        float y);

    HRESULT (STDMETHODCALLTYPE *setTransform)(
        ICanvasRenderingContext2D *This,
        float m11,
        float m12,
        float m21,
        float m22,
        float dx,
        float dy);

    HRESULT (STDMETHODCALLTYPE *transform)(
        ICanvasRenderingContext2D *This,
        float m11,
        float m12,
        float m21,
        float m22,
        float dx,
        float dy);

    HRESULT (STDMETHODCALLTYPE *translate)(
        ICanvasRenderingContext2D *This,
        float x,
        float y);

    HRESULT (STDMETHODCALLTYPE *put_globalAlpha)(
        ICanvasRenderingContext2D *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_globalAlpha)(
        ICanvasRenderingContext2D *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_globalCompositeOperation)(
        ICanvasRenderingContext2D *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_globalCompositeOperation)(
        ICanvasRenderingContext2D *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_fillStyle)(
        ICanvasRenderingContext2D *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_fillStyle)(
        ICanvasRenderingContext2D *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_strokeStyle)(
        ICanvasRenderingContext2D *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_strokeStyle)(
        ICanvasRenderingContext2D *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *createLinearGradient)(
        ICanvasRenderingContext2D *This,
        float x0,
        float y0,
        float x1,
        float y1,
        ICanvasGradient **ppCanvasGradient);

    HRESULT (STDMETHODCALLTYPE *createRadialGradient)(
        ICanvasRenderingContext2D *This,
        float x0,
        float y0,
        float r0,
        float x1,
        float y1,
        float r1,
        ICanvasGradient **ppCanvasGradient);

    HRESULT (STDMETHODCALLTYPE *createPattern)(
        ICanvasRenderingContext2D *This,
        IDispatch *image,
        VARIANT repetition,
        ICanvasPattern **ppCanvasPattern);

    HRESULT (STDMETHODCALLTYPE *put_lineCap)(
        ICanvasRenderingContext2D *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lineCap)(
        ICanvasRenderingContext2D *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lineJoin)(
        ICanvasRenderingContext2D *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_lineJoin)(
        ICanvasRenderingContext2D *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_lineWidth)(
        ICanvasRenderingContext2D *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_lineWidth)(
        ICanvasRenderingContext2D *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_miterLimit)(
        ICanvasRenderingContext2D *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_miterLimit)(
        ICanvasRenderingContext2D *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_shadowBlur)(
        ICanvasRenderingContext2D *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_shadowBlur)(
        ICanvasRenderingContext2D *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_shadowColor)(
        ICanvasRenderingContext2D *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_shadowColor)(
        ICanvasRenderingContext2D *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_shadowOffsetX)(
        ICanvasRenderingContext2D *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_shadowOffsetX)(
        ICanvasRenderingContext2D *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_shadowOffsetY)(
        ICanvasRenderingContext2D *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_shadowOffsetY)(
        ICanvasRenderingContext2D *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *clearRect)(
        ICanvasRenderingContext2D *This,
        float x,
        float y,
        float w,
        float h);

    HRESULT (STDMETHODCALLTYPE *fillRect)(
        ICanvasRenderingContext2D *This,
        float x,
        float y,
        float w,
        float h);

    HRESULT (STDMETHODCALLTYPE *strokeRect)(
        ICanvasRenderingContext2D *This,
        float x,
        float y,
        float w,
        float h);

    HRESULT (STDMETHODCALLTYPE *arc)(
        ICanvasRenderingContext2D *This,
        float x,
        float y,
        float radius,
        float startAngle,
        float endAngle,
        WINBOOL anticlockwise);

    HRESULT (STDMETHODCALLTYPE *arcTo)(
        ICanvasRenderingContext2D *This,
        float x1,
        float y1,
        float x2,
        float y2,
        float radius);

    HRESULT (STDMETHODCALLTYPE *beginPath)(
        ICanvasRenderingContext2D *This);

    HRESULT (STDMETHODCALLTYPE *bezierCurveTo)(
        ICanvasRenderingContext2D *This,
        float cp1x,
        float cp1y,
        float cp2x,
        float cp2y,
        float x,
        float y);

    HRESULT (STDMETHODCALLTYPE *clip)(
        ICanvasRenderingContext2D *This);

    HRESULT (STDMETHODCALLTYPE *closePath)(
        ICanvasRenderingContext2D *This);

    HRESULT (STDMETHODCALLTYPE *fill)(
        ICanvasRenderingContext2D *This);

    HRESULT (STDMETHODCALLTYPE *lineTo)(
        ICanvasRenderingContext2D *This,
        float x,
        float y);

    HRESULT (STDMETHODCALLTYPE *moveTo)(
        ICanvasRenderingContext2D *This,
        float x,
        float y);

    HRESULT (STDMETHODCALLTYPE *quadraticCurveTo)(
        ICanvasRenderingContext2D *This,
        float cpx,
        float cpy,
        float x,
        float y);

    HRESULT (STDMETHODCALLTYPE *rect)(
        ICanvasRenderingContext2D *This,
        float x,
        float y,
        float w,
        float h);

    HRESULT (STDMETHODCALLTYPE *stroke)(
        ICanvasRenderingContext2D *This);

    HRESULT (STDMETHODCALLTYPE *isPointInPath)(
        ICanvasRenderingContext2D *This,
        float x,
        float y,
        VARIANT_BOOL *pResult);

    HRESULT (STDMETHODCALLTYPE *put_font)(
        ICanvasRenderingContext2D *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_font)(
        ICanvasRenderingContext2D *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textAlign)(
        ICanvasRenderingContext2D *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textAlign)(
        ICanvasRenderingContext2D *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_textBaseline)(
        ICanvasRenderingContext2D *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_textBaseline)(
        ICanvasRenderingContext2D *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *fillText)(
        ICanvasRenderingContext2D *This,
        BSTR text,
        float x,
        float y,
        VARIANT maxWidth);

    HRESULT (STDMETHODCALLTYPE *measureText)(
        ICanvasRenderingContext2D *This,
        BSTR text,
        ICanvasTextMetrics **ppCanvasTextMetrics);

    HRESULT (STDMETHODCALLTYPE *strokeText)(
        ICanvasRenderingContext2D *This,
        BSTR text,
        float x,
        float y,
        VARIANT maxWidth);

    HRESULT (STDMETHODCALLTYPE *drawImage)(
        ICanvasRenderingContext2D *This,
        IDispatch *pSrc,
        VARIANT a1,
        VARIANT a2,
        VARIANT a3,
        VARIANT a4,
        VARIANT a5,
        VARIANT a6,
        VARIANT a7,
        VARIANT a8);

    HRESULT (STDMETHODCALLTYPE *createImageData)(
        ICanvasRenderingContext2D *This,
        VARIANT a1,
        VARIANT a2,
        ICanvasImageData **ppCanvasImageData);

    HRESULT (STDMETHODCALLTYPE *getImageData)(
        ICanvasRenderingContext2D *This,
        float sx,
        float sy,
        float sw,
        float sh,
        ICanvasImageData **ppCanvasImageData);

    HRESULT (STDMETHODCALLTYPE *putImageData)(
        ICanvasRenderingContext2D *This,
        ICanvasImageData *imagedata,
        float dx,
        float dy,
        VARIANT dirtyX,
        VARIANT dirtyY,
        VARIANT dirtyWidth,
        VARIANT dirtyHeight);

    END_INTERFACE
} ICanvasRenderingContext2DVtbl;

interface ICanvasRenderingContext2D {
    CONST_VTBL ICanvasRenderingContext2DVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICanvasRenderingContext2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICanvasRenderingContext2D_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICanvasRenderingContext2D_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ICanvasRenderingContext2D_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ICanvasRenderingContext2D_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ICanvasRenderingContext2D_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ICanvasRenderingContext2D_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ICanvasRenderingContext2D methods ***/
#define ICanvasRenderingContext2D_get_canvas(This,p) (This)->lpVtbl->get_canvas(This,p)
#define ICanvasRenderingContext2D_restore(This) (This)->lpVtbl->restore(This)
#define ICanvasRenderingContext2D_save(This) (This)->lpVtbl->save(This)
#define ICanvasRenderingContext2D_rotate(This,angle) (This)->lpVtbl->rotate(This,angle)
#define ICanvasRenderingContext2D_scale(This,x,y) (This)->lpVtbl->scale(This,x,y)
#define ICanvasRenderingContext2D_setTransform(This,m11,m12,m21,m22,dx,dy) (This)->lpVtbl->setTransform(This,m11,m12,m21,m22,dx,dy)
#define ICanvasRenderingContext2D_transform(This,m11,m12,m21,m22,dx,dy) (This)->lpVtbl->transform(This,m11,m12,m21,m22,dx,dy)
#define ICanvasRenderingContext2D_translate(This,x,y) (This)->lpVtbl->translate(This,x,y)
#define ICanvasRenderingContext2D_put_globalAlpha(This,v) (This)->lpVtbl->put_globalAlpha(This,v)
#define ICanvasRenderingContext2D_get_globalAlpha(This,p) (This)->lpVtbl->get_globalAlpha(This,p)
#define ICanvasRenderingContext2D_put_globalCompositeOperation(This,v) (This)->lpVtbl->put_globalCompositeOperation(This,v)
#define ICanvasRenderingContext2D_get_globalCompositeOperation(This,p) (This)->lpVtbl->get_globalCompositeOperation(This,p)
#define ICanvasRenderingContext2D_put_fillStyle(This,v) (This)->lpVtbl->put_fillStyle(This,v)
#define ICanvasRenderingContext2D_get_fillStyle(This,p) (This)->lpVtbl->get_fillStyle(This,p)
#define ICanvasRenderingContext2D_put_strokeStyle(This,v) (This)->lpVtbl->put_strokeStyle(This,v)
#define ICanvasRenderingContext2D_get_strokeStyle(This,p) (This)->lpVtbl->get_strokeStyle(This,p)
#define ICanvasRenderingContext2D_createLinearGradient(This,x0,y0,x1,y1,ppCanvasGradient) (This)->lpVtbl->createLinearGradient(This,x0,y0,x1,y1,ppCanvasGradient)
#define ICanvasRenderingContext2D_createRadialGradient(This,x0,y0,r0,x1,y1,r1,ppCanvasGradient) (This)->lpVtbl->createRadialGradient(This,x0,y0,r0,x1,y1,r1,ppCanvasGradient)
#define ICanvasRenderingContext2D_createPattern(This,image,repetition,ppCanvasPattern) (This)->lpVtbl->createPattern(This,image,repetition,ppCanvasPattern)
#define ICanvasRenderingContext2D_put_lineCap(This,v) (This)->lpVtbl->put_lineCap(This,v)
#define ICanvasRenderingContext2D_get_lineCap(This,p) (This)->lpVtbl->get_lineCap(This,p)
#define ICanvasRenderingContext2D_put_lineJoin(This,v) (This)->lpVtbl->put_lineJoin(This,v)
#define ICanvasRenderingContext2D_get_lineJoin(This,p) (This)->lpVtbl->get_lineJoin(This,p)
#define ICanvasRenderingContext2D_put_lineWidth(This,v) (This)->lpVtbl->put_lineWidth(This,v)
#define ICanvasRenderingContext2D_get_lineWidth(This,p) (This)->lpVtbl->get_lineWidth(This,p)
#define ICanvasRenderingContext2D_put_miterLimit(This,v) (This)->lpVtbl->put_miterLimit(This,v)
#define ICanvasRenderingContext2D_get_miterLimit(This,p) (This)->lpVtbl->get_miterLimit(This,p)
#define ICanvasRenderingContext2D_put_shadowBlur(This,v) (This)->lpVtbl->put_shadowBlur(This,v)
#define ICanvasRenderingContext2D_get_shadowBlur(This,p) (This)->lpVtbl->get_shadowBlur(This,p)
#define ICanvasRenderingContext2D_put_shadowColor(This,v) (This)->lpVtbl->put_shadowColor(This,v)
#define ICanvasRenderingContext2D_get_shadowColor(This,p) (This)->lpVtbl->get_shadowColor(This,p)
#define ICanvasRenderingContext2D_put_shadowOffsetX(This,v) (This)->lpVtbl->put_shadowOffsetX(This,v)
#define ICanvasRenderingContext2D_get_shadowOffsetX(This,p) (This)->lpVtbl->get_shadowOffsetX(This,p)
#define ICanvasRenderingContext2D_put_shadowOffsetY(This,v) (This)->lpVtbl->put_shadowOffsetY(This,v)
#define ICanvasRenderingContext2D_get_shadowOffsetY(This,p) (This)->lpVtbl->get_shadowOffsetY(This,p)
#define ICanvasRenderingContext2D_clearRect(This,x,y,w,h) (This)->lpVtbl->clearRect(This,x,y,w,h)
#define ICanvasRenderingContext2D_fillRect(This,x,y,w,h) (This)->lpVtbl->fillRect(This,x,y,w,h)
#define ICanvasRenderingContext2D_strokeRect(This,x,y,w,h) (This)->lpVtbl->strokeRect(This,x,y,w,h)
#define ICanvasRenderingContext2D_arc(This,x,y,radius,startAngle,endAngle,anticlockwise) (This)->lpVtbl->arc(This,x,y,radius,startAngle,endAngle,anticlockwise)
#define ICanvasRenderingContext2D_arcTo(This,x1,y1,x2,y2,radius) (This)->lpVtbl->arcTo(This,x1,y1,x2,y2,radius)
#define ICanvasRenderingContext2D_beginPath(This) (This)->lpVtbl->beginPath(This)
#define ICanvasRenderingContext2D_bezierCurveTo(This,cp1x,cp1y,cp2x,cp2y,x,y) (This)->lpVtbl->bezierCurveTo(This,cp1x,cp1y,cp2x,cp2y,x,y)
#define ICanvasRenderingContext2D_clip(This) (This)->lpVtbl->clip(This)
#define ICanvasRenderingContext2D_closePath(This) (This)->lpVtbl->closePath(This)
#define ICanvasRenderingContext2D_fill(This) (This)->lpVtbl->fill(This)
#define ICanvasRenderingContext2D_lineTo(This,x,y) (This)->lpVtbl->lineTo(This,x,y)
#define ICanvasRenderingContext2D_moveTo(This,x,y) (This)->lpVtbl->moveTo(This,x,y)
#define ICanvasRenderingContext2D_quadraticCurveTo(This,cpx,cpy,x,y) (This)->lpVtbl->quadraticCurveTo(This,cpx,cpy,x,y)
#define ICanvasRenderingContext2D_rect(This,x,y,w,h) (This)->lpVtbl->rect(This,x,y,w,h)
#define ICanvasRenderingContext2D_stroke(This) (This)->lpVtbl->stroke(This)
#define ICanvasRenderingContext2D_isPointInPath(This,x,y,pResult) (This)->lpVtbl->isPointInPath(This,x,y,pResult)
#define ICanvasRenderingContext2D_put_font(This,v) (This)->lpVtbl->put_font(This,v)
#define ICanvasRenderingContext2D_get_font(This,p) (This)->lpVtbl->get_font(This,p)
#define ICanvasRenderingContext2D_put_textAlign(This,v) (This)->lpVtbl->put_textAlign(This,v)
#define ICanvasRenderingContext2D_get_textAlign(This,p) (This)->lpVtbl->get_textAlign(This,p)
#define ICanvasRenderingContext2D_put_textBaseline(This,v) (This)->lpVtbl->put_textBaseline(This,v)
#define ICanvasRenderingContext2D_get_textBaseline(This,p) (This)->lpVtbl->get_textBaseline(This,p)
#define ICanvasRenderingContext2D_fillText(This,text,x,y,maxWidth) (This)->lpVtbl->fillText(This,text,x,y,maxWidth)
#define ICanvasRenderingContext2D_measureText(This,text,ppCanvasTextMetrics) (This)->lpVtbl->measureText(This,text,ppCanvasTextMetrics)
#define ICanvasRenderingContext2D_strokeText(This,text,x,y,maxWidth) (This)->lpVtbl->strokeText(This,text,x,y,maxWidth)
#define ICanvasRenderingContext2D_drawImage(This,pSrc,a1,a2,a3,a4,a5,a6,a7,a8) (This)->lpVtbl->drawImage(This,pSrc,a1,a2,a3,a4,a5,a6,a7,a8)
#define ICanvasRenderingContext2D_createImageData(This,a1,a2,ppCanvasImageData) (This)->lpVtbl->createImageData(This,a1,a2,ppCanvasImageData)
#define ICanvasRenderingContext2D_getImageData(This,sx,sy,sw,sh,ppCanvasImageData) (This)->lpVtbl->getImageData(This,sx,sy,sw,sh,ppCanvasImageData)
#define ICanvasRenderingContext2D_putImageData(This,imagedata,dx,dy,dirtyX,dirtyY,dirtyWidth,dirtyHeight) (This)->lpVtbl->putImageData(This,imagedata,dx,dy,dirtyX,dirtyY,dirtyWidth,dirtyHeight)
#else
/*** IUnknown methods ***/
static inline HRESULT ICanvasRenderingContext2D_QueryInterface(ICanvasRenderingContext2D* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICanvasRenderingContext2D_AddRef(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICanvasRenderingContext2D_Release(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ICanvasRenderingContext2D_GetTypeInfoCount(ICanvasRenderingContext2D* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ICanvasRenderingContext2D_GetTypeInfo(ICanvasRenderingContext2D* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ICanvasRenderingContext2D_GetIDsOfNames(ICanvasRenderingContext2D* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ICanvasRenderingContext2D_Invoke(ICanvasRenderingContext2D* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ICanvasRenderingContext2D methods ***/
static inline HRESULT ICanvasRenderingContext2D_get_canvas(ICanvasRenderingContext2D* This,IHTMLCanvasElement **p) {
    return This->lpVtbl->get_canvas(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_restore(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->restore(This);
}
static inline HRESULT ICanvasRenderingContext2D_save(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->save(This);
}
static inline HRESULT ICanvasRenderingContext2D_rotate(ICanvasRenderingContext2D* This,float angle) {
    return This->lpVtbl->rotate(This,angle);
}
static inline HRESULT ICanvasRenderingContext2D_scale(ICanvasRenderingContext2D* This,float x,float y) {
    return This->lpVtbl->scale(This,x,y);
}
static inline HRESULT ICanvasRenderingContext2D_setTransform(ICanvasRenderingContext2D* This,float m11,float m12,float m21,float m22,float dx,float dy) {
    return This->lpVtbl->setTransform(This,m11,m12,m21,m22,dx,dy);
}
static inline HRESULT ICanvasRenderingContext2D_transform(ICanvasRenderingContext2D* This,float m11,float m12,float m21,float m22,float dx,float dy) {
    return This->lpVtbl->transform(This,m11,m12,m21,m22,dx,dy);
}
static inline HRESULT ICanvasRenderingContext2D_translate(ICanvasRenderingContext2D* This,float x,float y) {
    return This->lpVtbl->translate(This,x,y);
}
static inline HRESULT ICanvasRenderingContext2D_put_globalAlpha(ICanvasRenderingContext2D* This,float v) {
    return This->lpVtbl->put_globalAlpha(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_globalAlpha(ICanvasRenderingContext2D* This,float *p) {
    return This->lpVtbl->get_globalAlpha(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_globalCompositeOperation(ICanvasRenderingContext2D* This,BSTR v) {
    return This->lpVtbl->put_globalCompositeOperation(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_globalCompositeOperation(ICanvasRenderingContext2D* This,BSTR *p) {
    return This->lpVtbl->get_globalCompositeOperation(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_fillStyle(ICanvasRenderingContext2D* This,VARIANT v) {
    return This->lpVtbl->put_fillStyle(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_fillStyle(ICanvasRenderingContext2D* This,VARIANT *p) {
    return This->lpVtbl->get_fillStyle(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_strokeStyle(ICanvasRenderingContext2D* This,VARIANT v) {
    return This->lpVtbl->put_strokeStyle(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_strokeStyle(ICanvasRenderingContext2D* This,VARIANT *p) {
    return This->lpVtbl->get_strokeStyle(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_createLinearGradient(ICanvasRenderingContext2D* This,float x0,float y0,float x1,float y1,ICanvasGradient **ppCanvasGradient) {
    return This->lpVtbl->createLinearGradient(This,x0,y0,x1,y1,ppCanvasGradient);
}
static inline HRESULT ICanvasRenderingContext2D_createRadialGradient(ICanvasRenderingContext2D* This,float x0,float y0,float r0,float x1,float y1,float r1,ICanvasGradient **ppCanvasGradient) {
    return This->lpVtbl->createRadialGradient(This,x0,y0,r0,x1,y1,r1,ppCanvasGradient);
}
static inline HRESULT ICanvasRenderingContext2D_createPattern(ICanvasRenderingContext2D* This,IDispatch *image,VARIANT repetition,ICanvasPattern **ppCanvasPattern) {
    return This->lpVtbl->createPattern(This,image,repetition,ppCanvasPattern);
}
static inline HRESULT ICanvasRenderingContext2D_put_lineCap(ICanvasRenderingContext2D* This,BSTR v) {
    return This->lpVtbl->put_lineCap(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_lineCap(ICanvasRenderingContext2D* This,BSTR *p) {
    return This->lpVtbl->get_lineCap(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_lineJoin(ICanvasRenderingContext2D* This,BSTR v) {
    return This->lpVtbl->put_lineJoin(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_lineJoin(ICanvasRenderingContext2D* This,BSTR *p) {
    return This->lpVtbl->get_lineJoin(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_lineWidth(ICanvasRenderingContext2D* This,float v) {
    return This->lpVtbl->put_lineWidth(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_lineWidth(ICanvasRenderingContext2D* This,float *p) {
    return This->lpVtbl->get_lineWidth(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_miterLimit(ICanvasRenderingContext2D* This,float v) {
    return This->lpVtbl->put_miterLimit(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_miterLimit(ICanvasRenderingContext2D* This,float *p) {
    return This->lpVtbl->get_miterLimit(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_shadowBlur(ICanvasRenderingContext2D* This,float v) {
    return This->lpVtbl->put_shadowBlur(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_shadowBlur(ICanvasRenderingContext2D* This,float *p) {
    return This->lpVtbl->get_shadowBlur(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_shadowColor(ICanvasRenderingContext2D* This,BSTR v) {
    return This->lpVtbl->put_shadowColor(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_shadowColor(ICanvasRenderingContext2D* This,BSTR *p) {
    return This->lpVtbl->get_shadowColor(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_shadowOffsetX(ICanvasRenderingContext2D* This,float v) {
    return This->lpVtbl->put_shadowOffsetX(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_shadowOffsetX(ICanvasRenderingContext2D* This,float *p) {
    return This->lpVtbl->get_shadowOffsetX(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_shadowOffsetY(ICanvasRenderingContext2D* This,float v) {
    return This->lpVtbl->put_shadowOffsetY(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_shadowOffsetY(ICanvasRenderingContext2D* This,float *p) {
    return This->lpVtbl->get_shadowOffsetY(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_clearRect(ICanvasRenderingContext2D* This,float x,float y,float w,float h) {
    return This->lpVtbl->clearRect(This,x,y,w,h);
}
static inline HRESULT ICanvasRenderingContext2D_fillRect(ICanvasRenderingContext2D* This,float x,float y,float w,float h) {
    return This->lpVtbl->fillRect(This,x,y,w,h);
}
static inline HRESULT ICanvasRenderingContext2D_strokeRect(ICanvasRenderingContext2D* This,float x,float y,float w,float h) {
    return This->lpVtbl->strokeRect(This,x,y,w,h);
}
static inline HRESULT ICanvasRenderingContext2D_arc(ICanvasRenderingContext2D* This,float x,float y,float radius,float startAngle,float endAngle,WINBOOL anticlockwise) {
    return This->lpVtbl->arc(This,x,y,radius,startAngle,endAngle,anticlockwise);
}
static inline HRESULT ICanvasRenderingContext2D_arcTo(ICanvasRenderingContext2D* This,float x1,float y1,float x2,float y2,float radius) {
    return This->lpVtbl->arcTo(This,x1,y1,x2,y2,radius);
}
static inline HRESULT ICanvasRenderingContext2D_beginPath(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->beginPath(This);
}
static inline HRESULT ICanvasRenderingContext2D_bezierCurveTo(ICanvasRenderingContext2D* This,float cp1x,float cp1y,float cp2x,float cp2y,float x,float y) {
    return This->lpVtbl->bezierCurveTo(This,cp1x,cp1y,cp2x,cp2y,x,y);
}
static inline HRESULT ICanvasRenderingContext2D_clip(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->clip(This);
}
static inline HRESULT ICanvasRenderingContext2D_closePath(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->closePath(This);
}
static inline HRESULT ICanvasRenderingContext2D_fill(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->fill(This);
}
static inline HRESULT ICanvasRenderingContext2D_lineTo(ICanvasRenderingContext2D* This,float x,float y) {
    return This->lpVtbl->lineTo(This,x,y);
}
static inline HRESULT ICanvasRenderingContext2D_moveTo(ICanvasRenderingContext2D* This,float x,float y) {
    return This->lpVtbl->moveTo(This,x,y);
}
static inline HRESULT ICanvasRenderingContext2D_quadraticCurveTo(ICanvasRenderingContext2D* This,float cpx,float cpy,float x,float y) {
    return This->lpVtbl->quadraticCurveTo(This,cpx,cpy,x,y);
}
static inline HRESULT ICanvasRenderingContext2D_rect(ICanvasRenderingContext2D* This,float x,float y,float w,float h) {
    return This->lpVtbl->rect(This,x,y,w,h);
}
static inline HRESULT ICanvasRenderingContext2D_stroke(ICanvasRenderingContext2D* This) {
    return This->lpVtbl->stroke(This);
}
static inline HRESULT ICanvasRenderingContext2D_isPointInPath(ICanvasRenderingContext2D* This,float x,float y,VARIANT_BOOL *pResult) {
    return This->lpVtbl->isPointInPath(This,x,y,pResult);
}
static inline HRESULT ICanvasRenderingContext2D_put_font(ICanvasRenderingContext2D* This,BSTR v) {
    return This->lpVtbl->put_font(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_font(ICanvasRenderingContext2D* This,BSTR *p) {
    return This->lpVtbl->get_font(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_textAlign(ICanvasRenderingContext2D* This,BSTR v) {
    return This->lpVtbl->put_textAlign(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_textAlign(ICanvasRenderingContext2D* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_put_textBaseline(ICanvasRenderingContext2D* This,BSTR v) {
    return This->lpVtbl->put_textBaseline(This,v);
}
static inline HRESULT ICanvasRenderingContext2D_get_textBaseline(ICanvasRenderingContext2D* This,BSTR *p) {
    return This->lpVtbl->get_textBaseline(This,p);
}
static inline HRESULT ICanvasRenderingContext2D_fillText(ICanvasRenderingContext2D* This,BSTR text,float x,float y,VARIANT maxWidth) {
    return This->lpVtbl->fillText(This,text,x,y,maxWidth);
}
static inline HRESULT ICanvasRenderingContext2D_measureText(ICanvasRenderingContext2D* This,BSTR text,ICanvasTextMetrics **ppCanvasTextMetrics) {
    return This->lpVtbl->measureText(This,text,ppCanvasTextMetrics);
}
static inline HRESULT ICanvasRenderingContext2D_strokeText(ICanvasRenderingContext2D* This,BSTR text,float x,float y,VARIANT maxWidth) {
    return This->lpVtbl->strokeText(This,text,x,y,maxWidth);
}
static inline HRESULT ICanvasRenderingContext2D_drawImage(ICanvasRenderingContext2D* This,IDispatch *pSrc,VARIANT a1,VARIANT a2,VARIANT a3,VARIANT a4,VARIANT a5,VARIANT a6,VARIANT a7,VARIANT a8) {
    return This->lpVtbl->drawImage(This,pSrc,a1,a2,a3,a4,a5,a6,a7,a8);
}
static inline HRESULT ICanvasRenderingContext2D_createImageData(ICanvasRenderingContext2D* This,VARIANT a1,VARIANT a2,ICanvasImageData **ppCanvasImageData) {
    return This->lpVtbl->createImageData(This,a1,a2,ppCanvasImageData);
}
static inline HRESULT ICanvasRenderingContext2D_getImageData(ICanvasRenderingContext2D* This,float sx,float sy,float sw,float sh,ICanvasImageData **ppCanvasImageData) {
    return This->lpVtbl->getImageData(This,sx,sy,sw,sh,ppCanvasImageData);
}
static inline HRESULT ICanvasRenderingContext2D_putImageData(ICanvasRenderingContext2D* This,ICanvasImageData *imagedata,float dx,float dy,VARIANT dirtyX,VARIANT dirtyY,VARIANT dirtyWidth,VARIANT dirtyHeight) {
    return This->lpVtbl->putImageData(This,imagedata,dx,dy,dirtyX,dirtyY,dirtyWidth,dirtyHeight);
}
#endif
#endif

#endif


#endif  /* __ICanvasRenderingContext2D_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCanvasElement interface
 */
#ifndef __IHTMLCanvasElement_INTERFACE_DEFINED__
#define __IHTMLCanvasElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCanvasElement, 0x305106e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCanvasElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_width(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getContext(
        BSTR contextId,
        ICanvasRenderingContext2D **ppContext) = 0;

    virtual HRESULT STDMETHODCALLTYPE toDataURL(
        BSTR type,
        VARIANT jpegquality,
        BSTR *pUrl) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCanvasElement, 0x305106e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCanvasElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLCanvasElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLCanvasElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLCanvasElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLCanvasElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLCanvasElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLCanvasElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLCanvasElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLCanvasElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLCanvasElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLCanvasElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLCanvasElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLCanvasElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *getContext)(
        IHTMLCanvasElement *This,
        BSTR contextId,
        ICanvasRenderingContext2D **ppContext);

    HRESULT (STDMETHODCALLTYPE *toDataURL)(
        IHTMLCanvasElement *This,
        BSTR type,
        VARIANT jpegquality,
        BSTR *pUrl);

    END_INTERFACE
} IHTMLCanvasElementVtbl;

interface IHTMLCanvasElement {
    CONST_VTBL IHTMLCanvasElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCanvasElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCanvasElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCanvasElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLCanvasElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLCanvasElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLCanvasElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLCanvasElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLCanvasElement methods ***/
#define IHTMLCanvasElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLCanvasElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLCanvasElement_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLCanvasElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLCanvasElement_getContext(This,contextId,ppContext) (This)->lpVtbl->getContext(This,contextId,ppContext)
#define IHTMLCanvasElement_toDataURL(This,type,jpegquality,pUrl) (This)->lpVtbl->toDataURL(This,type,jpegquality,pUrl)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCanvasElement_QueryInterface(IHTMLCanvasElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCanvasElement_AddRef(IHTMLCanvasElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCanvasElement_Release(IHTMLCanvasElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLCanvasElement_GetTypeInfoCount(IHTMLCanvasElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLCanvasElement_GetTypeInfo(IHTMLCanvasElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLCanvasElement_GetIDsOfNames(IHTMLCanvasElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLCanvasElement_Invoke(IHTMLCanvasElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLCanvasElement methods ***/
static inline HRESULT IHTMLCanvasElement_put_width(IHTMLCanvasElement* This,LONG v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLCanvasElement_get_width(IHTMLCanvasElement* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLCanvasElement_put_height(IHTMLCanvasElement* This,LONG v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLCanvasElement_get_height(IHTMLCanvasElement* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLCanvasElement_getContext(IHTMLCanvasElement* This,BSTR contextId,ICanvasRenderingContext2D **ppContext) {
    return This->lpVtbl->getContext(This,contextId,ppContext);
}
static inline HRESULT IHTMLCanvasElement_toDataURL(IHTMLCanvasElement* This,BSTR type,VARIANT jpegquality,BSTR *pUrl) {
    return This->lpVtbl->toDataURL(This,type,jpegquality,pUrl);
}
#endif
#endif

#endif


#endif  /* __IHTMLCanvasElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispCanvasGradient dispinterface
 */
#ifndef __DispCanvasGradient_DISPINTERFACE_DEFINED__
#define __DispCanvasGradient_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCanvasGradient, 0x3059008c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059008c-98b5-11cf-bb82-00aa00bdce0b")
DispCanvasGradient : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCanvasGradient, 0x3059008c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCanvasGradientVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCanvasGradient *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCanvasGradient *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCanvasGradient *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCanvasGradient *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCanvasGradient *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCanvasGradient *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCanvasGradient *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCanvasGradientVtbl;

interface DispCanvasGradient {
    CONST_VTBL DispCanvasGradientVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCanvasGradient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCanvasGradient_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCanvasGradient_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCanvasGradient_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCanvasGradient_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCanvasGradient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCanvasGradient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCanvasGradient_QueryInterface(DispCanvasGradient* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCanvasGradient_AddRef(DispCanvasGradient* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCanvasGradient_Release(DispCanvasGradient* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCanvasGradient_GetTypeInfoCount(DispCanvasGradient* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCanvasGradient_GetTypeInfo(DispCanvasGradient* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCanvasGradient_GetIDsOfNames(DispCanvasGradient* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCanvasGradient_Invoke(DispCanvasGradient* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCanvasGradient_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CanvasGradient coclass
 */

DEFINE_GUID(CLSID_CanvasGradient, 0x30510715, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510715-98b5-11cf-bb82-00aa00bdce0b") CanvasGradient;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CanvasGradient, 0x30510715, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCanvasGradient;
/*****************************************************************************
 * DispCanvasPattern dispinterface
 */
#ifndef __DispCanvasPattern_DISPINTERFACE_DEFINED__
#define __DispCanvasPattern_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCanvasPattern, 0x3059008d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059008d-98b5-11cf-bb82-00aa00bdce0b")
DispCanvasPattern : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCanvasPattern, 0x3059008d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCanvasPatternVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCanvasPattern *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCanvasPattern *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCanvasPattern *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCanvasPattern *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCanvasPattern *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCanvasPattern *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCanvasPattern *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCanvasPatternVtbl;

interface DispCanvasPattern {
    CONST_VTBL DispCanvasPatternVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCanvasPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCanvasPattern_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCanvasPattern_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCanvasPattern_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCanvasPattern_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCanvasPattern_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCanvasPattern_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCanvasPattern_QueryInterface(DispCanvasPattern* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCanvasPattern_AddRef(DispCanvasPattern* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCanvasPattern_Release(DispCanvasPattern* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCanvasPattern_GetTypeInfoCount(DispCanvasPattern* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCanvasPattern_GetTypeInfo(DispCanvasPattern* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCanvasPattern_GetIDsOfNames(DispCanvasPattern* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCanvasPattern_Invoke(DispCanvasPattern* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCanvasPattern_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CanvasPattern coclass
 */

DEFINE_GUID(CLSID_CanvasPattern, 0x30510717, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510717-98b5-11cf-bb82-00aa00bdce0b") CanvasPattern;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CanvasPattern, 0x30510717, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCanvasPattern;
/*****************************************************************************
 * DispCanvasTextMetrics dispinterface
 */
#ifndef __DispCanvasTextMetrics_DISPINTERFACE_DEFINED__
#define __DispCanvasTextMetrics_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCanvasTextMetrics, 0x3059008e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059008e-98b5-11cf-bb82-00aa00bdce0b")
DispCanvasTextMetrics : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCanvasTextMetrics, 0x3059008e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCanvasTextMetricsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCanvasTextMetrics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCanvasTextMetrics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCanvasTextMetrics *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCanvasTextMetrics *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCanvasTextMetrics *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCanvasTextMetrics *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCanvasTextMetrics *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCanvasTextMetricsVtbl;

interface DispCanvasTextMetrics {
    CONST_VTBL DispCanvasTextMetricsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCanvasTextMetrics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCanvasTextMetrics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCanvasTextMetrics_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCanvasTextMetrics_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCanvasTextMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCanvasTextMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCanvasTextMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCanvasTextMetrics_QueryInterface(DispCanvasTextMetrics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCanvasTextMetrics_AddRef(DispCanvasTextMetrics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCanvasTextMetrics_Release(DispCanvasTextMetrics* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCanvasTextMetrics_GetTypeInfoCount(DispCanvasTextMetrics* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCanvasTextMetrics_GetTypeInfo(DispCanvasTextMetrics* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCanvasTextMetrics_GetIDsOfNames(DispCanvasTextMetrics* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCanvasTextMetrics_Invoke(DispCanvasTextMetrics* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCanvasTextMetrics_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CanvasTextMetrics coclass
 */

DEFINE_GUID(CLSID_CanvasTextMetrics, 0x30510719, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510719-98b5-11cf-bb82-00aa00bdce0b") CanvasTextMetrics;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CanvasTextMetrics, 0x30510719, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCanvasTextMetrics;
/*****************************************************************************
 * DispCanvasImageData dispinterface
 */
#ifndef __DispCanvasImageData_DISPINTERFACE_DEFINED__
#define __DispCanvasImageData_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCanvasImageData, 0x3059008f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059008f-98b5-11cf-bb82-00aa00bdce0b")
DispCanvasImageData : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCanvasImageData, 0x3059008f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCanvasImageDataVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCanvasImageData *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCanvasImageData *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCanvasImageData *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCanvasImageData *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCanvasImageData *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCanvasImageData *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCanvasImageData *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCanvasImageDataVtbl;

interface DispCanvasImageData {
    CONST_VTBL DispCanvasImageDataVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCanvasImageData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCanvasImageData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCanvasImageData_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCanvasImageData_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCanvasImageData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCanvasImageData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCanvasImageData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCanvasImageData_QueryInterface(DispCanvasImageData* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCanvasImageData_AddRef(DispCanvasImageData* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCanvasImageData_Release(DispCanvasImageData* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCanvasImageData_GetTypeInfoCount(DispCanvasImageData* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCanvasImageData_GetTypeInfo(DispCanvasImageData* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCanvasImageData_GetIDsOfNames(DispCanvasImageData* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCanvasImageData_Invoke(DispCanvasImageData* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCanvasImageData_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CanvasImageData coclass
 */

DEFINE_GUID(CLSID_CanvasImageData, 0x3051071b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051071b-98b5-11cf-bb82-00aa00bdce0b") CanvasImageData;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CanvasImageData, 0x3051071b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCanvasImageData;
/*****************************************************************************
 * DispCanvasRenderingContext2D dispinterface
 */
#ifndef __DispCanvasRenderingContext2D_DISPINTERFACE_DEFINED__
#define __DispCanvasRenderingContext2D_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCanvasRenderingContext2D, 0x30590082, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590082-98b5-11cf-bb82-00aa00bdce0b")
DispCanvasRenderingContext2D : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCanvasRenderingContext2D, 0x30590082, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCanvasRenderingContext2DVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCanvasRenderingContext2D *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCanvasRenderingContext2D *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCanvasRenderingContext2D *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCanvasRenderingContext2D *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCanvasRenderingContext2D *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCanvasRenderingContext2D *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCanvasRenderingContext2D *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCanvasRenderingContext2DVtbl;

interface DispCanvasRenderingContext2D {
    CONST_VTBL DispCanvasRenderingContext2DVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCanvasRenderingContext2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCanvasRenderingContext2D_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCanvasRenderingContext2D_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCanvasRenderingContext2D_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCanvasRenderingContext2D_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCanvasRenderingContext2D_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCanvasRenderingContext2D_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCanvasRenderingContext2D_QueryInterface(DispCanvasRenderingContext2D* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCanvasRenderingContext2D_AddRef(DispCanvasRenderingContext2D* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCanvasRenderingContext2D_Release(DispCanvasRenderingContext2D* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCanvasRenderingContext2D_GetTypeInfoCount(DispCanvasRenderingContext2D* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCanvasRenderingContext2D_GetTypeInfo(DispCanvasRenderingContext2D* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCanvasRenderingContext2D_GetIDsOfNames(DispCanvasRenderingContext2D* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCanvasRenderingContext2D_Invoke(DispCanvasRenderingContext2D* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCanvasRenderingContext2D_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CanvasRenderingContext2D coclass
 */

DEFINE_GUID(CLSID_CanvasRenderingContext2D, 0x30510700, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510700-98b5-11cf-bb82-00aa00bdce0b") CanvasRenderingContext2D;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CanvasRenderingContext2D, 0x30510700, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CCanvasRenderingContext2D;
/*****************************************************************************
 * DispHTMLCanvasElement dispinterface
 */
#ifndef __DispHTMLCanvasElement_DISPINTERFACE_DEFINED__
#define __DispHTMLCanvasElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLCanvasElement, 0x3059007b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059007b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLCanvasElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLCanvasElement, 0x3059007b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLCanvasElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLCanvasElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLCanvasElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLCanvasElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLCanvasElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLCanvasElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLCanvasElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLCanvasElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLCanvasElementVtbl;

interface DispHTMLCanvasElement {
    CONST_VTBL DispHTMLCanvasElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLCanvasElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLCanvasElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLCanvasElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLCanvasElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLCanvasElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLCanvasElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLCanvasElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLCanvasElement_QueryInterface(DispHTMLCanvasElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLCanvasElement_AddRef(DispHTMLCanvasElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLCanvasElement_Release(DispHTMLCanvasElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLCanvasElement_GetTypeInfoCount(DispHTMLCanvasElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLCanvasElement_GetTypeInfo(DispHTMLCanvasElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLCanvasElement_GetIDsOfNames(DispHTMLCanvasElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLCanvasElement_Invoke(DispHTMLCanvasElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLCanvasElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLCanvasElement coclass
 */

DEFINE_GUID(CLSID_HTMLCanvasElement, 0x305106e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106e5-98b5-11cf-bb82-00aa00bdce0b") HTMLCanvasElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLCanvasElement, 0x305106e5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CHTMLCanvasElement;
/*****************************************************************************
 * IDOMProgressEvent interface
 */
#ifndef __IDOMProgressEvent_INTERFACE_DEFINED__
#define __IDOMProgressEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMProgressEvent, 0x3051071e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051071e-98b5-11cf-bb82-00aa00bdce0b")
IDOMProgressEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_lengthComputable(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loaded(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_total(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initProgressEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        VARIANT_BOOL lengthComputableArg,
        ULONGLONG loadedArg,
        ULONGLONG totalArg) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMProgressEvent, 0x3051071e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMProgressEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMProgressEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMProgressEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMProgressEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMProgressEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMProgressEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMProgressEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMProgressEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMProgressEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_lengthComputable)(
        IDOMProgressEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_loaded)(
        IDOMProgressEvent *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_total)(
        IDOMProgressEvent *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *initProgressEvent)(
        IDOMProgressEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        VARIANT_BOOL lengthComputableArg,
        ULONGLONG loadedArg,
        ULONGLONG totalArg);

    END_INTERFACE
} IDOMProgressEventVtbl;

interface IDOMProgressEvent {
    CONST_VTBL IDOMProgressEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMProgressEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMProgressEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMProgressEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMProgressEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMProgressEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMProgressEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMProgressEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMProgressEvent methods ***/
#define IDOMProgressEvent_get_lengthComputable(This,p) (This)->lpVtbl->get_lengthComputable(This,p)
#define IDOMProgressEvent_get_loaded(This,p) (This)->lpVtbl->get_loaded(This,p)
#define IDOMProgressEvent_get_total(This,p) (This)->lpVtbl->get_total(This,p)
#define IDOMProgressEvent_initProgressEvent(This,eventType,canBubble,cancelable,lengthComputableArg,loadedArg,totalArg) (This)->lpVtbl->initProgressEvent(This,eventType,canBubble,cancelable,lengthComputableArg,loadedArg,totalArg)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMProgressEvent_QueryInterface(IDOMProgressEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMProgressEvent_AddRef(IDOMProgressEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMProgressEvent_Release(IDOMProgressEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMProgressEvent_GetTypeInfoCount(IDOMProgressEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMProgressEvent_GetTypeInfo(IDOMProgressEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMProgressEvent_GetIDsOfNames(IDOMProgressEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMProgressEvent_Invoke(IDOMProgressEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMProgressEvent methods ***/
static inline HRESULT IDOMProgressEvent_get_lengthComputable(IDOMProgressEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_lengthComputable(This,p);
}
static inline HRESULT IDOMProgressEvent_get_loaded(IDOMProgressEvent* This,ULONGLONG *p) {
    return This->lpVtbl->get_loaded(This,p);
}
static inline HRESULT IDOMProgressEvent_get_total(IDOMProgressEvent* This,ULONGLONG *p) {
    return This->lpVtbl->get_total(This,p);
}
static inline HRESULT IDOMProgressEvent_initProgressEvent(IDOMProgressEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,VARIANT_BOOL lengthComputableArg,ULONGLONG loadedArg,ULONGLONG totalArg) {
    return This->lpVtbl->initProgressEvent(This,eventType,canBubble,cancelable,lengthComputableArg,loadedArg,totalArg);
}
#endif
#endif

#endif


#endif  /* __IDOMProgressEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMProgressEvent dispinterface
 */
#ifndef __DispDOMProgressEvent_DISPINTERFACE_DEFINED__
#define __DispDOMProgressEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMProgressEvent, 0x30590091, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590091-98b5-11cf-bb82-00aa00bdce0b")
DispDOMProgressEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMProgressEvent, 0x30590091, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMProgressEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMProgressEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMProgressEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMProgressEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMProgressEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMProgressEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMProgressEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMProgressEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMProgressEventVtbl;

interface DispDOMProgressEvent {
    CONST_VTBL DispDOMProgressEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMProgressEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMProgressEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMProgressEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMProgressEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMProgressEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMProgressEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMProgressEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMProgressEvent_QueryInterface(DispDOMProgressEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMProgressEvent_AddRef(DispDOMProgressEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMProgressEvent_Release(DispDOMProgressEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMProgressEvent_GetTypeInfoCount(DispDOMProgressEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMProgressEvent_GetTypeInfo(DispDOMProgressEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMProgressEvent_GetIDsOfNames(DispDOMProgressEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMProgressEvent_Invoke(DispDOMProgressEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMProgressEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMProgressEvent coclass
 */

DEFINE_GUID(CLSID_DOMProgressEvent, 0x3051071f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051071f-98b5-11cf-bb82-00aa00bdce0b") DOMProgressEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMProgressEvent, 0x3051071f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMProgressEvent;
/*****************************************************************************
 * IDOMMessageEvent interface
 */
#ifndef __IDOMMessageEvent_INTERFACE_DEFINED__
#define __IDOMMessageEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMMessageEvent, 0x30510720, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510720-98b5-11cf-bb82-00aa00bdce0b")
IDOMMessageEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_origin(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_source(
        IHTMLWindow2 **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initMessageEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR data,
        BSTR origin,
        BSTR lastEventId,
        IHTMLWindow2 *source) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMMessageEvent, 0x30510720, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMMessageEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMMessageEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMMessageEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMMessageEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMMessageEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMMessageEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMMessageEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMMessageEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMMessageEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_data)(
        IDOMMessageEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_origin)(
        IDOMMessageEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_source)(
        IDOMMessageEvent *This,
        IHTMLWindow2 **p);

    HRESULT (STDMETHODCALLTYPE *initMessageEvent)(
        IDOMMessageEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR data,
        BSTR origin,
        BSTR lastEventId,
        IHTMLWindow2 *source);

    END_INTERFACE
} IDOMMessageEventVtbl;

interface IDOMMessageEvent {
    CONST_VTBL IDOMMessageEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMMessageEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMMessageEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMMessageEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMMessageEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMMessageEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMMessageEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMMessageEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMMessageEvent methods ***/
#define IDOMMessageEvent_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#define IDOMMessageEvent_get_origin(This,p) (This)->lpVtbl->get_origin(This,p)
#define IDOMMessageEvent_get_source(This,p) (This)->lpVtbl->get_source(This,p)
#define IDOMMessageEvent_initMessageEvent(This,eventType,canBubble,cancelable,data,origin,lastEventId,source) (This)->lpVtbl->initMessageEvent(This,eventType,canBubble,cancelable,data,origin,lastEventId,source)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMMessageEvent_QueryInterface(IDOMMessageEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMMessageEvent_AddRef(IDOMMessageEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMMessageEvent_Release(IDOMMessageEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMMessageEvent_GetTypeInfoCount(IDOMMessageEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMMessageEvent_GetTypeInfo(IDOMMessageEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMMessageEvent_GetIDsOfNames(IDOMMessageEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMMessageEvent_Invoke(IDOMMessageEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMMessageEvent methods ***/
static inline HRESULT IDOMMessageEvent_get_data(IDOMMessageEvent* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static inline HRESULT IDOMMessageEvent_get_origin(IDOMMessageEvent* This,BSTR *p) {
    return This->lpVtbl->get_origin(This,p);
}
static inline HRESULT IDOMMessageEvent_get_source(IDOMMessageEvent* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_source(This,p);
}
static inline HRESULT IDOMMessageEvent_initMessageEvent(IDOMMessageEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,BSTR data,BSTR origin,BSTR lastEventId,IHTMLWindow2 *source) {
    return This->lpVtbl->initMessageEvent(This,eventType,canBubble,cancelable,data,origin,lastEventId,source);
}
#endif
#endif

#endif


#endif  /* __IDOMMessageEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMMessageEvent dispinterface
 */
#ifndef __DispDOMMessageEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMessageEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMMessageEvent, 0x30590092, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590092-98b5-11cf-bb82-00aa00bdce0b")
DispDOMMessageEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMMessageEvent, 0x30590092, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMMessageEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMMessageEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMMessageEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMMessageEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMMessageEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMMessageEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMMessageEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMMessageEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMMessageEventVtbl;

interface DispDOMMessageEvent {
    CONST_VTBL DispDOMMessageEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMMessageEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMMessageEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMMessageEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMMessageEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMMessageEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMMessageEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMMessageEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMMessageEvent_QueryInterface(DispDOMMessageEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMMessageEvent_AddRef(DispDOMMessageEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMMessageEvent_Release(DispDOMMessageEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMMessageEvent_GetTypeInfoCount(DispDOMMessageEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMMessageEvent_GetTypeInfo(DispDOMMessageEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMMessageEvent_GetIDsOfNames(DispDOMMessageEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMMessageEvent_Invoke(DispDOMMessageEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMMessageEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMMessageEvent coclass
 */

DEFINE_GUID(CLSID_DOMMessageEvent, 0x30510721, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510721-98b5-11cf-bb82-00aa00bdce0b") DOMMessageEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMMessageEvent, 0x30510721, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMMessageEvent;
/*****************************************************************************
 * IDOMSiteModeEvent interface
 */
#ifndef __IDOMSiteModeEvent_INTERFACE_DEFINED__
#define __IDOMSiteModeEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMSiteModeEvent, 0x30510765, 0x98b6, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510765-98b6-11cf-bb82-00aa00bdce0b")
IDOMSiteModeEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_buttonID(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_actionURL(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMSiteModeEvent, 0x30510765, 0x98b6, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMSiteModeEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMSiteModeEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMSiteModeEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMSiteModeEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMSiteModeEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMSiteModeEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMSiteModeEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMSiteModeEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMSiteModeEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_buttonID)(
        IDOMSiteModeEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_actionURL)(
        IDOMSiteModeEvent *This,
        BSTR *p);

    END_INTERFACE
} IDOMSiteModeEventVtbl;

interface IDOMSiteModeEvent {
    CONST_VTBL IDOMSiteModeEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMSiteModeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMSiteModeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMSiteModeEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMSiteModeEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMSiteModeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMSiteModeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMSiteModeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMSiteModeEvent methods ***/
#define IDOMSiteModeEvent_get_buttonID(This,p) (This)->lpVtbl->get_buttonID(This,p)
#define IDOMSiteModeEvent_get_actionURL(This,p) (This)->lpVtbl->get_actionURL(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMSiteModeEvent_QueryInterface(IDOMSiteModeEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMSiteModeEvent_AddRef(IDOMSiteModeEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMSiteModeEvent_Release(IDOMSiteModeEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMSiteModeEvent_GetTypeInfoCount(IDOMSiteModeEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMSiteModeEvent_GetTypeInfo(IDOMSiteModeEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMSiteModeEvent_GetIDsOfNames(IDOMSiteModeEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMSiteModeEvent_Invoke(IDOMSiteModeEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMSiteModeEvent methods ***/
static inline HRESULT IDOMSiteModeEvent_get_buttonID(IDOMSiteModeEvent* This,LONG *p) {
    return This->lpVtbl->get_buttonID(This,p);
}
static inline HRESULT IDOMSiteModeEvent_get_actionURL(IDOMSiteModeEvent* This,BSTR *p) {
    return This->lpVtbl->get_actionURL(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMSiteModeEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMSiteModeEvent dispinterface
 */
#ifndef __DispDOMSiteModeEvent_DISPINTERFACE_DEFINED__
#define __DispDOMSiteModeEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMSiteModeEvent, 0x305900a9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900a9-98b5-11cf-bb82-00aa00bdce0b")
DispDOMSiteModeEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMSiteModeEvent, 0x305900a9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMSiteModeEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMSiteModeEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMSiteModeEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMSiteModeEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMSiteModeEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMSiteModeEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMSiteModeEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMSiteModeEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMSiteModeEventVtbl;

interface DispDOMSiteModeEvent {
    CONST_VTBL DispDOMSiteModeEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMSiteModeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMSiteModeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMSiteModeEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMSiteModeEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMSiteModeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMSiteModeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMSiteModeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMSiteModeEvent_QueryInterface(DispDOMSiteModeEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMSiteModeEvent_AddRef(DispDOMSiteModeEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMSiteModeEvent_Release(DispDOMSiteModeEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMSiteModeEvent_GetTypeInfoCount(DispDOMSiteModeEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMSiteModeEvent_GetTypeInfo(DispDOMSiteModeEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMSiteModeEvent_GetIDsOfNames(DispDOMSiteModeEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMSiteModeEvent_Invoke(DispDOMSiteModeEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMSiteModeEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMSiteModeEvent coclass
 */

DEFINE_GUID(CLSID_DOMSiteModeEvent, 0x30510766, 0x98b6, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510766-98b6-11cf-bb82-00aa00bdce0b") DOMSiteModeEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMSiteModeEvent, 0x30510766, 0x98b6, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMSiteModeEvent;
/*****************************************************************************
 * IDOMStorageEvent interface
 */
#ifndef __IDOMStorageEvent_INTERFACE_DEFINED__
#define __IDOMStorageEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMStorageEvent, 0x30510722, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510722-98b5-11cf-bb82-00aa00bdce0b")
IDOMStorageEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_key(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oldValue(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_newValue(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_url(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_storageArea(
        IHTMLStorage **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initStorageEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR keyArg,
        BSTR oldValueArg,
        BSTR newValueArg,
        BSTR urlArg,
        IHTMLStorage *storageAreaArg) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMStorageEvent, 0x30510722, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMStorageEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMStorageEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMStorageEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMStorageEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMStorageEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMStorageEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMStorageEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMStorageEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMStorageEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_key)(
        IDOMStorageEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_oldValue)(
        IDOMStorageEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_newValue)(
        IDOMStorageEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_url)(
        IDOMStorageEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_storageArea)(
        IDOMStorageEvent *This,
        IHTMLStorage **p);

    HRESULT (STDMETHODCALLTYPE *initStorageEvent)(
        IDOMStorageEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR keyArg,
        BSTR oldValueArg,
        BSTR newValueArg,
        BSTR urlArg,
        IHTMLStorage *storageAreaArg);

    END_INTERFACE
} IDOMStorageEventVtbl;

interface IDOMStorageEvent {
    CONST_VTBL IDOMStorageEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMStorageEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMStorageEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMStorageEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMStorageEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMStorageEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMStorageEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMStorageEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMStorageEvent methods ***/
#define IDOMStorageEvent_get_key(This,p) (This)->lpVtbl->get_key(This,p)
#define IDOMStorageEvent_get_oldValue(This,p) (This)->lpVtbl->get_oldValue(This,p)
#define IDOMStorageEvent_get_newValue(This,p) (This)->lpVtbl->get_newValue(This,p)
#define IDOMStorageEvent_get_url(This,p) (This)->lpVtbl->get_url(This,p)
#define IDOMStorageEvent_get_storageArea(This,p) (This)->lpVtbl->get_storageArea(This,p)
#define IDOMStorageEvent_initStorageEvent(This,eventType,canBubble,cancelable,keyArg,oldValueArg,newValueArg,urlArg,storageAreaArg) (This)->lpVtbl->initStorageEvent(This,eventType,canBubble,cancelable,keyArg,oldValueArg,newValueArg,urlArg,storageAreaArg)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMStorageEvent_QueryInterface(IDOMStorageEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMStorageEvent_AddRef(IDOMStorageEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMStorageEvent_Release(IDOMStorageEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMStorageEvent_GetTypeInfoCount(IDOMStorageEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMStorageEvent_GetTypeInfo(IDOMStorageEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMStorageEvent_GetIDsOfNames(IDOMStorageEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMStorageEvent_Invoke(IDOMStorageEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMStorageEvent methods ***/
static inline HRESULT IDOMStorageEvent_get_key(IDOMStorageEvent* This,BSTR *p) {
    return This->lpVtbl->get_key(This,p);
}
static inline HRESULT IDOMStorageEvent_get_oldValue(IDOMStorageEvent* This,BSTR *p) {
    return This->lpVtbl->get_oldValue(This,p);
}
static inline HRESULT IDOMStorageEvent_get_newValue(IDOMStorageEvent* This,BSTR *p) {
    return This->lpVtbl->get_newValue(This,p);
}
static inline HRESULT IDOMStorageEvent_get_url(IDOMStorageEvent* This,BSTR *p) {
    return This->lpVtbl->get_url(This,p);
}
static inline HRESULT IDOMStorageEvent_get_storageArea(IDOMStorageEvent* This,IHTMLStorage **p) {
    return This->lpVtbl->get_storageArea(This,p);
}
static inline HRESULT IDOMStorageEvent_initStorageEvent(IDOMStorageEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,BSTR keyArg,BSTR oldValueArg,BSTR newValueArg,BSTR urlArg,IHTMLStorage *storageAreaArg) {
    return This->lpVtbl->initStorageEvent(This,eventType,canBubble,cancelable,keyArg,oldValueArg,newValueArg,urlArg,storageAreaArg);
}
#endif
#endif

#endif


#endif  /* __IDOMStorageEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMStorageEvent dispinterface
 */
#ifndef __DispDOMStorageEvent_DISPINTERFACE_DEFINED__
#define __DispDOMStorageEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMStorageEvent, 0x30590093, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590093-98b5-11cf-bb82-00aa00bdce0b")
DispDOMStorageEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMStorageEvent, 0x30590093, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMStorageEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMStorageEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMStorageEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMStorageEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMStorageEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMStorageEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMStorageEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMStorageEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMStorageEventVtbl;

interface DispDOMStorageEvent {
    CONST_VTBL DispDOMStorageEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMStorageEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMStorageEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMStorageEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMStorageEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMStorageEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMStorageEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMStorageEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMStorageEvent_QueryInterface(DispDOMStorageEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMStorageEvent_AddRef(DispDOMStorageEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMStorageEvent_Release(DispDOMStorageEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMStorageEvent_GetTypeInfoCount(DispDOMStorageEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMStorageEvent_GetTypeInfo(DispDOMStorageEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMStorageEvent_GetIDsOfNames(DispDOMStorageEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMStorageEvent_Invoke(DispDOMStorageEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMStorageEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMStorageEvent coclass
 */

DEFINE_GUID(CLSID_DOMStorageEvent, 0x30510723, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510723-98b5-11cf-bb82-00aa00bdce0b") DOMStorageEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMStorageEvent, 0x30510723, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMStorageEvent;
/*****************************************************************************
 * IXMLHttpRequestEventTarget interface
 */
#ifndef __IXMLHttpRequestEventTarget_INTERFACE_DEFINED__
#define __IXMLHttpRequestEventTarget_INTERFACE_DEFINED__

DEFINE_GUID(IID_IXMLHttpRequestEventTarget, 0x30510830, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510830-98b5-11cf-bb82-00aa00bdce0b")
IXMLHttpRequestEventTarget : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IXMLHttpRequestEventTarget, 0x30510830, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IXMLHttpRequestEventTargetVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IXMLHttpRequestEventTarget *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IXMLHttpRequestEventTarget *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IXMLHttpRequestEventTarget *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IXMLHttpRequestEventTarget *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IXMLHttpRequestEventTarget *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IXMLHttpRequestEventTarget *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IXMLHttpRequestEventTarget *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IXMLHttpRequestEventTargetVtbl;

interface IXMLHttpRequestEventTarget {
    CONST_VTBL IXMLHttpRequestEventTargetVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IXMLHttpRequestEventTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLHttpRequestEventTarget_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IXMLHttpRequestEventTarget_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IXMLHttpRequestEventTarget_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLHttpRequestEventTarget_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLHttpRequestEventTarget_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLHttpRequestEventTarget_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IXMLHttpRequestEventTarget_QueryInterface(IXMLHttpRequestEventTarget* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IXMLHttpRequestEventTarget_AddRef(IXMLHttpRequestEventTarget* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IXMLHttpRequestEventTarget_Release(IXMLHttpRequestEventTarget* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IXMLHttpRequestEventTarget_GetTypeInfoCount(IXMLHttpRequestEventTarget* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IXMLHttpRequestEventTarget_GetTypeInfo(IXMLHttpRequestEventTarget* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IXMLHttpRequestEventTarget_GetIDsOfNames(IXMLHttpRequestEventTarget* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IXMLHttpRequestEventTarget_Invoke(IXMLHttpRequestEventTarget* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IXMLHttpRequestEventTarget_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispXMLHttpRequestEventTarget dispinterface
 */
#ifndef __DispXMLHttpRequestEventTarget_DISPINTERFACE_DEFINED__
#define __DispXMLHttpRequestEventTarget_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispXMLHttpRequestEventTarget, 0x305900e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900e7-98b5-11cf-bb82-00aa00bdce0b")
DispXMLHttpRequestEventTarget : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispXMLHttpRequestEventTarget, 0x305900e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispXMLHttpRequestEventTargetVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispXMLHttpRequestEventTarget *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispXMLHttpRequestEventTarget *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispXMLHttpRequestEventTarget *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispXMLHttpRequestEventTarget *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispXMLHttpRequestEventTarget *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispXMLHttpRequestEventTarget *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispXMLHttpRequestEventTarget *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispXMLHttpRequestEventTargetVtbl;

interface DispXMLHttpRequestEventTarget {
    CONST_VTBL DispXMLHttpRequestEventTargetVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispXMLHttpRequestEventTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispXMLHttpRequestEventTarget_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispXMLHttpRequestEventTarget_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispXMLHttpRequestEventTarget_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispXMLHttpRequestEventTarget_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispXMLHttpRequestEventTarget_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispXMLHttpRequestEventTarget_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispXMLHttpRequestEventTarget_QueryInterface(DispXMLHttpRequestEventTarget* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispXMLHttpRequestEventTarget_AddRef(DispXMLHttpRequestEventTarget* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispXMLHttpRequestEventTarget_Release(DispXMLHttpRequestEventTarget* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispXMLHttpRequestEventTarget_GetTypeInfoCount(DispXMLHttpRequestEventTarget* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispXMLHttpRequestEventTarget_GetTypeInfo(DispXMLHttpRequestEventTarget* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispXMLHttpRequestEventTarget_GetIDsOfNames(DispXMLHttpRequestEventTarget* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispXMLHttpRequestEventTarget_Invoke(DispXMLHttpRequestEventTarget* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispXMLHttpRequestEventTarget_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * XMLHttpRequestEventTarget coclass
 */

DEFINE_GUID(CLSID_XMLHttpRequestEventTarget, 0x30510831, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510831-98b5-11cf-bb82-00aa00bdce0b") XMLHttpRequestEventTarget;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(XMLHttpRequestEventTarget, 0x30510831, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CXMLHttpRequestEventTarget;
/*****************************************************************************
 * HTMLXMLHttpRequestEvents dispinterface
 */
#ifndef __HTMLXMLHttpRequestEvents_DISPINTERFACE_DEFINED__
#define __HTMLXMLHttpRequestEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLXMLHttpRequestEvents, 0x30510498, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510498-98b5-11cf-bb82-00aa00bdce0b")
HTMLXMLHttpRequestEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLXMLHttpRequestEvents, 0x30510498, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLXMLHttpRequestEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLXMLHttpRequestEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLXMLHttpRequestEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLXMLHttpRequestEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLXMLHttpRequestEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLXMLHttpRequestEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLXMLHttpRequestEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLXMLHttpRequestEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLXMLHttpRequestEventsVtbl;

interface HTMLXMLHttpRequestEvents {
    CONST_VTBL HTMLXMLHttpRequestEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLXMLHttpRequestEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLXMLHttpRequestEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLXMLHttpRequestEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLXMLHttpRequestEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLXMLHttpRequestEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLXMLHttpRequestEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLXMLHttpRequestEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLXMLHttpRequestEvents_QueryInterface(HTMLXMLHttpRequestEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLXMLHttpRequestEvents_AddRef(HTMLXMLHttpRequestEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLXMLHttpRequestEvents_Release(HTMLXMLHttpRequestEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLXMLHttpRequestEvents_GetTypeInfoCount(HTMLXMLHttpRequestEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLXMLHttpRequestEvents_GetTypeInfo(HTMLXMLHttpRequestEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLXMLHttpRequestEvents_GetIDsOfNames(HTMLXMLHttpRequestEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLXMLHttpRequestEvents_Invoke(HTMLXMLHttpRequestEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLXMLHttpRequestEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLXMLHttpRequest interface
 */
#ifndef __IHTMLXMLHttpRequest_INTERFACE_DEFINED__
#define __IHTMLXMLHttpRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLXMLHttpRequest, 0x3051040a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051040a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLXMLHttpRequest : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_responseBody(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_responseText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_responseXML(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_statusText(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE abort(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE open(
        BSTR bstrMethod,
        BSTR bstrUrl,
        VARIANT varAsync,
        VARIANT varUser,
        VARIANT varPassword) = 0;

    virtual HRESULT STDMETHODCALLTYPE send(
        VARIANT varBody) = 0;

    virtual HRESULT STDMETHODCALLTYPE getAllResponseHeaders(
        BSTR *a) = 0;

    virtual HRESULT STDMETHODCALLTYPE getResponseHeader(
        BSTR bstrHeader,
        BSTR *a) = 0;

    virtual HRESULT STDMETHODCALLTYPE setRequestHeader(
        BSTR bstrHeader,
        BSTR bstrValue) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLXMLHttpRequest, 0x3051040a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLXMLHttpRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLXMLHttpRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLXMLHttpRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLXMLHttpRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLXMLHttpRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLXMLHttpRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLXMLHttpRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLXMLHttpRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLXMLHttpRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLXMLHttpRequest *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_responseBody)(
        IHTMLXMLHttpRequest *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_responseText)(
        IHTMLXMLHttpRequest *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_responseXML)(
        IHTMLXMLHttpRequest *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLXMLHttpRequest *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_statusText)(
        IHTMLXMLHttpRequest *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLXMLHttpRequest *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLXMLHttpRequest *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *abort)(
        IHTMLXMLHttpRequest *This);

    HRESULT (STDMETHODCALLTYPE *open)(
        IHTMLXMLHttpRequest *This,
        BSTR bstrMethod,
        BSTR bstrUrl,
        VARIANT varAsync,
        VARIANT varUser,
        VARIANT varPassword);

    HRESULT (STDMETHODCALLTYPE *send)(
        IHTMLXMLHttpRequest *This,
        VARIANT varBody);

    HRESULT (STDMETHODCALLTYPE *getAllResponseHeaders)(
        IHTMLXMLHttpRequest *This,
        BSTR *a);

    HRESULT (STDMETHODCALLTYPE *getResponseHeader)(
        IHTMLXMLHttpRequest *This,
        BSTR bstrHeader,
        BSTR *a);

    HRESULT (STDMETHODCALLTYPE *setRequestHeader)(
        IHTMLXMLHttpRequest *This,
        BSTR bstrHeader,
        BSTR bstrValue);

    END_INTERFACE
} IHTMLXMLHttpRequestVtbl;

interface IHTMLXMLHttpRequest {
    CONST_VTBL IHTMLXMLHttpRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLXMLHttpRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLXMLHttpRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLXMLHttpRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLXMLHttpRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLXMLHttpRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLXMLHttpRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLXMLHttpRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLXMLHttpRequest methods ***/
#define IHTMLXMLHttpRequest_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLXMLHttpRequest_get_responseBody(This,p) (This)->lpVtbl->get_responseBody(This,p)
#define IHTMLXMLHttpRequest_get_responseText(This,p) (This)->lpVtbl->get_responseText(This,p)
#define IHTMLXMLHttpRequest_get_responseXML(This,p) (This)->lpVtbl->get_responseXML(This,p)
#define IHTMLXMLHttpRequest_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLXMLHttpRequest_get_statusText(This,p) (This)->lpVtbl->get_statusText(This,p)
#define IHTMLXMLHttpRequest_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLXMLHttpRequest_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLXMLHttpRequest_abort(This) (This)->lpVtbl->abort(This)
#define IHTMLXMLHttpRequest_open(This,bstrMethod,bstrUrl,varAsync,varUser,varPassword) (This)->lpVtbl->open(This,bstrMethod,bstrUrl,varAsync,varUser,varPassword)
#define IHTMLXMLHttpRequest_send(This,varBody) (This)->lpVtbl->send(This,varBody)
#define IHTMLXMLHttpRequest_getAllResponseHeaders(This,a) (This)->lpVtbl->getAllResponseHeaders(This,a)
#define IHTMLXMLHttpRequest_getResponseHeader(This,bstrHeader,a) (This)->lpVtbl->getResponseHeader(This,bstrHeader,a)
#define IHTMLXMLHttpRequest_setRequestHeader(This,bstrHeader,bstrValue) (This)->lpVtbl->setRequestHeader(This,bstrHeader,bstrValue)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLXMLHttpRequest_QueryInterface(IHTMLXMLHttpRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLXMLHttpRequest_AddRef(IHTMLXMLHttpRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLXMLHttpRequest_Release(IHTMLXMLHttpRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLXMLHttpRequest_GetTypeInfoCount(IHTMLXMLHttpRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLXMLHttpRequest_GetTypeInfo(IHTMLXMLHttpRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLXMLHttpRequest_GetIDsOfNames(IHTMLXMLHttpRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLXMLHttpRequest_Invoke(IHTMLXMLHttpRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLXMLHttpRequest methods ***/
static inline HRESULT IHTMLXMLHttpRequest_get_readyState(IHTMLXMLHttpRequest* This,LONG *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest_get_responseBody(IHTMLXMLHttpRequest* This,VARIANT *p) {
    return This->lpVtbl->get_responseBody(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest_get_responseText(IHTMLXMLHttpRequest* This,BSTR *p) {
    return This->lpVtbl->get_responseText(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest_get_responseXML(IHTMLXMLHttpRequest* This,IDispatch **p) {
    return This->lpVtbl->get_responseXML(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest_get_status(IHTMLXMLHttpRequest* This,LONG *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest_get_statusText(IHTMLXMLHttpRequest* This,BSTR *p) {
    return This->lpVtbl->get_statusText(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest_put_onreadystatechange(IHTMLXMLHttpRequest* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLXMLHttpRequest_get_onreadystatechange(IHTMLXMLHttpRequest* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest_abort(IHTMLXMLHttpRequest* This) {
    return This->lpVtbl->abort(This);
}
static inline HRESULT IHTMLXMLHttpRequest_open(IHTMLXMLHttpRequest* This,BSTR bstrMethod,BSTR bstrUrl,VARIANT varAsync,VARIANT varUser,VARIANT varPassword) {
    return This->lpVtbl->open(This,bstrMethod,bstrUrl,varAsync,varUser,varPassword);
}
static inline HRESULT IHTMLXMLHttpRequest_send(IHTMLXMLHttpRequest* This,VARIANT varBody) {
    return This->lpVtbl->send(This,varBody);
}
static inline HRESULT IHTMLXMLHttpRequest_getAllResponseHeaders(IHTMLXMLHttpRequest* This,BSTR *a) {
    return This->lpVtbl->getAllResponseHeaders(This,a);
}
static inline HRESULT IHTMLXMLHttpRequest_getResponseHeader(IHTMLXMLHttpRequest* This,BSTR bstrHeader,BSTR *a) {
    return This->lpVtbl->getResponseHeader(This,bstrHeader,a);
}
static inline HRESULT IHTMLXMLHttpRequest_setRequestHeader(IHTMLXMLHttpRequest* This,BSTR bstrHeader,BSTR bstrValue) {
    return This->lpVtbl->setRequestHeader(This,bstrHeader,bstrValue);
}
#endif
#endif

#endif


#endif  /* __IHTMLXMLHttpRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLXMLHttpRequest2 interface
 */
#ifndef __IHTMLXMLHttpRequest2_INTERFACE_DEFINED__
#define __IHTMLXMLHttpRequest2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLXMLHttpRequest2, 0x30510482, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510482-98b5-11cf-bb82-00aa00bdce0b")
IHTMLXMLHttpRequest2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_timeout(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_timeout(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ontimeout(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ontimeout(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLXMLHttpRequest2, 0x30510482, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLXMLHttpRequest2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLXMLHttpRequest2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLXMLHttpRequest2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLXMLHttpRequest2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLXMLHttpRequest2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLXMLHttpRequest2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLXMLHttpRequest2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLXMLHttpRequest2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLXMLHttpRequest2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_timeout)(
        IHTMLXMLHttpRequest2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_timeout)(
        IHTMLXMLHttpRequest2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_ontimeout)(
        IHTMLXMLHttpRequest2 *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ontimeout)(
        IHTMLXMLHttpRequest2 *This,
        VARIANT *p);

    END_INTERFACE
} IHTMLXMLHttpRequest2Vtbl;

interface IHTMLXMLHttpRequest2 {
    CONST_VTBL IHTMLXMLHttpRequest2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLXMLHttpRequest2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLXMLHttpRequest2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLXMLHttpRequest2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLXMLHttpRequest2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLXMLHttpRequest2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLXMLHttpRequest2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLXMLHttpRequest2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLXMLHttpRequest2 methods ***/
#define IHTMLXMLHttpRequest2_put_timeout(This,v) (This)->lpVtbl->put_timeout(This,v)
#define IHTMLXMLHttpRequest2_get_timeout(This,p) (This)->lpVtbl->get_timeout(This,p)
#define IHTMLXMLHttpRequest2_put_ontimeout(This,v) (This)->lpVtbl->put_ontimeout(This,v)
#define IHTMLXMLHttpRequest2_get_ontimeout(This,p) (This)->lpVtbl->get_ontimeout(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLXMLHttpRequest2_QueryInterface(IHTMLXMLHttpRequest2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLXMLHttpRequest2_AddRef(IHTMLXMLHttpRequest2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLXMLHttpRequest2_Release(IHTMLXMLHttpRequest2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLXMLHttpRequest2_GetTypeInfoCount(IHTMLXMLHttpRequest2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLXMLHttpRequest2_GetTypeInfo(IHTMLXMLHttpRequest2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLXMLHttpRequest2_GetIDsOfNames(IHTMLXMLHttpRequest2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLXMLHttpRequest2_Invoke(IHTMLXMLHttpRequest2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLXMLHttpRequest2 methods ***/
static inline HRESULT IHTMLXMLHttpRequest2_put_timeout(IHTMLXMLHttpRequest2* This,LONG v) {
    return This->lpVtbl->put_timeout(This,v);
}
static inline HRESULT IHTMLXMLHttpRequest2_get_timeout(IHTMLXMLHttpRequest2* This,LONG *p) {
    return This->lpVtbl->get_timeout(This,p);
}
static inline HRESULT IHTMLXMLHttpRequest2_put_ontimeout(IHTMLXMLHttpRequest2* This,VARIANT v) {
    return This->lpVtbl->put_ontimeout(This,v);
}
static inline HRESULT IHTMLXMLHttpRequest2_get_ontimeout(IHTMLXMLHttpRequest2* This,VARIANT *p) {
    return This->lpVtbl->get_ontimeout(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLXMLHttpRequest2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLXMLHttpRequestFactory interface
 */
#ifndef __IHTMLXMLHttpRequestFactory_INTERFACE_DEFINED__
#define __IHTMLXMLHttpRequestFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLXMLHttpRequestFactory, 0x3051040c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051040c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLXMLHttpRequestFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE create(
        IHTMLXMLHttpRequest **a) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLXMLHttpRequestFactory, 0x3051040c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLXMLHttpRequestFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLXMLHttpRequestFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLXMLHttpRequestFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLXMLHttpRequestFactory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLXMLHttpRequestFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLXMLHttpRequestFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLXMLHttpRequestFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLXMLHttpRequestFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLXMLHttpRequestFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *create)(
        IHTMLXMLHttpRequestFactory *This,
        IHTMLXMLHttpRequest **a);

    END_INTERFACE
} IHTMLXMLHttpRequestFactoryVtbl;

interface IHTMLXMLHttpRequestFactory {
    CONST_VTBL IHTMLXMLHttpRequestFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLXMLHttpRequestFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLXMLHttpRequestFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLXMLHttpRequestFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLXMLHttpRequestFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLXMLHttpRequestFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLXMLHttpRequestFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLXMLHttpRequestFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLXMLHttpRequestFactory methods ***/
#define IHTMLXMLHttpRequestFactory_create(This,a) (This)->lpVtbl->create(This,a)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLXMLHttpRequestFactory_QueryInterface(IHTMLXMLHttpRequestFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLXMLHttpRequestFactory_AddRef(IHTMLXMLHttpRequestFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLXMLHttpRequestFactory_Release(IHTMLXMLHttpRequestFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLXMLHttpRequestFactory_GetTypeInfoCount(IHTMLXMLHttpRequestFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLXMLHttpRequestFactory_GetTypeInfo(IHTMLXMLHttpRequestFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLXMLHttpRequestFactory_GetIDsOfNames(IHTMLXMLHttpRequestFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLXMLHttpRequestFactory_Invoke(IHTMLXMLHttpRequestFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLXMLHttpRequestFactory methods ***/
static inline HRESULT IHTMLXMLHttpRequestFactory_create(IHTMLXMLHttpRequestFactory* This,IHTMLXMLHttpRequest **a) {
    return This->lpVtbl->create(This,a);
}
#endif
#endif

#endif


#endif  /* __IHTMLXMLHttpRequestFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLXMLHttpRequest dispinterface
 */
#ifndef __DispHTMLXMLHttpRequest_DISPINTERFACE_DEFINED__
#define __DispHTMLXMLHttpRequest_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLXMLHttpRequest, 0x3050f596, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f596-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLXMLHttpRequest : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLXMLHttpRequest, 0x3050f596, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLXMLHttpRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLXMLHttpRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLXMLHttpRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLXMLHttpRequest *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLXMLHttpRequest *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLXMLHttpRequest *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLXMLHttpRequest *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLXMLHttpRequest *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLXMLHttpRequestVtbl;

interface DispHTMLXMLHttpRequest {
    CONST_VTBL DispHTMLXMLHttpRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLXMLHttpRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLXMLHttpRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLXMLHttpRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLXMLHttpRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLXMLHttpRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLXMLHttpRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLXMLHttpRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLXMLHttpRequest_QueryInterface(DispHTMLXMLHttpRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLXMLHttpRequest_AddRef(DispHTMLXMLHttpRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLXMLHttpRequest_Release(DispHTMLXMLHttpRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLXMLHttpRequest_GetTypeInfoCount(DispHTMLXMLHttpRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLXMLHttpRequest_GetTypeInfo(DispHTMLXMLHttpRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLXMLHttpRequest_GetIDsOfNames(DispHTMLXMLHttpRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLXMLHttpRequest_Invoke(DispHTMLXMLHttpRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLXMLHttpRequest_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLXMLHttpRequest coclass
 */

DEFINE_GUID(CLSID_HTMLXMLHttpRequest, 0x3051040b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051040b-98b5-11cf-bb82-00aa00bdce0b") HTMLXMLHttpRequest;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLXMLHttpRequest, 0x3051040b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CXMLHttpRequest;
/*****************************************************************************
 * HTMLXMLHttpRequestFactory coclass
 */

DEFINE_GUID(CLSID_HTMLXMLHttpRequestFactory, 0x3051040d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051040d-98b5-11cf-bb82-00aa00bdce0b") HTMLXMLHttpRequestFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLXMLHttpRequestFactory, 0x3051040d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CXMLHttpRequestFactory;
typedef enum _svgAngleType {
    SVG_ANGLETYPE_UNKNOWN = 0,
    SVG_ANGLETYPE_UNSPECIFIED = 1,
    SVG_ANGLETYPE_DEG = 2,
    SVG_ANGLETYPE_RAD = 3,
    SVG_ANGLETYPE_GRAD = 4,
    svgAngleType_Max = 0x7fffffff
} svgAngleType;
/*****************************************************************************
 * ISVGAngle interface
 */
#ifndef __ISVGAngle_INTERFACE_DEFINED__
#define __ISVGAngle_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAngle, 0x305104d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d3-98b5-11cf-bb82-00aa00bdce0b")
ISVGAngle : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_unitType(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unitType(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_valueInSpecifiedUnits(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_valueInSpecifiedUnits(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_valueAsString(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_valueAsString(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE newValueSpecifiedUnits(
        short unitType,
        float valueInSpecifiedUnits) = 0;

    virtual HRESULT STDMETHODCALLTYPE convertToSpecifiedUnits(
        short unitType) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAngle, 0x305104d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAngleVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAngle *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAngle *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAngle *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAngle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAngle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAngle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAngle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAngle methods ***/
    HRESULT (STDMETHODCALLTYPE *put_unitType)(
        ISVGAngle *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_unitType)(
        ISVGAngle *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        ISVGAngle *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        ISVGAngle *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_valueInSpecifiedUnits)(
        ISVGAngle *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_valueInSpecifiedUnits)(
        ISVGAngle *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_valueAsString)(
        ISVGAngle *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_valueAsString)(
        ISVGAngle *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *newValueSpecifiedUnits)(
        ISVGAngle *This,
        short unitType,
        float valueInSpecifiedUnits);

    HRESULT (STDMETHODCALLTYPE *convertToSpecifiedUnits)(
        ISVGAngle *This,
        short unitType);

    END_INTERFACE
} ISVGAngleVtbl;

interface ISVGAngle {
    CONST_VTBL ISVGAngleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAngle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAngle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAngle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAngle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAngle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAngle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAngle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAngle methods ***/
#define ISVGAngle_put_unitType(This,v) (This)->lpVtbl->put_unitType(This,v)
#define ISVGAngle_get_unitType(This,p) (This)->lpVtbl->get_unitType(This,p)
#define ISVGAngle_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define ISVGAngle_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define ISVGAngle_put_valueInSpecifiedUnits(This,v) (This)->lpVtbl->put_valueInSpecifiedUnits(This,v)
#define ISVGAngle_get_valueInSpecifiedUnits(This,p) (This)->lpVtbl->get_valueInSpecifiedUnits(This,p)
#define ISVGAngle_put_valueAsString(This,v) (This)->lpVtbl->put_valueAsString(This,v)
#define ISVGAngle_get_valueAsString(This,p) (This)->lpVtbl->get_valueAsString(This,p)
#define ISVGAngle_newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits) (This)->lpVtbl->newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits)
#define ISVGAngle_convertToSpecifiedUnits(This,unitType) (This)->lpVtbl->convertToSpecifiedUnits(This,unitType)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAngle_QueryInterface(ISVGAngle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAngle_AddRef(ISVGAngle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAngle_Release(ISVGAngle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAngle_GetTypeInfoCount(ISVGAngle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAngle_GetTypeInfo(ISVGAngle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAngle_GetIDsOfNames(ISVGAngle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAngle_Invoke(ISVGAngle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAngle methods ***/
static inline HRESULT ISVGAngle_put_unitType(ISVGAngle* This,short v) {
    return This->lpVtbl->put_unitType(This,v);
}
static inline HRESULT ISVGAngle_get_unitType(ISVGAngle* This,short *p) {
    return This->lpVtbl->get_unitType(This,p);
}
static inline HRESULT ISVGAngle_put_value(ISVGAngle* This,float v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT ISVGAngle_get_value(ISVGAngle* This,float *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT ISVGAngle_put_valueInSpecifiedUnits(ISVGAngle* This,float v) {
    return This->lpVtbl->put_valueInSpecifiedUnits(This,v);
}
static inline HRESULT ISVGAngle_get_valueInSpecifiedUnits(ISVGAngle* This,float *p) {
    return This->lpVtbl->get_valueInSpecifiedUnits(This,p);
}
static inline HRESULT ISVGAngle_put_valueAsString(ISVGAngle* This,BSTR v) {
    return This->lpVtbl->put_valueAsString(This,v);
}
static inline HRESULT ISVGAngle_get_valueAsString(ISVGAngle* This,BSTR *p) {
    return This->lpVtbl->get_valueAsString(This,p);
}
static inline HRESULT ISVGAngle_newValueSpecifiedUnits(ISVGAngle* This,short unitType,float valueInSpecifiedUnits) {
    return This->lpVtbl->newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits);
}
static inline HRESULT ISVGAngle_convertToSpecifiedUnits(ISVGAngle* This,short unitType) {
    return This->lpVtbl->convertToSpecifiedUnits(This,unitType);
}
#endif
#endif

#endif


#endif  /* __ISVGAngle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAngle coclass
 */

DEFINE_GUID(CLSID_SVGAngle, 0x30510584, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510584-98b5-11cf-bb82-00aa00bdce0b") SVGAngle;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAngle, 0x30510584, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAngle;
typedef enum _svgExternalResourcesRequired {
    svgExternalResourcesRequiredFalse = 0,
    svgExternalResourcesRequiredTrue = 1,
    svgExternalResourcesRequired_Max = 0x7fffffff
} svgExternalResourcesRequired;
#ifndef __ISVGElement_FWD_DEFINED__
#define __ISVGElement_FWD_DEFINED__
typedef interface ISVGElement ISVGElement;
#ifdef __cplusplus
interface ISVGElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGRect_FWD_DEFINED__
#define __ISVGRect_FWD_DEFINED__
typedef interface ISVGRect ISVGRect;
#ifdef __cplusplus
interface ISVGRect;
#endif /* __cplusplus */
#endif

#ifndef __ISVGMatrix_FWD_DEFINED__
#define __ISVGMatrix_FWD_DEFINED__
typedef interface ISVGMatrix ISVGMatrix;
#ifdef __cplusplus
interface ISVGMatrix;
#endif /* __cplusplus */
#endif

#ifndef __ISVGStringList_FWD_DEFINED__
#define __ISVGStringList_FWD_DEFINED__
typedef interface ISVGStringList ISVGStringList;
#ifdef __cplusplus
interface ISVGStringList;
#endif /* __cplusplus */
#endif

#ifndef __ISVGAnimatedRect_FWD_DEFINED__
#define __ISVGAnimatedRect_FWD_DEFINED__
typedef interface ISVGAnimatedRect ISVGAnimatedRect;
#ifdef __cplusplus
interface ISVGAnimatedRect;
#endif /* __cplusplus */
#endif

#ifndef __ISVGAnimatedString_FWD_DEFINED__
#define __ISVGAnimatedString_FWD_DEFINED__
typedef interface ISVGAnimatedString ISVGAnimatedString;
#ifdef __cplusplus
interface ISVGAnimatedString;
#endif /* __cplusplus */
#endif

#ifndef __ISVGAnimatedBoolean_FWD_DEFINED__
#define __ISVGAnimatedBoolean_FWD_DEFINED__
typedef interface ISVGAnimatedBoolean ISVGAnimatedBoolean;
#ifdef __cplusplus
interface ISVGAnimatedBoolean;
#endif /* __cplusplus */
#endif

#ifndef __ISVGAnimatedTransformList_FWD_DEFINED__
#define __ISVGAnimatedTransformList_FWD_DEFINED__
typedef interface ISVGAnimatedTransformList ISVGAnimatedTransformList;
#ifdef __cplusplus
interface ISVGAnimatedTransformList;
#endif /* __cplusplus */
#endif

#ifndef __ISVGAnimatedPreserveAspectRatio_FWD_DEFINED__
#define __ISVGAnimatedPreserveAspectRatio_FWD_DEFINED__
typedef interface ISVGAnimatedPreserveAspectRatio ISVGAnimatedPreserveAspectRatio;
#ifdef __cplusplus
interface ISVGAnimatedPreserveAspectRatio;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGStylable interface
 */
#ifndef __ISVGStylable_INTERFACE_DEFINED__
#define __ISVGStylable_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGStylable, 0x305104da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104da-98b5-11cf-bb82-00aa00bdce0b")
ISVGStylable : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_className(
        ISVGAnimatedString **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGStylable, 0x305104da, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGStylableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGStylable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGStylable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGStylable *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGStylable *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGStylable *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGStylable *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGStylable *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGStylable methods ***/
    HRESULT (STDMETHODCALLTYPE *get_className)(
        ISVGStylable *This,
        ISVGAnimatedString **p);

    END_INTERFACE
} ISVGStylableVtbl;

interface ISVGStylable {
    CONST_VTBL ISVGStylableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGStylable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGStylable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGStylable_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGStylable_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGStylable_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGStylable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGStylable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGStylable methods ***/
#define ISVGStylable_get_className(This,p) (This)->lpVtbl->get_className(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGStylable_QueryInterface(ISVGStylable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGStylable_AddRef(ISVGStylable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGStylable_Release(ISVGStylable* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGStylable_GetTypeInfoCount(ISVGStylable* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGStylable_GetTypeInfo(ISVGStylable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGStylable_GetIDsOfNames(ISVGStylable* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGStylable_Invoke(ISVGStylable* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGStylable methods ***/
static inline HRESULT ISVGStylable_get_className(ISVGStylable* This,ISVGAnimatedString **p) {
    return This->lpVtbl->get_className(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGStylable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGLocatable interface
 */
#ifndef __ISVGLocatable_INTERFACE_DEFINED__
#define __ISVGLocatable_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGLocatable, 0x305104db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104db-98b5-11cf-bb82-00aa00bdce0b")
ISVGLocatable : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_nearestViewportElement(
        ISVGElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_farthestViewportElement(
        ISVGElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getBBox(
        ISVGRect **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getCTM(
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getScreenCTM(
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getTransformToElement(
        ISVGElement *pElement,
        ISVGMatrix **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGLocatable, 0x305104db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGLocatableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGLocatable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGLocatable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGLocatable *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGLocatable *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGLocatable *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGLocatable *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGLocatable *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGLocatable methods ***/
    HRESULT (STDMETHODCALLTYPE *get_nearestViewportElement)(
        ISVGLocatable *This,
        ISVGElement **p);

    HRESULT (STDMETHODCALLTYPE *get_farthestViewportElement)(
        ISVGLocatable *This,
        ISVGElement **p);

    HRESULT (STDMETHODCALLTYPE *getBBox)(
        ISVGLocatable *This,
        ISVGRect **ppResult);

    HRESULT (STDMETHODCALLTYPE *getCTM)(
        ISVGLocatable *This,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *getScreenCTM)(
        ISVGLocatable *This,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *getTransformToElement)(
        ISVGLocatable *This,
        ISVGElement *pElement,
        ISVGMatrix **ppResult);

    END_INTERFACE
} ISVGLocatableVtbl;

interface ISVGLocatable {
    CONST_VTBL ISVGLocatableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGLocatable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGLocatable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGLocatable_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGLocatable_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGLocatable_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGLocatable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGLocatable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGLocatable methods ***/
#define ISVGLocatable_get_nearestViewportElement(This,p) (This)->lpVtbl->get_nearestViewportElement(This,p)
#define ISVGLocatable_get_farthestViewportElement(This,p) (This)->lpVtbl->get_farthestViewportElement(This,p)
#define ISVGLocatable_getBBox(This,ppResult) (This)->lpVtbl->getBBox(This,ppResult)
#define ISVGLocatable_getCTM(This,ppResult) (This)->lpVtbl->getCTM(This,ppResult)
#define ISVGLocatable_getScreenCTM(This,ppResult) (This)->lpVtbl->getScreenCTM(This,ppResult)
#define ISVGLocatable_getTransformToElement(This,pElement,ppResult) (This)->lpVtbl->getTransformToElement(This,pElement,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGLocatable_QueryInterface(ISVGLocatable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGLocatable_AddRef(ISVGLocatable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGLocatable_Release(ISVGLocatable* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGLocatable_GetTypeInfoCount(ISVGLocatable* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGLocatable_GetTypeInfo(ISVGLocatable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGLocatable_GetIDsOfNames(ISVGLocatable* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGLocatable_Invoke(ISVGLocatable* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGLocatable methods ***/
static inline HRESULT ISVGLocatable_get_nearestViewportElement(ISVGLocatable* This,ISVGElement **p) {
    return This->lpVtbl->get_nearestViewportElement(This,p);
}
static inline HRESULT ISVGLocatable_get_farthestViewportElement(ISVGLocatable* This,ISVGElement **p) {
    return This->lpVtbl->get_farthestViewportElement(This,p);
}
static inline HRESULT ISVGLocatable_getBBox(ISVGLocatable* This,ISVGRect **ppResult) {
    return This->lpVtbl->getBBox(This,ppResult);
}
static inline HRESULT ISVGLocatable_getCTM(ISVGLocatable* This,ISVGMatrix **ppResult) {
    return This->lpVtbl->getCTM(This,ppResult);
}
static inline HRESULT ISVGLocatable_getScreenCTM(ISVGLocatable* This,ISVGMatrix **ppResult) {
    return This->lpVtbl->getScreenCTM(This,ppResult);
}
static inline HRESULT ISVGLocatable_getTransformToElement(ISVGLocatable* This,ISVGElement *pElement,ISVGMatrix **ppResult) {
    return This->lpVtbl->getTransformToElement(This,pElement,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGLocatable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGTransformable interface
 */
#ifndef __ISVGTransformable_INTERFACE_DEFINED__
#define __ISVGTransformable_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTransformable, 0x305104dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104dc-98b5-11cf-bb82-00aa00bdce0b")
ISVGTransformable : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_transform(
        ISVGAnimatedTransformList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTransformable, 0x305104dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTransformableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTransformable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTransformable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTransformable *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTransformable *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTransformable *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTransformable *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTransformable *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGTransformable methods ***/
    HRESULT (STDMETHODCALLTYPE *get_transform)(
        ISVGTransformable *This,
        ISVGAnimatedTransformList **p);

    END_INTERFACE
} ISVGTransformableVtbl;

interface ISVGTransformable {
    CONST_VTBL ISVGTransformableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTransformable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTransformable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTransformable_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTransformable_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTransformable_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTransformable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTransformable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGTransformable methods ***/
#define ISVGTransformable_get_transform(This,p) (This)->lpVtbl->get_transform(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTransformable_QueryInterface(ISVGTransformable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTransformable_AddRef(ISVGTransformable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTransformable_Release(ISVGTransformable* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTransformable_GetTypeInfoCount(ISVGTransformable* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTransformable_GetTypeInfo(ISVGTransformable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTransformable_GetIDsOfNames(ISVGTransformable* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTransformable_Invoke(ISVGTransformable* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGTransformable methods ***/
static inline HRESULT ISVGTransformable_get_transform(ISVGTransformable* This,ISVGAnimatedTransformList **p) {
    return This->lpVtbl->get_transform(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGTransformable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGTests interface
 */
#ifndef __ISVGTests_INTERFACE_DEFINED__
#define __ISVGTests_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTests, 0x305104dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104dd-98b5-11cf-bb82-00aa00bdce0b")
ISVGTests : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_requiredFeatures(
        ISVGStringList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_requiredExtensions(
        ISVGStringList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_systemLanguage(
        ISVGStringList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasExtension(
        BSTR extension,
        VARIANT_BOOL *pResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTests, 0x305104dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTestsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTests *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTests *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTests *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTests *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTests *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTests *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTests *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGTests methods ***/
    HRESULT (STDMETHODCALLTYPE *get_requiredFeatures)(
        ISVGTests *This,
        ISVGStringList **p);

    HRESULT (STDMETHODCALLTYPE *get_requiredExtensions)(
        ISVGTests *This,
        ISVGStringList **p);

    HRESULT (STDMETHODCALLTYPE *get_systemLanguage)(
        ISVGTests *This,
        ISVGStringList **p);

    HRESULT (STDMETHODCALLTYPE *hasExtension)(
        ISVGTests *This,
        BSTR extension,
        VARIANT_BOOL *pResult);

    END_INTERFACE
} ISVGTestsVtbl;

interface ISVGTests {
    CONST_VTBL ISVGTestsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTests_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTests_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTests_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTests_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTests_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTests_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTests_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGTests methods ***/
#define ISVGTests_get_requiredFeatures(This,p) (This)->lpVtbl->get_requiredFeatures(This,p)
#define ISVGTests_get_requiredExtensions(This,p) (This)->lpVtbl->get_requiredExtensions(This,p)
#define ISVGTests_get_systemLanguage(This,p) (This)->lpVtbl->get_systemLanguage(This,p)
#define ISVGTests_hasExtension(This,extension,pResult) (This)->lpVtbl->hasExtension(This,extension,pResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTests_QueryInterface(ISVGTests* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTests_AddRef(ISVGTests* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTests_Release(ISVGTests* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTests_GetTypeInfoCount(ISVGTests* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTests_GetTypeInfo(ISVGTests* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTests_GetIDsOfNames(ISVGTests* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTests_Invoke(ISVGTests* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGTests methods ***/
static inline HRESULT ISVGTests_get_requiredFeatures(ISVGTests* This,ISVGStringList **p) {
    return This->lpVtbl->get_requiredFeatures(This,p);
}
static inline HRESULT ISVGTests_get_requiredExtensions(ISVGTests* This,ISVGStringList **p) {
    return This->lpVtbl->get_requiredExtensions(This,p);
}
static inline HRESULT ISVGTests_get_systemLanguage(ISVGTests* This,ISVGStringList **p) {
    return This->lpVtbl->get_systemLanguage(This,p);
}
static inline HRESULT ISVGTests_hasExtension(ISVGTests* This,BSTR extension,VARIANT_BOOL *pResult) {
    return This->lpVtbl->hasExtension(This,extension,pResult);
}
#endif
#endif

#endif


#endif  /* __ISVGTests_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGLangSpace interface
 */
#ifndef __ISVGLangSpace_INTERFACE_DEFINED__
#define __ISVGLangSpace_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGLangSpace, 0x305104de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104de-98b5-11cf-bb82-00aa00bdce0b")
ISVGLangSpace : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_xmllang(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_xmllang(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_xmlspace(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_xmlspace(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGLangSpace, 0x305104de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGLangSpaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGLangSpace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGLangSpace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGLangSpace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGLangSpace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGLangSpace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGLangSpace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGLangSpace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGLangSpace methods ***/
    HRESULT (STDMETHODCALLTYPE *put_xmllang)(
        ISVGLangSpace *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_xmllang)(
        ISVGLangSpace *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_xmlspace)(
        ISVGLangSpace *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_xmlspace)(
        ISVGLangSpace *This,
        BSTR *p);

    END_INTERFACE
} ISVGLangSpaceVtbl;

interface ISVGLangSpace {
    CONST_VTBL ISVGLangSpaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGLangSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGLangSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGLangSpace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGLangSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGLangSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGLangSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGLangSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGLangSpace methods ***/
#define ISVGLangSpace_put_xmllang(This,v) (This)->lpVtbl->put_xmllang(This,v)
#define ISVGLangSpace_get_xmllang(This,p) (This)->lpVtbl->get_xmllang(This,p)
#define ISVGLangSpace_put_xmlspace(This,v) (This)->lpVtbl->put_xmlspace(This,v)
#define ISVGLangSpace_get_xmlspace(This,p) (This)->lpVtbl->get_xmlspace(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGLangSpace_QueryInterface(ISVGLangSpace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGLangSpace_AddRef(ISVGLangSpace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGLangSpace_Release(ISVGLangSpace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGLangSpace_GetTypeInfoCount(ISVGLangSpace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGLangSpace_GetTypeInfo(ISVGLangSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGLangSpace_GetIDsOfNames(ISVGLangSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGLangSpace_Invoke(ISVGLangSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGLangSpace methods ***/
static inline HRESULT ISVGLangSpace_put_xmllang(ISVGLangSpace* This,BSTR v) {
    return This->lpVtbl->put_xmllang(This,v);
}
static inline HRESULT ISVGLangSpace_get_xmllang(ISVGLangSpace* This,BSTR *p) {
    return This->lpVtbl->get_xmllang(This,p);
}
static inline HRESULT ISVGLangSpace_put_xmlspace(ISVGLangSpace* This,BSTR v) {
    return This->lpVtbl->put_xmlspace(This,v);
}
static inline HRESULT ISVGLangSpace_get_xmlspace(ISVGLangSpace* This,BSTR *p) {
    return This->lpVtbl->get_xmlspace(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGLangSpace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGExternalResourcesRequired interface
 */
#ifndef __ISVGExternalResourcesRequired_INTERFACE_DEFINED__
#define __ISVGExternalResourcesRequired_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGExternalResourcesRequired, 0x305104df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104df-98b5-11cf-bb82-00aa00bdce0b")
ISVGExternalResourcesRequired : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_externalResourcesRequired(
        ISVGAnimatedBoolean **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGExternalResourcesRequired, 0x305104df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGExternalResourcesRequiredVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGExternalResourcesRequired *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGExternalResourcesRequired *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGExternalResourcesRequired *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGExternalResourcesRequired *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGExternalResourcesRequired *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGExternalResourcesRequired *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGExternalResourcesRequired *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGExternalResourcesRequired methods ***/
    HRESULT (STDMETHODCALLTYPE *get_externalResourcesRequired)(
        ISVGExternalResourcesRequired *This,
        ISVGAnimatedBoolean **p);

    END_INTERFACE
} ISVGExternalResourcesRequiredVtbl;

interface ISVGExternalResourcesRequired {
    CONST_VTBL ISVGExternalResourcesRequiredVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGExternalResourcesRequired_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGExternalResourcesRequired_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGExternalResourcesRequired_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGExternalResourcesRequired_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGExternalResourcesRequired_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGExternalResourcesRequired_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGExternalResourcesRequired_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGExternalResourcesRequired methods ***/
#define ISVGExternalResourcesRequired_get_externalResourcesRequired(This,p) (This)->lpVtbl->get_externalResourcesRequired(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGExternalResourcesRequired_QueryInterface(ISVGExternalResourcesRequired* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGExternalResourcesRequired_AddRef(ISVGExternalResourcesRequired* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGExternalResourcesRequired_Release(ISVGExternalResourcesRequired* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGExternalResourcesRequired_GetTypeInfoCount(ISVGExternalResourcesRequired* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGExternalResourcesRequired_GetTypeInfo(ISVGExternalResourcesRequired* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGExternalResourcesRequired_GetIDsOfNames(ISVGExternalResourcesRequired* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGExternalResourcesRequired_Invoke(ISVGExternalResourcesRequired* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGExternalResourcesRequired methods ***/
static inline HRESULT ISVGExternalResourcesRequired_get_externalResourcesRequired(ISVGExternalResourcesRequired* This,ISVGAnimatedBoolean **p) {
    return This->lpVtbl->get_externalResourcesRequired(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGExternalResourcesRequired_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGFitToViewBox interface
 */
#ifndef __ISVGFitToViewBox_INTERFACE_DEFINED__
#define __ISVGFitToViewBox_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGFitToViewBox, 0x305104e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e0-98b5-11cf-bb82-00aa00bdce0b")
ISVGFitToViewBox : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_viewBox(
        ISVGAnimatedRect **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_preserveAspectRatio(
        ISVGAnimatedPreserveAspectRatio *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_preserveAspectRatio(
        ISVGAnimatedPreserveAspectRatio **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGFitToViewBox, 0x305104e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGFitToViewBoxVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGFitToViewBox *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGFitToViewBox *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGFitToViewBox *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGFitToViewBox *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGFitToViewBox *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGFitToViewBox *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGFitToViewBox *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGFitToViewBox methods ***/
    HRESULT (STDMETHODCALLTYPE *get_viewBox)(
        ISVGFitToViewBox *This,
        ISVGAnimatedRect **p);

    HRESULT (STDMETHODCALLTYPE *putref_preserveAspectRatio)(
        ISVGFitToViewBox *This,
        ISVGAnimatedPreserveAspectRatio *v);

    HRESULT (STDMETHODCALLTYPE *get_preserveAspectRatio)(
        ISVGFitToViewBox *This,
        ISVGAnimatedPreserveAspectRatio **p);

    END_INTERFACE
} ISVGFitToViewBoxVtbl;

interface ISVGFitToViewBox {
    CONST_VTBL ISVGFitToViewBoxVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGFitToViewBox_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGFitToViewBox_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGFitToViewBox_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGFitToViewBox_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGFitToViewBox_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGFitToViewBox_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGFitToViewBox_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGFitToViewBox methods ***/
#define ISVGFitToViewBox_get_viewBox(This,p) (This)->lpVtbl->get_viewBox(This,p)
#define ISVGFitToViewBox_putref_preserveAspectRatio(This,v) (This)->lpVtbl->putref_preserveAspectRatio(This,v)
#define ISVGFitToViewBox_get_preserveAspectRatio(This,p) (This)->lpVtbl->get_preserveAspectRatio(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGFitToViewBox_QueryInterface(ISVGFitToViewBox* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGFitToViewBox_AddRef(ISVGFitToViewBox* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGFitToViewBox_Release(ISVGFitToViewBox* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGFitToViewBox_GetTypeInfoCount(ISVGFitToViewBox* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGFitToViewBox_GetTypeInfo(ISVGFitToViewBox* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGFitToViewBox_GetIDsOfNames(ISVGFitToViewBox* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGFitToViewBox_Invoke(ISVGFitToViewBox* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGFitToViewBox methods ***/
static inline HRESULT ISVGFitToViewBox_get_viewBox(ISVGFitToViewBox* This,ISVGAnimatedRect **p) {
    return This->lpVtbl->get_viewBox(This,p);
}
static inline HRESULT ISVGFitToViewBox_putref_preserveAspectRatio(ISVGFitToViewBox* This,ISVGAnimatedPreserveAspectRatio *v) {
    return This->lpVtbl->putref_preserveAspectRatio(This,v);
}
static inline HRESULT ISVGFitToViewBox_get_preserveAspectRatio(ISVGFitToViewBox* This,ISVGAnimatedPreserveAspectRatio **p) {
    return This->lpVtbl->get_preserveAspectRatio(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGFitToViewBox_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGZoomAndPan interface
 */
#ifndef __ISVGZoomAndPan_INTERFACE_DEFINED__
#define __ISVGZoomAndPan_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGZoomAndPan, 0x305104e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e1-98b5-11cf-bb82-00aa00bdce0b")
ISVGZoomAndPan : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_zoomAndPan(
        short *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGZoomAndPan, 0x305104e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGZoomAndPanVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGZoomAndPan *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGZoomAndPan *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGZoomAndPan *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGZoomAndPan *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGZoomAndPan *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGZoomAndPan *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGZoomAndPan *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGZoomAndPan methods ***/
    HRESULT (STDMETHODCALLTYPE *get_zoomAndPan)(
        ISVGZoomAndPan *This,
        short *p);

    END_INTERFACE
} ISVGZoomAndPanVtbl;

interface ISVGZoomAndPan {
    CONST_VTBL ISVGZoomAndPanVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGZoomAndPan_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGZoomAndPan_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGZoomAndPan_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGZoomAndPan_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGZoomAndPan_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGZoomAndPan_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGZoomAndPan_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGZoomAndPan methods ***/
#define ISVGZoomAndPan_get_zoomAndPan(This,p) (This)->lpVtbl->get_zoomAndPan(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGZoomAndPan_QueryInterface(ISVGZoomAndPan* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGZoomAndPan_AddRef(ISVGZoomAndPan* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGZoomAndPan_Release(ISVGZoomAndPan* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGZoomAndPan_GetTypeInfoCount(ISVGZoomAndPan* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGZoomAndPan_GetTypeInfo(ISVGZoomAndPan* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGZoomAndPan_GetIDsOfNames(ISVGZoomAndPan* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGZoomAndPan_Invoke(ISVGZoomAndPan* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGZoomAndPan methods ***/
static inline HRESULT ISVGZoomAndPan_get_zoomAndPan(ISVGZoomAndPan* This,short *p) {
    return This->lpVtbl->get_zoomAndPan(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGZoomAndPan_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGURIReference interface
 */
#ifndef __ISVGURIReference_INTERFACE_DEFINED__
#define __ISVGURIReference_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGURIReference, 0x305104e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e3-98b5-11cf-bb82-00aa00bdce0b")
ISVGURIReference : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_href(
        ISVGAnimatedString **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGURIReference, 0x305104e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGURIReferenceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGURIReference *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGURIReference *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGURIReference *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGURIReference *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGURIReference *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGURIReference *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGURIReference *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGURIReference methods ***/
    HRESULT (STDMETHODCALLTYPE *get_href)(
        ISVGURIReference *This,
        ISVGAnimatedString **p);

    END_INTERFACE
} ISVGURIReferenceVtbl;

interface ISVGURIReference {
    CONST_VTBL ISVGURIReferenceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGURIReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGURIReference_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGURIReference_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGURIReference_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGURIReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGURIReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGURIReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGURIReference methods ***/
#define ISVGURIReference_get_href(This,p) (This)->lpVtbl->get_href(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGURIReference_QueryInterface(ISVGURIReference* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGURIReference_AddRef(ISVGURIReference* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGURIReference_Release(ISVGURIReference* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGURIReference_GetTypeInfoCount(ISVGURIReference* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGURIReference_GetTypeInfo(ISVGURIReference* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGURIReference_GetIDsOfNames(ISVGURIReference* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGURIReference_Invoke(ISVGURIReference* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGURIReference methods ***/
static inline HRESULT ISVGURIReference_get_href(ISVGURIReference* This,ISVGAnimatedString **p) {
    return This->lpVtbl->get_href(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGURIReference_INTERFACE_DEFINED__ */

#ifndef __ISVGAngle_FWD_DEFINED__
#define __ISVGAngle_FWD_DEFINED__
typedef interface ISVGAngle ISVGAngle;
#ifdef __cplusplus
interface ISVGAngle;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedAngle interface
 */
#ifndef __ISVGAnimatedAngle_INTERFACE_DEFINED__
#define __ISVGAnimatedAngle_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedAngle, 0x305104d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d4-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedAngle : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_baseVal(
        ISVGAngle *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        ISVGAngle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animVal(
        ISVGAngle *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        ISVGAngle **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedAngle, 0x305104d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedAngleVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedAngle *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedAngle *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedAngle *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedAngle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedAngle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedAngle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedAngle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedAngle methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_baseVal)(
        ISVGAnimatedAngle *This,
        ISVGAngle *v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedAngle *This,
        ISVGAngle **p);

    HRESULT (STDMETHODCALLTYPE *putref_animVal)(
        ISVGAnimatedAngle *This,
        ISVGAngle *v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedAngle *This,
        ISVGAngle **p);

    END_INTERFACE
} ISVGAnimatedAngleVtbl;

interface ISVGAnimatedAngle {
    CONST_VTBL ISVGAnimatedAngleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedAngle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedAngle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedAngle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedAngle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedAngle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedAngle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedAngle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedAngle methods ***/
#define ISVGAnimatedAngle_putref_baseVal(This,v) (This)->lpVtbl->putref_baseVal(This,v)
#define ISVGAnimatedAngle_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedAngle_putref_animVal(This,v) (This)->lpVtbl->putref_animVal(This,v)
#define ISVGAnimatedAngle_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedAngle_QueryInterface(ISVGAnimatedAngle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedAngle_AddRef(ISVGAnimatedAngle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedAngle_Release(ISVGAnimatedAngle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedAngle_GetTypeInfoCount(ISVGAnimatedAngle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedAngle_GetTypeInfo(ISVGAnimatedAngle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedAngle_GetIDsOfNames(ISVGAnimatedAngle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedAngle_Invoke(ISVGAnimatedAngle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedAngle methods ***/
static inline HRESULT ISVGAnimatedAngle_putref_baseVal(ISVGAnimatedAngle* This,ISVGAngle *v) {
    return This->lpVtbl->putref_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedAngle_get_baseVal(ISVGAnimatedAngle* This,ISVGAngle **p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedAngle_putref_animVal(ISVGAnimatedAngle* This,ISVGAngle *v) {
    return This->lpVtbl->putref_animVal(This,v);
}
static inline HRESULT ISVGAnimatedAngle_get_animVal(ISVGAnimatedAngle* This,ISVGAngle **p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedAngle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedAngle coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedAngle, 0x305105e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105e4-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedAngle;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedAngle, 0x305105e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedAngle;
#ifndef __ISVGTransformList_FWD_DEFINED__
#define __ISVGTransformList_FWD_DEFINED__
typedef interface ISVGTransformList ISVGTransformList;
#ifdef __cplusplus
interface ISVGTransformList;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedTransformList interface
 */
#ifndef __ISVGAnimatedTransformList_INTERFACE_DEFINED__
#define __ISVGAnimatedTransformList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedTransformList, 0x305104f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f9-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedTransformList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_baseVal(
        ISVGTransformList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        ISVGTransformList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animVal(
        ISVGTransformList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        ISVGTransformList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedTransformList, 0x305104f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedTransformListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedTransformList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedTransformList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedTransformList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedTransformList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedTransformList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedTransformList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedTransformList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedTransformList methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_baseVal)(
        ISVGAnimatedTransformList *This,
        ISVGTransformList *v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedTransformList *This,
        ISVGTransformList **p);

    HRESULT (STDMETHODCALLTYPE *putref_animVal)(
        ISVGAnimatedTransformList *This,
        ISVGTransformList *v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedTransformList *This,
        ISVGTransformList **p);

    END_INTERFACE
} ISVGAnimatedTransformListVtbl;

interface ISVGAnimatedTransformList {
    CONST_VTBL ISVGAnimatedTransformListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedTransformList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedTransformList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedTransformList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedTransformList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedTransformList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedTransformList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedTransformList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedTransformList methods ***/
#define ISVGAnimatedTransformList_putref_baseVal(This,v) (This)->lpVtbl->putref_baseVal(This,v)
#define ISVGAnimatedTransformList_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedTransformList_putref_animVal(This,v) (This)->lpVtbl->putref_animVal(This,v)
#define ISVGAnimatedTransformList_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedTransformList_QueryInterface(ISVGAnimatedTransformList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedTransformList_AddRef(ISVGAnimatedTransformList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedTransformList_Release(ISVGAnimatedTransformList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedTransformList_GetTypeInfoCount(ISVGAnimatedTransformList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedTransformList_GetTypeInfo(ISVGAnimatedTransformList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedTransformList_GetIDsOfNames(ISVGAnimatedTransformList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedTransformList_Invoke(ISVGAnimatedTransformList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedTransformList methods ***/
static inline HRESULT ISVGAnimatedTransformList_putref_baseVal(ISVGAnimatedTransformList* This,ISVGTransformList *v) {
    return This->lpVtbl->putref_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedTransformList_get_baseVal(ISVGAnimatedTransformList* This,ISVGTransformList **p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedTransformList_putref_animVal(ISVGAnimatedTransformList* This,ISVGTransformList *v) {
    return This->lpVtbl->putref_animVal(This,v);
}
static inline HRESULT ISVGAnimatedTransformList_get_animVal(ISVGAnimatedTransformList* This,ISVGTransformList **p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedTransformList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedTransformList coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedTransformList, 0x305105b1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105b1-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedTransformList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedTransformList, 0x305105b1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedTransformList;
/*****************************************************************************
 * ISVGAnimatedBoolean interface
 */
#ifndef __ISVGAnimatedBoolean_INTERFACE_DEFINED__
#define __ISVGAnimatedBoolean_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedBoolean, 0x305104c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c6-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedBoolean : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_baseVal(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animVal(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedBoolean, 0x305104c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedBooleanVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedBoolean *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedBoolean *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedBoolean *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedBoolean *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedBoolean *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedBoolean *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedBoolean *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedBoolean methods ***/
    HRESULT (STDMETHODCALLTYPE *put_baseVal)(
        ISVGAnimatedBoolean *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedBoolean *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_animVal)(
        ISVGAnimatedBoolean *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedBoolean *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} ISVGAnimatedBooleanVtbl;

interface ISVGAnimatedBoolean {
    CONST_VTBL ISVGAnimatedBooleanVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedBoolean_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedBoolean_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedBoolean_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedBoolean_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedBoolean_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedBoolean_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedBoolean_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedBoolean methods ***/
#define ISVGAnimatedBoolean_put_baseVal(This,v) (This)->lpVtbl->put_baseVal(This,v)
#define ISVGAnimatedBoolean_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedBoolean_put_animVal(This,v) (This)->lpVtbl->put_animVal(This,v)
#define ISVGAnimatedBoolean_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedBoolean_QueryInterface(ISVGAnimatedBoolean* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedBoolean_AddRef(ISVGAnimatedBoolean* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedBoolean_Release(ISVGAnimatedBoolean* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedBoolean_GetTypeInfoCount(ISVGAnimatedBoolean* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedBoolean_GetTypeInfo(ISVGAnimatedBoolean* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedBoolean_GetIDsOfNames(ISVGAnimatedBoolean* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedBoolean_Invoke(ISVGAnimatedBoolean* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedBoolean methods ***/
static inline HRESULT ISVGAnimatedBoolean_put_baseVal(ISVGAnimatedBoolean* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedBoolean_get_baseVal(ISVGAnimatedBoolean* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedBoolean_put_animVal(ISVGAnimatedBoolean* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_animVal(This,v);
}
static inline HRESULT ISVGAnimatedBoolean_get_animVal(ISVGAnimatedBoolean* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedBoolean_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedBoolean coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedBoolean, 0x3051058b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051058b-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedBoolean;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedBoolean, 0x3051058b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedBoolean;
/*****************************************************************************
 * ISVGAnimatedEnumeration interface
 */
#ifndef __ISVGAnimatedEnumeration_INTERFACE_DEFINED__
#define __ISVGAnimatedEnumeration_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedEnumeration, 0x305104c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c9-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedEnumeration : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_baseVal(
        USHORT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animVal(
        USHORT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        USHORT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedEnumeration, 0x305104c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedEnumerationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedEnumeration *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedEnumeration *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedEnumeration *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedEnumeration *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedEnumeration *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedEnumeration *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedEnumeration *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedEnumeration methods ***/
    HRESULT (STDMETHODCALLTYPE *put_baseVal)(
        ISVGAnimatedEnumeration *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedEnumeration *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_animVal)(
        ISVGAnimatedEnumeration *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedEnumeration *This,
        USHORT *p);

    END_INTERFACE
} ISVGAnimatedEnumerationVtbl;

interface ISVGAnimatedEnumeration {
    CONST_VTBL ISVGAnimatedEnumerationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedEnumeration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedEnumeration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedEnumeration_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedEnumeration_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedEnumeration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedEnumeration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedEnumeration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedEnumeration methods ***/
#define ISVGAnimatedEnumeration_put_baseVal(This,v) (This)->lpVtbl->put_baseVal(This,v)
#define ISVGAnimatedEnumeration_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedEnumeration_put_animVal(This,v) (This)->lpVtbl->put_animVal(This,v)
#define ISVGAnimatedEnumeration_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedEnumeration_QueryInterface(ISVGAnimatedEnumeration* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedEnumeration_AddRef(ISVGAnimatedEnumeration* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedEnumeration_Release(ISVGAnimatedEnumeration* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedEnumeration_GetTypeInfoCount(ISVGAnimatedEnumeration* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedEnumeration_GetTypeInfo(ISVGAnimatedEnumeration* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedEnumeration_GetIDsOfNames(ISVGAnimatedEnumeration* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedEnumeration_Invoke(ISVGAnimatedEnumeration* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedEnumeration methods ***/
static inline HRESULT ISVGAnimatedEnumeration_put_baseVal(ISVGAnimatedEnumeration* This,USHORT v) {
    return This->lpVtbl->put_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedEnumeration_get_baseVal(ISVGAnimatedEnumeration* This,USHORT *p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedEnumeration_put_animVal(ISVGAnimatedEnumeration* This,USHORT v) {
    return This->lpVtbl->put_animVal(This,v);
}
static inline HRESULT ISVGAnimatedEnumeration_get_animVal(ISVGAnimatedEnumeration* This,USHORT *p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedEnumeration_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedEnumeration coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedEnumeration, 0x3051058e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051058e-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedEnumeration;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedEnumeration, 0x3051058e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedEnumeration;
/*****************************************************************************
 * ISVGAnimatedInteger interface
 */
#ifndef __ISVGAnimatedInteger_INTERFACE_DEFINED__
#define __ISVGAnimatedInteger_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedInteger, 0x305104ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ca-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedInteger : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_baseVal(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animVal(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedInteger, 0x305104ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedIntegerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedInteger *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedInteger *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedInteger *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedInteger *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedInteger *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedInteger *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedInteger *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedInteger methods ***/
    HRESULT (STDMETHODCALLTYPE *put_baseVal)(
        ISVGAnimatedInteger *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedInteger *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_animVal)(
        ISVGAnimatedInteger *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedInteger *This,
        LONG *p);

    END_INTERFACE
} ISVGAnimatedIntegerVtbl;

interface ISVGAnimatedInteger {
    CONST_VTBL ISVGAnimatedIntegerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedInteger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedInteger_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedInteger_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedInteger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedInteger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedInteger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedInteger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedInteger methods ***/
#define ISVGAnimatedInteger_put_baseVal(This,v) (This)->lpVtbl->put_baseVal(This,v)
#define ISVGAnimatedInteger_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedInteger_put_animVal(This,v) (This)->lpVtbl->put_animVal(This,v)
#define ISVGAnimatedInteger_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedInteger_QueryInterface(ISVGAnimatedInteger* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedInteger_AddRef(ISVGAnimatedInteger* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedInteger_Release(ISVGAnimatedInteger* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedInteger_GetTypeInfoCount(ISVGAnimatedInteger* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedInteger_GetTypeInfo(ISVGAnimatedInteger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedInteger_GetIDsOfNames(ISVGAnimatedInteger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedInteger_Invoke(ISVGAnimatedInteger* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedInteger methods ***/
static inline HRESULT ISVGAnimatedInteger_put_baseVal(ISVGAnimatedInteger* This,LONG v) {
    return This->lpVtbl->put_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedInteger_get_baseVal(ISVGAnimatedInteger* This,LONG *p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedInteger_put_animVal(ISVGAnimatedInteger* This,LONG v) {
    return This->lpVtbl->put_animVal(This,v);
}
static inline HRESULT ISVGAnimatedInteger_get_animVal(ISVGAnimatedInteger* This,LONG *p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedInteger_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedInteger coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedInteger, 0x3051058f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051058f-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedInteger;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedInteger, 0x3051058f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedInteger;
#ifndef __ISVGLength_FWD_DEFINED__
#define __ISVGLength_FWD_DEFINED__
typedef interface ISVGLength ISVGLength;
#ifdef __cplusplus
interface ISVGLength;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedLength interface
 */
#ifndef __ISVGAnimatedLength_INTERFACE_DEFINED__
#define __ISVGAnimatedLength_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedLength, 0x305104d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d0-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedLength : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_baseVal(
        ISVGLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        ISVGLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animVal(
        ISVGLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        ISVGLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedLength, 0x305104d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedLengthVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedLength *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedLength *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedLength *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedLength *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedLength *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedLength *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedLength *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedLength methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_baseVal)(
        ISVGAnimatedLength *This,
        ISVGLength *v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedLength *This,
        ISVGLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_animVal)(
        ISVGAnimatedLength *This,
        ISVGLength *v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedLength *This,
        ISVGLength **p);

    END_INTERFACE
} ISVGAnimatedLengthVtbl;

interface ISVGAnimatedLength {
    CONST_VTBL ISVGAnimatedLengthVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedLength_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedLength_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedLength_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedLength_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedLength_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedLength_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedLength_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedLength methods ***/
#define ISVGAnimatedLength_putref_baseVal(This,v) (This)->lpVtbl->putref_baseVal(This,v)
#define ISVGAnimatedLength_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedLength_putref_animVal(This,v) (This)->lpVtbl->putref_animVal(This,v)
#define ISVGAnimatedLength_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedLength_QueryInterface(ISVGAnimatedLength* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedLength_AddRef(ISVGAnimatedLength* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedLength_Release(ISVGAnimatedLength* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedLength_GetTypeInfoCount(ISVGAnimatedLength* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedLength_GetTypeInfo(ISVGAnimatedLength* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedLength_GetIDsOfNames(ISVGAnimatedLength* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedLength_Invoke(ISVGAnimatedLength* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedLength methods ***/
static inline HRESULT ISVGAnimatedLength_putref_baseVal(ISVGAnimatedLength* This,ISVGLength *v) {
    return This->lpVtbl->putref_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedLength_get_baseVal(ISVGAnimatedLength* This,ISVGLength **p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedLength_putref_animVal(ISVGAnimatedLength* This,ISVGLength *v) {
    return This->lpVtbl->putref_animVal(This,v);
}
static inline HRESULT ISVGAnimatedLength_get_animVal(ISVGAnimatedLength* This,ISVGLength **p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedLength_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedLength coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedLength, 0x30510581, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510581-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedLength;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedLength, 0x30510581, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedLength;
#ifndef __ISVGLengthList_FWD_DEFINED__
#define __ISVGLengthList_FWD_DEFINED__
typedef interface ISVGLengthList ISVGLengthList;
#ifdef __cplusplus
interface ISVGLengthList;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedLengthList interface
 */
#ifndef __ISVGAnimatedLengthList_INTERFACE_DEFINED__
#define __ISVGAnimatedLengthList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedLengthList, 0x305104d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d2-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedLengthList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_baseVal(
        ISVGLengthList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        ISVGLengthList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animVal(
        ISVGLengthList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        ISVGLengthList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedLengthList, 0x305104d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedLengthListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedLengthList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedLengthList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedLengthList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedLengthList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedLengthList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedLengthList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedLengthList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedLengthList methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_baseVal)(
        ISVGAnimatedLengthList *This,
        ISVGLengthList *v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedLengthList *This,
        ISVGLengthList **p);

    HRESULT (STDMETHODCALLTYPE *putref_animVal)(
        ISVGAnimatedLengthList *This,
        ISVGLengthList *v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedLengthList *This,
        ISVGLengthList **p);

    END_INTERFACE
} ISVGAnimatedLengthListVtbl;

interface ISVGAnimatedLengthList {
    CONST_VTBL ISVGAnimatedLengthListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedLengthList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedLengthList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedLengthList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedLengthList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedLengthList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedLengthList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedLengthList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedLengthList methods ***/
#define ISVGAnimatedLengthList_putref_baseVal(This,v) (This)->lpVtbl->putref_baseVal(This,v)
#define ISVGAnimatedLengthList_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedLengthList_putref_animVal(This,v) (This)->lpVtbl->putref_animVal(This,v)
#define ISVGAnimatedLengthList_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedLengthList_QueryInterface(ISVGAnimatedLengthList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedLengthList_AddRef(ISVGAnimatedLengthList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedLengthList_Release(ISVGAnimatedLengthList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedLengthList_GetTypeInfoCount(ISVGAnimatedLengthList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedLengthList_GetTypeInfo(ISVGAnimatedLengthList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedLengthList_GetIDsOfNames(ISVGAnimatedLengthList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedLengthList_Invoke(ISVGAnimatedLengthList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedLengthList methods ***/
static inline HRESULT ISVGAnimatedLengthList_putref_baseVal(ISVGAnimatedLengthList* This,ISVGLengthList *v) {
    return This->lpVtbl->putref_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedLengthList_get_baseVal(ISVGAnimatedLengthList* This,ISVGLengthList **p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedLengthList_putref_animVal(ISVGAnimatedLengthList* This,ISVGLengthList *v) {
    return This->lpVtbl->putref_animVal(This,v);
}
static inline HRESULT ISVGAnimatedLengthList_get_animVal(ISVGAnimatedLengthList* This,ISVGLengthList **p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedLengthList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedLengthList coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedLengthList, 0x30510582, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510582-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedLengthList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedLengthList, 0x30510582, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedLengthList;
#ifndef __ISVGNumber_FWD_DEFINED__
#define __ISVGNumber_FWD_DEFINED__
typedef interface ISVGNumber ISVGNumber;
#ifdef __cplusplus
interface ISVGNumber;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedNumber interface
 */
#ifndef __ISVGAnimatedNumber_INTERFACE_DEFINED__
#define __ISVGAnimatedNumber_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedNumber, 0x305104cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104cc-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedNumber : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_baseVal(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_animVal(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedNumber, 0x305104cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedNumberVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedNumber *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedNumber *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedNumber *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedNumber *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedNumber *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedNumber *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedNumber *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedNumber methods ***/
    HRESULT (STDMETHODCALLTYPE *put_baseVal)(
        ISVGAnimatedNumber *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedNumber *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_animVal)(
        ISVGAnimatedNumber *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedNumber *This,
        float *p);

    END_INTERFACE
} ISVGAnimatedNumberVtbl;

interface ISVGAnimatedNumber {
    CONST_VTBL ISVGAnimatedNumberVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedNumber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedNumber_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedNumber_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedNumber_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedNumber_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedNumber_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedNumber_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedNumber methods ***/
#define ISVGAnimatedNumber_put_baseVal(This,v) (This)->lpVtbl->put_baseVal(This,v)
#define ISVGAnimatedNumber_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedNumber_put_animVal(This,v) (This)->lpVtbl->put_animVal(This,v)
#define ISVGAnimatedNumber_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedNumber_QueryInterface(ISVGAnimatedNumber* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedNumber_AddRef(ISVGAnimatedNumber* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedNumber_Release(ISVGAnimatedNumber* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedNumber_GetTypeInfoCount(ISVGAnimatedNumber* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedNumber_GetTypeInfo(ISVGAnimatedNumber* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedNumber_GetIDsOfNames(ISVGAnimatedNumber* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedNumber_Invoke(ISVGAnimatedNumber* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedNumber methods ***/
static inline HRESULT ISVGAnimatedNumber_put_baseVal(ISVGAnimatedNumber* This,float v) {
    return This->lpVtbl->put_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedNumber_get_baseVal(ISVGAnimatedNumber* This,float *p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedNumber_put_animVal(ISVGAnimatedNumber* This,float v) {
    return This->lpVtbl->put_animVal(This,v);
}
static inline HRESULT ISVGAnimatedNumber_get_animVal(ISVGAnimatedNumber* This,float *p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedNumber_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedNumber coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedNumber, 0x30510588, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510588-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedNumber;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedNumber, 0x30510588, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedNumber;
#ifndef __ISVGNumberList_FWD_DEFINED__
#define __ISVGNumberList_FWD_DEFINED__
typedef interface ISVGNumberList ISVGNumberList;
#ifdef __cplusplus
interface ISVGNumberList;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedNumberList interface
 */
#ifndef __ISVGAnimatedNumberList_INTERFACE_DEFINED__
#define __ISVGAnimatedNumberList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedNumberList, 0x305104ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ce-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedNumberList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_baseVal(
        ISVGNumberList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        ISVGNumberList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animVal(
        ISVGNumberList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        ISVGNumberList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedNumberList, 0x305104ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedNumberListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedNumberList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedNumberList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedNumberList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedNumberList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedNumberList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedNumberList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedNumberList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedNumberList methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_baseVal)(
        ISVGAnimatedNumberList *This,
        ISVGNumberList *v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedNumberList *This,
        ISVGNumberList **p);

    HRESULT (STDMETHODCALLTYPE *putref_animVal)(
        ISVGAnimatedNumberList *This,
        ISVGNumberList *v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedNumberList *This,
        ISVGNumberList **p);

    END_INTERFACE
} ISVGAnimatedNumberListVtbl;

interface ISVGAnimatedNumberList {
    CONST_VTBL ISVGAnimatedNumberListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedNumberList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedNumberList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedNumberList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedNumberList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedNumberList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedNumberList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedNumberList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedNumberList methods ***/
#define ISVGAnimatedNumberList_putref_baseVal(This,v) (This)->lpVtbl->putref_baseVal(This,v)
#define ISVGAnimatedNumberList_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedNumberList_putref_animVal(This,v) (This)->lpVtbl->putref_animVal(This,v)
#define ISVGAnimatedNumberList_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedNumberList_QueryInterface(ISVGAnimatedNumberList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedNumberList_AddRef(ISVGAnimatedNumberList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedNumberList_Release(ISVGAnimatedNumberList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedNumberList_GetTypeInfoCount(ISVGAnimatedNumberList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedNumberList_GetTypeInfo(ISVGAnimatedNumberList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedNumberList_GetIDsOfNames(ISVGAnimatedNumberList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedNumberList_Invoke(ISVGAnimatedNumberList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedNumberList methods ***/
static inline HRESULT ISVGAnimatedNumberList_putref_baseVal(ISVGAnimatedNumberList* This,ISVGNumberList *v) {
    return This->lpVtbl->putref_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedNumberList_get_baseVal(ISVGAnimatedNumberList* This,ISVGNumberList **p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedNumberList_putref_animVal(ISVGAnimatedNumberList* This,ISVGNumberList *v) {
    return This->lpVtbl->putref_animVal(This,v);
}
static inline HRESULT ISVGAnimatedNumberList_get_animVal(ISVGAnimatedNumberList* This,ISVGNumberList **p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedNumberList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedNumberList coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedNumberList, 0x3051058a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051058a-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedNumberList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedNumberList, 0x3051058a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedNumberList;
#ifndef __ISVGRect_FWD_DEFINED__
#define __ISVGRect_FWD_DEFINED__
typedef interface ISVGRect ISVGRect;
#ifdef __cplusplus
interface ISVGRect;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedRect interface
 */
#ifndef __ISVGAnimatedRect_INTERFACE_DEFINED__
#define __ISVGAnimatedRect_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedRect, 0x305104d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d8-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedRect : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_baseVal(
        ISVGRect *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        ISVGRect **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animVal(
        ISVGRect *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        ISVGRect **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedRect, 0x305104d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedRectVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedRect *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedRect *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedRect *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedRect *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedRect *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedRect *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedRect *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedRect methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_baseVal)(
        ISVGAnimatedRect *This,
        ISVGRect *v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedRect *This,
        ISVGRect **p);

    HRESULT (STDMETHODCALLTYPE *putref_animVal)(
        ISVGAnimatedRect *This,
        ISVGRect *v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedRect *This,
        ISVGRect **p);

    END_INTERFACE
} ISVGAnimatedRectVtbl;

interface ISVGAnimatedRect {
    CONST_VTBL ISVGAnimatedRectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedRect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedRect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedRect_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedRect_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedRect_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedRect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedRect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedRect methods ***/
#define ISVGAnimatedRect_putref_baseVal(This,v) (This)->lpVtbl->putref_baseVal(This,v)
#define ISVGAnimatedRect_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedRect_putref_animVal(This,v) (This)->lpVtbl->putref_animVal(This,v)
#define ISVGAnimatedRect_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedRect_QueryInterface(ISVGAnimatedRect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedRect_AddRef(ISVGAnimatedRect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedRect_Release(ISVGAnimatedRect* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedRect_GetTypeInfoCount(ISVGAnimatedRect* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedRect_GetTypeInfo(ISVGAnimatedRect* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedRect_GetIDsOfNames(ISVGAnimatedRect* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedRect_Invoke(ISVGAnimatedRect* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedRect methods ***/
static inline HRESULT ISVGAnimatedRect_putref_baseVal(ISVGAnimatedRect* This,ISVGRect *v) {
    return This->lpVtbl->putref_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedRect_get_baseVal(ISVGAnimatedRect* This,ISVGRect **p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedRect_putref_animVal(ISVGAnimatedRect* This,ISVGRect *v) {
    return This->lpVtbl->putref_animVal(This,v);
}
static inline HRESULT ISVGAnimatedRect_get_animVal(ISVGAnimatedRect* This,ISVGRect **p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedRect_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedRect coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedRect, 0x30510586, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510586-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedRect;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedRect, 0x30510586, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedRect;
/*****************************************************************************
 * ISVGAnimatedString interface
 */
#ifndef __ISVGAnimatedString_INTERFACE_DEFINED__
#define __ISVGAnimatedString_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedString, 0x305104c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c7-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedString : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_baseVal(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedString, 0x305104c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedStringVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedString *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedString *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedString *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedString *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedString *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedString *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedString *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedString methods ***/
    HRESULT (STDMETHODCALLTYPE *put_baseVal)(
        ISVGAnimatedString *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedString *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedString *This,
        BSTR *p);

    END_INTERFACE
} ISVGAnimatedStringVtbl;

interface ISVGAnimatedString {
    CONST_VTBL ISVGAnimatedStringVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedString_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedString_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedString_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedString_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedString_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedString_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedString methods ***/
#define ISVGAnimatedString_put_baseVal(This,v) (This)->lpVtbl->put_baseVal(This,v)
#define ISVGAnimatedString_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedString_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedString_QueryInterface(ISVGAnimatedString* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedString_AddRef(ISVGAnimatedString* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedString_Release(ISVGAnimatedString* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedString_GetTypeInfoCount(ISVGAnimatedString* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedString_GetTypeInfo(ISVGAnimatedString* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedString_GetIDsOfNames(ISVGAnimatedString* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedString_Invoke(ISVGAnimatedString* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedString methods ***/
static inline HRESULT ISVGAnimatedString_put_baseVal(ISVGAnimatedString* This,BSTR v) {
    return This->lpVtbl->put_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedString_get_baseVal(ISVGAnimatedString* This,BSTR *p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedString_get_animVal(ISVGAnimatedString* This,BSTR *p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedString_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedString coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedString, 0x3051058c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051058c-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedString;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedString, 0x3051058c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedString;
/*****************************************************************************
 * ISVGClipPathElement interface
 */
#ifndef __ISVGClipPathElement_INTERFACE_DEFINED__
#define __ISVGClipPathElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGClipPathElement, 0x3051052d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051052d-98b5-11cf-bb82-00aa00bdce0b")
ISVGClipPathElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_clipPathUnits(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_clipPathUnits(
        ISVGAnimatedEnumeration **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGClipPathElement, 0x3051052d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGClipPathElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGClipPathElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGClipPathElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGClipPathElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGClipPathElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGClipPathElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGClipPathElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGClipPathElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGClipPathElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_clipPathUnits)(
        ISVGClipPathElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_clipPathUnits)(
        ISVGClipPathElement *This,
        ISVGAnimatedEnumeration **p);

    END_INTERFACE
} ISVGClipPathElementVtbl;

interface ISVGClipPathElement {
    CONST_VTBL ISVGClipPathElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGClipPathElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGClipPathElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGClipPathElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGClipPathElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGClipPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGClipPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGClipPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGClipPathElement methods ***/
#define ISVGClipPathElement_putref_clipPathUnits(This,v) (This)->lpVtbl->putref_clipPathUnits(This,v)
#define ISVGClipPathElement_get_clipPathUnits(This,p) (This)->lpVtbl->get_clipPathUnits(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGClipPathElement_QueryInterface(ISVGClipPathElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGClipPathElement_AddRef(ISVGClipPathElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGClipPathElement_Release(ISVGClipPathElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGClipPathElement_GetTypeInfoCount(ISVGClipPathElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGClipPathElement_GetTypeInfo(ISVGClipPathElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGClipPathElement_GetIDsOfNames(ISVGClipPathElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGClipPathElement_Invoke(ISVGClipPathElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGClipPathElement methods ***/
static inline HRESULT ISVGClipPathElement_putref_clipPathUnits(ISVGClipPathElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_clipPathUnits(This,v);
}
static inline HRESULT ISVGClipPathElement_get_clipPathUnits(ISVGClipPathElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_clipPathUnits(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGClipPathElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGClipPathElement dispinterface
 */
#ifndef __DispSVGClipPathElement_DISPINTERFACE_DEFINED__
#define __DispSVGClipPathElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGClipPathElement, 0x3059003b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059003b-98b5-11cf-bb82-00aa00bdce0b")
DispSVGClipPathElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGClipPathElement, 0x3059003b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGClipPathElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGClipPathElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGClipPathElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGClipPathElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGClipPathElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGClipPathElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGClipPathElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGClipPathElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGClipPathElementVtbl;

interface DispSVGClipPathElement {
    CONST_VTBL DispSVGClipPathElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGClipPathElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGClipPathElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGClipPathElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGClipPathElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGClipPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGClipPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGClipPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGClipPathElement_QueryInterface(DispSVGClipPathElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGClipPathElement_AddRef(DispSVGClipPathElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGClipPathElement_Release(DispSVGClipPathElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGClipPathElement_GetTypeInfoCount(DispSVGClipPathElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGClipPathElement_GetTypeInfo(DispSVGClipPathElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGClipPathElement_GetIDsOfNames(DispSVGClipPathElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGClipPathElement_Invoke(DispSVGClipPathElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGClipPathElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGClipPathElement coclass
 */

DEFINE_GUID(CLSID_SVGClipPathElement, 0x305105e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105e6-98b5-11cf-bb82-00aa00bdce0b") SVGClipPathElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGClipPathElement, 0x305105e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGClipPathElement;
/*****************************************************************************
 * ISVGDocument interface
 */
#ifndef __ISVGDocument_INTERFACE_DEFINED__
#define __ISVGDocument_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGDocument, 0x305104e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e6-98b5-11cf-bb82-00aa00bdce0b")
ISVGDocument : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_rootElement(
        ISVGSVGElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGDocument, 0x305104e6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGDocumentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGDocument *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGDocument *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGDocument *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGDocument *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGDocument *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGDocument *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGDocument *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGDocument methods ***/
    HRESULT (STDMETHODCALLTYPE *get_rootElement)(
        ISVGDocument *This,
        ISVGSVGElement **p);

    END_INTERFACE
} ISVGDocumentVtbl;

interface ISVGDocument {
    CONST_VTBL ISVGDocumentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGDocument_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGDocument_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGDocument methods ***/
#define ISVGDocument_get_rootElement(This,p) (This)->lpVtbl->get_rootElement(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGDocument_QueryInterface(ISVGDocument* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGDocument_AddRef(ISVGDocument* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGDocument_Release(ISVGDocument* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGDocument_GetTypeInfoCount(ISVGDocument* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGDocument_GetTypeInfo(ISVGDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGDocument_GetIDsOfNames(ISVGDocument* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGDocument_Invoke(ISVGDocument* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGDocument methods ***/
static inline HRESULT ISVGDocument_get_rootElement(ISVGDocument* This,ISVGSVGElement **p) {
    return This->lpVtbl->get_rootElement(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGDocument_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IGetSVGDocument interface
 */
#ifndef __IGetSVGDocument_INTERFACE_DEFINED__
#define __IGetSVGDocument_INTERFACE_DEFINED__

DEFINE_GUID(IID_IGetSVGDocument, 0x305105ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305105ab-98b5-11cf-bb82-00aa00bdce0b")
IGetSVGDocument : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getSVGDocument(
        IDispatch **ppSVGDocument) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IGetSVGDocument, 0x305105ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IGetSVGDocumentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IGetSVGDocument *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IGetSVGDocument *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IGetSVGDocument *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IGetSVGDocument *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IGetSVGDocument *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IGetSVGDocument *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IGetSVGDocument *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IGetSVGDocument methods ***/
    HRESULT (STDMETHODCALLTYPE *getSVGDocument)(
        IGetSVGDocument *This,
        IDispatch **ppSVGDocument);

    END_INTERFACE
} IGetSVGDocumentVtbl;

interface IGetSVGDocument {
    CONST_VTBL IGetSVGDocumentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IGetSVGDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IGetSVGDocument_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IGetSVGDocument_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IGetSVGDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IGetSVGDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IGetSVGDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IGetSVGDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IGetSVGDocument methods ***/
#define IGetSVGDocument_getSVGDocument(This,ppSVGDocument) (This)->lpVtbl->getSVGDocument(This,ppSVGDocument)
#else
/*** IUnknown methods ***/
static inline HRESULT IGetSVGDocument_QueryInterface(IGetSVGDocument* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IGetSVGDocument_AddRef(IGetSVGDocument* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IGetSVGDocument_Release(IGetSVGDocument* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IGetSVGDocument_GetTypeInfoCount(IGetSVGDocument* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IGetSVGDocument_GetTypeInfo(IGetSVGDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IGetSVGDocument_GetIDsOfNames(IGetSVGDocument* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IGetSVGDocument_Invoke(IGetSVGDocument* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IGetSVGDocument methods ***/
static inline HRESULT IGetSVGDocument_getSVGDocument(IGetSVGDocument* This,IDispatch **ppSVGDocument) {
    return This->lpVtbl->getSVGDocument(This,ppSVGDocument);
}
#endif
#endif

#endif


#endif  /* __IGetSVGDocument_INTERFACE_DEFINED__ */

typedef enum _svgFocusable {
    svgFocusableNotSet = 0,
    svgFocusableAuto = 1,
    svgFocusableTrue = 2,
    svgFocusableFalse = 3,
    svgFocusable_Max = 0x7fffffff
} svgFocusable;
#ifndef __ISVGSVGElement_FWD_DEFINED__
#define __ISVGSVGElement_FWD_DEFINED__
typedef interface ISVGSVGElement ISVGSVGElement;
#ifdef __cplusplus
interface ISVGSVGElement;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGElement interface
 */
#ifndef __ISVGElement_INTERFACE_DEFINED__
#define __ISVGElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGElement, 0x305104c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c5-98b5-11cf-bb82-00aa00bdce0b")
ISVGElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_xmlbase(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_xmlbase(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_ownerSVGElement(
        ISVGSVGElement *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ownerSVGElement(
        ISVGSVGElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_viewportElement(
        ISVGElement *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_viewportElement(
        ISVGElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_focusable(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_focusable(
        ISVGAnimatedEnumeration **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGElement, 0x305104c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_xmlbase)(
        ISVGElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_xmlbase)(
        ISVGElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *putref_ownerSVGElement)(
        ISVGElement *This,
        ISVGSVGElement *v);

    HRESULT (STDMETHODCALLTYPE *get_ownerSVGElement)(
        ISVGElement *This,
        ISVGSVGElement **p);

    HRESULT (STDMETHODCALLTYPE *putref_viewportElement)(
        ISVGElement *This,
        ISVGElement *v);

    HRESULT (STDMETHODCALLTYPE *get_viewportElement)(
        ISVGElement *This,
        ISVGElement **p);

    HRESULT (STDMETHODCALLTYPE *putref_focusable)(
        ISVGElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_focusable)(
        ISVGElement *This,
        ISVGAnimatedEnumeration **p);

    END_INTERFACE
} ISVGElementVtbl;

interface ISVGElement {
    CONST_VTBL ISVGElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGElement methods ***/
#define ISVGElement_put_xmlbase(This,v) (This)->lpVtbl->put_xmlbase(This,v)
#define ISVGElement_get_xmlbase(This,p) (This)->lpVtbl->get_xmlbase(This,p)
#define ISVGElement_putref_ownerSVGElement(This,v) (This)->lpVtbl->putref_ownerSVGElement(This,v)
#define ISVGElement_get_ownerSVGElement(This,p) (This)->lpVtbl->get_ownerSVGElement(This,p)
#define ISVGElement_putref_viewportElement(This,v) (This)->lpVtbl->putref_viewportElement(This,v)
#define ISVGElement_get_viewportElement(This,p) (This)->lpVtbl->get_viewportElement(This,p)
#define ISVGElement_putref_focusable(This,v) (This)->lpVtbl->putref_focusable(This,v)
#define ISVGElement_get_focusable(This,p) (This)->lpVtbl->get_focusable(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGElement_QueryInterface(ISVGElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGElement_AddRef(ISVGElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGElement_Release(ISVGElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGElement_GetTypeInfoCount(ISVGElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGElement_GetTypeInfo(ISVGElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGElement_GetIDsOfNames(ISVGElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGElement_Invoke(ISVGElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGElement methods ***/
static inline HRESULT ISVGElement_put_xmlbase(ISVGElement* This,BSTR v) {
    return This->lpVtbl->put_xmlbase(This,v);
}
static inline HRESULT ISVGElement_get_xmlbase(ISVGElement* This,BSTR *p) {
    return This->lpVtbl->get_xmlbase(This,p);
}
static inline HRESULT ISVGElement_putref_ownerSVGElement(ISVGElement* This,ISVGSVGElement *v) {
    return This->lpVtbl->putref_ownerSVGElement(This,v);
}
static inline HRESULT ISVGElement_get_ownerSVGElement(ISVGElement* This,ISVGSVGElement **p) {
    return This->lpVtbl->get_ownerSVGElement(This,p);
}
static inline HRESULT ISVGElement_putref_viewportElement(ISVGElement* This,ISVGElement *v) {
    return This->lpVtbl->putref_viewportElement(This,v);
}
static inline HRESULT ISVGElement_get_viewportElement(ISVGElement* This,ISVGElement **p) {
    return This->lpVtbl->get_viewportElement(This,p);
}
static inline HRESULT ISVGElement_putref_focusable(ISVGElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_focusable(This,v);
}
static inline HRESULT ISVGElement_get_focusable(ISVGElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_focusable(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGElement dispinterface
 */
#ifndef __DispSVGElement_DISPINTERFACE_DEFINED__
#define __DispSVGElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGElement, 0x30590000, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590000-98b5-11cf-bb82-00aa00bdce0b")
DispSVGElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGElement, 0x30590000, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGElementVtbl;

interface DispSVGElement {
    CONST_VTBL DispSVGElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGElement_QueryInterface(DispSVGElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGElement_AddRef(DispSVGElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGElement_Release(DispSVGElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGElement_GetTypeInfoCount(DispSVGElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGElement_GetTypeInfo(DispSVGElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGElement_GetIDsOfNames(DispSVGElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGElement_Invoke(DispSVGElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGElement coclass
 */

DEFINE_GUID(CLSID_SVGElement, 0x30510564, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510564-98b5-11cf-bb82-00aa00bdce0b") SVGElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGElement, 0x30510564, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGElement;
/*****************************************************************************
 * IICCSVGColor interface
 */
#ifndef __IICCSVGColor_INTERFACE_DEFINED__
#define __IICCSVGColor_INTERFACE_DEFINED__

DEFINE_GUID(IID_IICCSVGColor, 0x305104d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d6-98b5-11cf-bb82-00aa00bdce0b")
IICCSVGColor : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IICCSVGColor, 0x305104d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IICCSVGColorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IICCSVGColor *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IICCSVGColor *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IICCSVGColor *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IICCSVGColor *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IICCSVGColor *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IICCSVGColor *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IICCSVGColor *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IICCSVGColorVtbl;

interface IICCSVGColor {
    CONST_VTBL IICCSVGColorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IICCSVGColor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IICCSVGColor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IICCSVGColor_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IICCSVGColor_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IICCSVGColor_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IICCSVGColor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IICCSVGColor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IICCSVGColor_QueryInterface(IICCSVGColor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IICCSVGColor_AddRef(IICCSVGColor* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IICCSVGColor_Release(IICCSVGColor* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IICCSVGColor_GetTypeInfoCount(IICCSVGColor* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IICCSVGColor_GetTypeInfo(IICCSVGColor* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IICCSVGColor_GetIDsOfNames(IICCSVGColor* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IICCSVGColor_Invoke(IICCSVGColor* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IICCSVGColor_INTERFACE_DEFINED__ */

typedef enum _svgLengthType {
    SVG_LENGTHTYPE_UNKNOWN = 0,
    SVG_LENGTHTYPE_NUMBER = 1,
    SVG_LENGTHTYPE_PERCENTAGE = 2,
    SVG_LENGTHTYPE_EMS = 3,
    SVG_LENGTHTYPE_EXS = 4,
    SVG_LENGTHTYPE_PX = 5,
    SVG_LENGTHTYPE_CM = 6,
    SVG_LENGTHTYPE_MM = 7,
    SVG_LENGTHTYPE_IN = 8,
    SVG_LENGTHTYPE_PT = 9,
    SVG_LENGTHTYPE_PC = 10,
    svgLengthType_Max = 0x7fffffff
} svgLengthType;
/*****************************************************************************
 * ISVGLength interface
 */
#ifndef __ISVGLength_INTERFACE_DEFINED__
#define __ISVGLength_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGLength, 0x305104cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104cf-98b5-11cf-bb82-00aa00bdce0b")
ISVGLength : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_unitType(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unitType(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_valueInSpecifiedUnits(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_valueInSpecifiedUnits(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_valueAsString(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_valueAsString(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE newValueSpecifiedUnits(
        short unitType,
        float valueInSpecifiedUnits) = 0;

    virtual HRESULT STDMETHODCALLTYPE convertToSpecifiedUnits(
        short unitType) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGLength, 0x305104cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGLengthVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGLength *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGLength *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGLength *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGLength *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGLength *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGLength *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGLength *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGLength methods ***/
    HRESULT (STDMETHODCALLTYPE *put_unitType)(
        ISVGLength *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_unitType)(
        ISVGLength *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *put_value)(
        ISVGLength *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        ISVGLength *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_valueInSpecifiedUnits)(
        ISVGLength *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_valueInSpecifiedUnits)(
        ISVGLength *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_valueAsString)(
        ISVGLength *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_valueAsString)(
        ISVGLength *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *newValueSpecifiedUnits)(
        ISVGLength *This,
        short unitType,
        float valueInSpecifiedUnits);

    HRESULT (STDMETHODCALLTYPE *convertToSpecifiedUnits)(
        ISVGLength *This,
        short unitType);

    END_INTERFACE
} ISVGLengthVtbl;

interface ISVGLength {
    CONST_VTBL ISVGLengthVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGLength_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGLength_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGLength_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGLength_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGLength_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGLength_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGLength_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGLength methods ***/
#define ISVGLength_put_unitType(This,v) (This)->lpVtbl->put_unitType(This,v)
#define ISVGLength_get_unitType(This,p) (This)->lpVtbl->get_unitType(This,p)
#define ISVGLength_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define ISVGLength_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define ISVGLength_put_valueInSpecifiedUnits(This,v) (This)->lpVtbl->put_valueInSpecifiedUnits(This,v)
#define ISVGLength_get_valueInSpecifiedUnits(This,p) (This)->lpVtbl->get_valueInSpecifiedUnits(This,p)
#define ISVGLength_put_valueAsString(This,v) (This)->lpVtbl->put_valueAsString(This,v)
#define ISVGLength_get_valueAsString(This,p) (This)->lpVtbl->get_valueAsString(This,p)
#define ISVGLength_newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits) (This)->lpVtbl->newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits)
#define ISVGLength_convertToSpecifiedUnits(This,unitType) (This)->lpVtbl->convertToSpecifiedUnits(This,unitType)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGLength_QueryInterface(ISVGLength* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGLength_AddRef(ISVGLength* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGLength_Release(ISVGLength* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGLength_GetTypeInfoCount(ISVGLength* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGLength_GetTypeInfo(ISVGLength* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGLength_GetIDsOfNames(ISVGLength* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGLength_Invoke(ISVGLength* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGLength methods ***/
static inline HRESULT ISVGLength_put_unitType(ISVGLength* This,short v) {
    return This->lpVtbl->put_unitType(This,v);
}
static inline HRESULT ISVGLength_get_unitType(ISVGLength* This,short *p) {
    return This->lpVtbl->get_unitType(This,p);
}
static inline HRESULT ISVGLength_put_value(ISVGLength* This,float v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT ISVGLength_get_value(ISVGLength* This,float *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT ISVGLength_put_valueInSpecifiedUnits(ISVGLength* This,float v) {
    return This->lpVtbl->put_valueInSpecifiedUnits(This,v);
}
static inline HRESULT ISVGLength_get_valueInSpecifiedUnits(ISVGLength* This,float *p) {
    return This->lpVtbl->get_valueInSpecifiedUnits(This,p);
}
static inline HRESULT ISVGLength_put_valueAsString(ISVGLength* This,BSTR v) {
    return This->lpVtbl->put_valueAsString(This,v);
}
static inline HRESULT ISVGLength_get_valueAsString(ISVGLength* This,BSTR *p) {
    return This->lpVtbl->get_valueAsString(This,p);
}
static inline HRESULT ISVGLength_newValueSpecifiedUnits(ISVGLength* This,short unitType,float valueInSpecifiedUnits) {
    return This->lpVtbl->newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits);
}
static inline HRESULT ISVGLength_convertToSpecifiedUnits(ISVGLength* This,short unitType) {
    return This->lpVtbl->convertToSpecifiedUnits(This,unitType);
}
#endif
#endif

#endif


#endif  /* __ISVGLength_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGLength coclass
 */

DEFINE_GUID(CLSID_SVGLength, 0x3051057e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051057e-98b5-11cf-bb82-00aa00bdce0b") SVGLength;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGLength, 0x3051057e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGLength;
#ifndef __ISVGLength_FWD_DEFINED__
#define __ISVGLength_FWD_DEFINED__
typedef interface ISVGLength ISVGLength;
#ifdef __cplusplus
interface ISVGLength;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGLengthList interface
 */
#ifndef __ISVGLengthList_INTERFACE_DEFINED__
#define __ISVGLengthList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGLengthList, 0x305104d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d1-98b5-11cf-bb82-00aa00bdce0b")
ISVGLengthList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_numberOfItems(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_numberOfItems(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE initialize(
        ISVGLength *newItem,
        ISVGLength **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getItem(
        LONG index,
        ISVGLength **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertItemBefore(
        ISVGLength *newItem,
        LONG index,
        ISVGLength **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceItem(
        ISVGLength *newItem,
        LONG index,
        ISVGLength **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeItem(
        LONG index,
        ISVGLength **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItem(
        ISVGLength *newItem,
        ISVGLength **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGLengthList, 0x305104d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGLengthListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGLengthList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGLengthList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGLengthList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGLengthList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGLengthList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGLengthList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGLengthList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGLengthList methods ***/
    HRESULT (STDMETHODCALLTYPE *put_numberOfItems)(
        ISVGLengthList *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_numberOfItems)(
        ISVGLengthList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *clear)(
        ISVGLengthList *This);

    HRESULT (STDMETHODCALLTYPE *initialize)(
        ISVGLengthList *This,
        ISVGLength *newItem,
        ISVGLength **ppResult);

    HRESULT (STDMETHODCALLTYPE *getItem)(
        ISVGLengthList *This,
        LONG index,
        ISVGLength **ppResult);

    HRESULT (STDMETHODCALLTYPE *insertItemBefore)(
        ISVGLengthList *This,
        ISVGLength *newItem,
        LONG index,
        ISVGLength **ppResult);

    HRESULT (STDMETHODCALLTYPE *replaceItem)(
        ISVGLengthList *This,
        ISVGLength *newItem,
        LONG index,
        ISVGLength **ppResult);

    HRESULT (STDMETHODCALLTYPE *removeItem)(
        ISVGLengthList *This,
        LONG index,
        ISVGLength **ppResult);

    HRESULT (STDMETHODCALLTYPE *appendItem)(
        ISVGLengthList *This,
        ISVGLength *newItem,
        ISVGLength **ppResult);

    END_INTERFACE
} ISVGLengthListVtbl;

interface ISVGLengthList {
    CONST_VTBL ISVGLengthListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGLengthList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGLengthList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGLengthList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGLengthList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGLengthList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGLengthList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGLengthList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGLengthList methods ***/
#define ISVGLengthList_put_numberOfItems(This,v) (This)->lpVtbl->put_numberOfItems(This,v)
#define ISVGLengthList_get_numberOfItems(This,p) (This)->lpVtbl->get_numberOfItems(This,p)
#define ISVGLengthList_clear(This) (This)->lpVtbl->clear(This)
#define ISVGLengthList_initialize(This,newItem,ppResult) (This)->lpVtbl->initialize(This,newItem,ppResult)
#define ISVGLengthList_getItem(This,index,ppResult) (This)->lpVtbl->getItem(This,index,ppResult)
#define ISVGLengthList_insertItemBefore(This,newItem,index,ppResult) (This)->lpVtbl->insertItemBefore(This,newItem,index,ppResult)
#define ISVGLengthList_replaceItem(This,newItem,index,ppResult) (This)->lpVtbl->replaceItem(This,newItem,index,ppResult)
#define ISVGLengthList_removeItem(This,index,ppResult) (This)->lpVtbl->removeItem(This,index,ppResult)
#define ISVGLengthList_appendItem(This,newItem,ppResult) (This)->lpVtbl->appendItem(This,newItem,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGLengthList_QueryInterface(ISVGLengthList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGLengthList_AddRef(ISVGLengthList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGLengthList_Release(ISVGLengthList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGLengthList_GetTypeInfoCount(ISVGLengthList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGLengthList_GetTypeInfo(ISVGLengthList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGLengthList_GetIDsOfNames(ISVGLengthList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGLengthList_Invoke(ISVGLengthList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGLengthList methods ***/
static inline HRESULT ISVGLengthList_put_numberOfItems(ISVGLengthList* This,LONG v) {
    return This->lpVtbl->put_numberOfItems(This,v);
}
static inline HRESULT ISVGLengthList_get_numberOfItems(ISVGLengthList* This,LONG *p) {
    return This->lpVtbl->get_numberOfItems(This,p);
}
static inline HRESULT ISVGLengthList_clear(ISVGLengthList* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT ISVGLengthList_initialize(ISVGLengthList* This,ISVGLength *newItem,ISVGLength **ppResult) {
    return This->lpVtbl->initialize(This,newItem,ppResult);
}
static inline HRESULT ISVGLengthList_getItem(ISVGLengthList* This,LONG index,ISVGLength **ppResult) {
    return This->lpVtbl->getItem(This,index,ppResult);
}
static inline HRESULT ISVGLengthList_insertItemBefore(ISVGLengthList* This,ISVGLength *newItem,LONG index,ISVGLength **ppResult) {
    return This->lpVtbl->insertItemBefore(This,newItem,index,ppResult);
}
static inline HRESULT ISVGLengthList_replaceItem(ISVGLengthList* This,ISVGLength *newItem,LONG index,ISVGLength **ppResult) {
    return This->lpVtbl->replaceItem(This,newItem,index,ppResult);
}
static inline HRESULT ISVGLengthList_removeItem(ISVGLengthList* This,LONG index,ISVGLength **ppResult) {
    return This->lpVtbl->removeItem(This,index,ppResult);
}
static inline HRESULT ISVGLengthList_appendItem(ISVGLengthList* This,ISVGLength *newItem,ISVGLength **ppResult) {
    return This->lpVtbl->appendItem(This,newItem,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGLengthList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGLengthList coclass
 */

DEFINE_GUID(CLSID_SVGLengthList, 0x30510580, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510580-98b5-11cf-bb82-00aa00bdce0b") SVGLengthList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGLengthList, 0x30510580, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGLengthList;
/*****************************************************************************
 * ISVGMatrix interface
 */
#ifndef __ISVGMatrix_INTERFACE_DEFINED__
#define __ISVGMatrix_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGMatrix, 0x305104f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f6-98b5-11cf-bb82-00aa00bdce0b")
ISVGMatrix : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_a(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_a(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_b(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_b(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_c(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_c(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_d(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_d(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_e(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_e(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_f(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_f(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE multiply(
        ISVGMatrix *secondMatrix,
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE inverse(
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE translate(
        float x,
        float y,
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE scale(
        float scaleFactor,
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE scaleNonUniform(
        float scaleFactorX,
        float scaleFactorY,
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE rotate(
        float angle,
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE rotateFromVector(
        float x,
        float y,
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE flipX(
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE flipY(
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE skewX(
        float angle,
        ISVGMatrix **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE skewY(
        float angle,
        ISVGMatrix **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGMatrix, 0x305104f6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGMatrixVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGMatrix *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGMatrix *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGMatrix *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGMatrix *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGMatrix *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGMatrix *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGMatrix *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGMatrix methods ***/
    HRESULT (STDMETHODCALLTYPE *put_a)(
        ISVGMatrix *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_a)(
        ISVGMatrix *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_b)(
        ISVGMatrix *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_b)(
        ISVGMatrix *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_c)(
        ISVGMatrix *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_c)(
        ISVGMatrix *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_d)(
        ISVGMatrix *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_d)(
        ISVGMatrix *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_e)(
        ISVGMatrix *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_e)(
        ISVGMatrix *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_f)(
        ISVGMatrix *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_f)(
        ISVGMatrix *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *multiply)(
        ISVGMatrix *This,
        ISVGMatrix *secondMatrix,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *inverse)(
        ISVGMatrix *This,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *translate)(
        ISVGMatrix *This,
        float x,
        float y,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *scale)(
        ISVGMatrix *This,
        float scaleFactor,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *scaleNonUniform)(
        ISVGMatrix *This,
        float scaleFactorX,
        float scaleFactorY,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *rotate)(
        ISVGMatrix *This,
        float angle,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *rotateFromVector)(
        ISVGMatrix *This,
        float x,
        float y,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *flipX)(
        ISVGMatrix *This,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *flipY)(
        ISVGMatrix *This,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *skewX)(
        ISVGMatrix *This,
        float angle,
        ISVGMatrix **ppResult);

    HRESULT (STDMETHODCALLTYPE *skewY)(
        ISVGMatrix *This,
        float angle,
        ISVGMatrix **ppResult);

    END_INTERFACE
} ISVGMatrixVtbl;

interface ISVGMatrix {
    CONST_VTBL ISVGMatrixVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGMatrix_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGMatrix_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGMatrix_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGMatrix_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGMatrix_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGMatrix_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGMatrix_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGMatrix methods ***/
#define ISVGMatrix_put_a(This,v) (This)->lpVtbl->put_a(This,v)
#define ISVGMatrix_get_a(This,p) (This)->lpVtbl->get_a(This,p)
#define ISVGMatrix_put_b(This,v) (This)->lpVtbl->put_b(This,v)
#define ISVGMatrix_get_b(This,p) (This)->lpVtbl->get_b(This,p)
#define ISVGMatrix_put_c(This,v) (This)->lpVtbl->put_c(This,v)
#define ISVGMatrix_get_c(This,p) (This)->lpVtbl->get_c(This,p)
#define ISVGMatrix_put_d(This,v) (This)->lpVtbl->put_d(This,v)
#define ISVGMatrix_get_d(This,p) (This)->lpVtbl->get_d(This,p)
#define ISVGMatrix_put_e(This,v) (This)->lpVtbl->put_e(This,v)
#define ISVGMatrix_get_e(This,p) (This)->lpVtbl->get_e(This,p)
#define ISVGMatrix_put_f(This,v) (This)->lpVtbl->put_f(This,v)
#define ISVGMatrix_get_f(This,p) (This)->lpVtbl->get_f(This,p)
#define ISVGMatrix_multiply(This,secondMatrix,ppResult) (This)->lpVtbl->multiply(This,secondMatrix,ppResult)
#define ISVGMatrix_inverse(This,ppResult) (This)->lpVtbl->inverse(This,ppResult)
#define ISVGMatrix_translate(This,x,y,ppResult) (This)->lpVtbl->translate(This,x,y,ppResult)
#define ISVGMatrix_scale(This,scaleFactor,ppResult) (This)->lpVtbl->scale(This,scaleFactor,ppResult)
#define ISVGMatrix_scaleNonUniform(This,scaleFactorX,scaleFactorY,ppResult) (This)->lpVtbl->scaleNonUniform(This,scaleFactorX,scaleFactorY,ppResult)
#define ISVGMatrix_rotate(This,angle,ppResult) (This)->lpVtbl->rotate(This,angle,ppResult)
#define ISVGMatrix_rotateFromVector(This,x,y,ppResult) (This)->lpVtbl->rotateFromVector(This,x,y,ppResult)
#define ISVGMatrix_flipX(This,ppResult) (This)->lpVtbl->flipX(This,ppResult)
#define ISVGMatrix_flipY(This,ppResult) (This)->lpVtbl->flipY(This,ppResult)
#define ISVGMatrix_skewX(This,angle,ppResult) (This)->lpVtbl->skewX(This,angle,ppResult)
#define ISVGMatrix_skewY(This,angle,ppResult) (This)->lpVtbl->skewY(This,angle,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGMatrix_QueryInterface(ISVGMatrix* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGMatrix_AddRef(ISVGMatrix* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGMatrix_Release(ISVGMatrix* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGMatrix_GetTypeInfoCount(ISVGMatrix* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGMatrix_GetTypeInfo(ISVGMatrix* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGMatrix_GetIDsOfNames(ISVGMatrix* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGMatrix_Invoke(ISVGMatrix* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGMatrix methods ***/
static inline HRESULT ISVGMatrix_put_a(ISVGMatrix* This,float v) {
    return This->lpVtbl->put_a(This,v);
}
static inline HRESULT ISVGMatrix_get_a(ISVGMatrix* This,float *p) {
    return This->lpVtbl->get_a(This,p);
}
static inline HRESULT ISVGMatrix_put_b(ISVGMatrix* This,float v) {
    return This->lpVtbl->put_b(This,v);
}
static inline HRESULT ISVGMatrix_get_b(ISVGMatrix* This,float *p) {
    return This->lpVtbl->get_b(This,p);
}
static inline HRESULT ISVGMatrix_put_c(ISVGMatrix* This,float v) {
    return This->lpVtbl->put_c(This,v);
}
static inline HRESULT ISVGMatrix_get_c(ISVGMatrix* This,float *p) {
    return This->lpVtbl->get_c(This,p);
}
static inline HRESULT ISVGMatrix_put_d(ISVGMatrix* This,float v) {
    return This->lpVtbl->put_d(This,v);
}
static inline HRESULT ISVGMatrix_get_d(ISVGMatrix* This,float *p) {
    return This->lpVtbl->get_d(This,p);
}
static inline HRESULT ISVGMatrix_put_e(ISVGMatrix* This,float v) {
    return This->lpVtbl->put_e(This,v);
}
static inline HRESULT ISVGMatrix_get_e(ISVGMatrix* This,float *p) {
    return This->lpVtbl->get_e(This,p);
}
static inline HRESULT ISVGMatrix_put_f(ISVGMatrix* This,float v) {
    return This->lpVtbl->put_f(This,v);
}
static inline HRESULT ISVGMatrix_get_f(ISVGMatrix* This,float *p) {
    return This->lpVtbl->get_f(This,p);
}
static inline HRESULT ISVGMatrix_multiply(ISVGMatrix* This,ISVGMatrix *secondMatrix,ISVGMatrix **ppResult) {
    return This->lpVtbl->multiply(This,secondMatrix,ppResult);
}
static inline HRESULT ISVGMatrix_inverse(ISVGMatrix* This,ISVGMatrix **ppResult) {
    return This->lpVtbl->inverse(This,ppResult);
}
static inline HRESULT ISVGMatrix_translate(ISVGMatrix* This,float x,float y,ISVGMatrix **ppResult) {
    return This->lpVtbl->translate(This,x,y,ppResult);
}
static inline HRESULT ISVGMatrix_scale(ISVGMatrix* This,float scaleFactor,ISVGMatrix **ppResult) {
    return This->lpVtbl->scale(This,scaleFactor,ppResult);
}
static inline HRESULT ISVGMatrix_scaleNonUniform(ISVGMatrix* This,float scaleFactorX,float scaleFactorY,ISVGMatrix **ppResult) {
    return This->lpVtbl->scaleNonUniform(This,scaleFactorX,scaleFactorY,ppResult);
}
static inline HRESULT ISVGMatrix_rotate(ISVGMatrix* This,float angle,ISVGMatrix **ppResult) {
    return This->lpVtbl->rotate(This,angle,ppResult);
}
static inline HRESULT ISVGMatrix_rotateFromVector(ISVGMatrix* This,float x,float y,ISVGMatrix **ppResult) {
    return This->lpVtbl->rotateFromVector(This,x,y,ppResult);
}
static inline HRESULT ISVGMatrix_flipX(ISVGMatrix* This,ISVGMatrix **ppResult) {
    return This->lpVtbl->flipX(This,ppResult);
}
static inline HRESULT ISVGMatrix_flipY(ISVGMatrix* This,ISVGMatrix **ppResult) {
    return This->lpVtbl->flipY(This,ppResult);
}
static inline HRESULT ISVGMatrix_skewX(ISVGMatrix* This,float angle,ISVGMatrix **ppResult) {
    return This->lpVtbl->skewX(This,angle,ppResult);
}
static inline HRESULT ISVGMatrix_skewY(ISVGMatrix* This,float angle,ISVGMatrix **ppResult) {
    return This->lpVtbl->skewY(This,angle,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGMatrix_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGMatrix coclass
 */

DEFINE_GUID(CLSID_SVGMatrix, 0x305105ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105ae-98b5-11cf-bb82-00aa00bdce0b") SVGMatrix;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGMatrix, 0x305105ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGMatrix;
/*****************************************************************************
 * ISVGNumber interface
 */
#ifndef __ISVGNumber_INTERFACE_DEFINED__
#define __ISVGNumber_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGNumber, 0x305104cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104cb-98b5-11cf-bb82-00aa00bdce0b")
ISVGNumber : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_value(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGNumber, 0x305104cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGNumberVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGNumber *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGNumber *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGNumber *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGNumber *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGNumber *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGNumber *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGNumber *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGNumber methods ***/
    HRESULT (STDMETHODCALLTYPE *put_value)(
        ISVGNumber *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        ISVGNumber *This,
        float *p);

    END_INTERFACE
} ISVGNumberVtbl;

interface ISVGNumber {
    CONST_VTBL ISVGNumberVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGNumber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGNumber_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGNumber_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGNumber_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGNumber_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGNumber_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGNumber_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGNumber methods ***/
#define ISVGNumber_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define ISVGNumber_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGNumber_QueryInterface(ISVGNumber* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGNumber_AddRef(ISVGNumber* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGNumber_Release(ISVGNumber* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGNumber_GetTypeInfoCount(ISVGNumber* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGNumber_GetTypeInfo(ISVGNumber* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGNumber_GetIDsOfNames(ISVGNumber* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGNumber_Invoke(ISVGNumber* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGNumber methods ***/
static inline HRESULT ISVGNumber_put_value(ISVGNumber* This,float v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT ISVGNumber_get_value(ISVGNumber* This,float *p) {
    return This->lpVtbl->get_value(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGNumber_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGNumber coclass
 */

DEFINE_GUID(CLSID_SVGNumber, 0x30510587, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510587-98b5-11cf-bb82-00aa00bdce0b") SVGNumber;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGNumber, 0x30510587, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGNumber;
#ifndef __ISVGNumber_FWD_DEFINED__
#define __ISVGNumber_FWD_DEFINED__
typedef interface ISVGNumber ISVGNumber;
#ifdef __cplusplus
interface ISVGNumber;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGNumberList interface
 */
#ifndef __ISVGNumberList_INTERFACE_DEFINED__
#define __ISVGNumberList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGNumberList, 0x305104cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104cd-98b5-11cf-bb82-00aa00bdce0b")
ISVGNumberList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_numberOfItems(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_numberOfItems(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE initialize(
        ISVGNumber *newItem,
        ISVGNumber **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getItem(
        LONG index,
        ISVGNumber **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertItemBefore(
        ISVGNumber *newItem,
        LONG index,
        ISVGNumber **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceItem(
        ISVGNumber *newItem,
        LONG index,
        ISVGNumber **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeItem(
        LONG index,
        ISVGNumber **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItem(
        ISVGNumber *newItem,
        ISVGNumber **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGNumberList, 0x305104cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGNumberListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGNumberList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGNumberList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGNumberList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGNumberList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGNumberList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGNumberList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGNumberList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGNumberList methods ***/
    HRESULT (STDMETHODCALLTYPE *put_numberOfItems)(
        ISVGNumberList *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_numberOfItems)(
        ISVGNumberList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *clear)(
        ISVGNumberList *This);

    HRESULT (STDMETHODCALLTYPE *initialize)(
        ISVGNumberList *This,
        ISVGNumber *newItem,
        ISVGNumber **ppResult);

    HRESULT (STDMETHODCALLTYPE *getItem)(
        ISVGNumberList *This,
        LONG index,
        ISVGNumber **ppResult);

    HRESULT (STDMETHODCALLTYPE *insertItemBefore)(
        ISVGNumberList *This,
        ISVGNumber *newItem,
        LONG index,
        ISVGNumber **ppResult);

    HRESULT (STDMETHODCALLTYPE *replaceItem)(
        ISVGNumberList *This,
        ISVGNumber *newItem,
        LONG index,
        ISVGNumber **ppResult);

    HRESULT (STDMETHODCALLTYPE *removeItem)(
        ISVGNumberList *This,
        LONG index,
        ISVGNumber **ppResult);

    HRESULT (STDMETHODCALLTYPE *appendItem)(
        ISVGNumberList *This,
        ISVGNumber *newItem,
        ISVGNumber **ppResult);

    END_INTERFACE
} ISVGNumberListVtbl;

interface ISVGNumberList {
    CONST_VTBL ISVGNumberListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGNumberList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGNumberList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGNumberList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGNumberList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGNumberList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGNumberList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGNumberList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGNumberList methods ***/
#define ISVGNumberList_put_numberOfItems(This,v) (This)->lpVtbl->put_numberOfItems(This,v)
#define ISVGNumberList_get_numberOfItems(This,p) (This)->lpVtbl->get_numberOfItems(This,p)
#define ISVGNumberList_clear(This) (This)->lpVtbl->clear(This)
#define ISVGNumberList_initialize(This,newItem,ppResult) (This)->lpVtbl->initialize(This,newItem,ppResult)
#define ISVGNumberList_getItem(This,index,ppResult) (This)->lpVtbl->getItem(This,index,ppResult)
#define ISVGNumberList_insertItemBefore(This,newItem,index,ppResult) (This)->lpVtbl->insertItemBefore(This,newItem,index,ppResult)
#define ISVGNumberList_replaceItem(This,newItem,index,ppResult) (This)->lpVtbl->replaceItem(This,newItem,index,ppResult)
#define ISVGNumberList_removeItem(This,index,ppResult) (This)->lpVtbl->removeItem(This,index,ppResult)
#define ISVGNumberList_appendItem(This,newItem,ppResult) (This)->lpVtbl->appendItem(This,newItem,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGNumberList_QueryInterface(ISVGNumberList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGNumberList_AddRef(ISVGNumberList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGNumberList_Release(ISVGNumberList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGNumberList_GetTypeInfoCount(ISVGNumberList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGNumberList_GetTypeInfo(ISVGNumberList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGNumberList_GetIDsOfNames(ISVGNumberList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGNumberList_Invoke(ISVGNumberList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGNumberList methods ***/
static inline HRESULT ISVGNumberList_put_numberOfItems(ISVGNumberList* This,LONG v) {
    return This->lpVtbl->put_numberOfItems(This,v);
}
static inline HRESULT ISVGNumberList_get_numberOfItems(ISVGNumberList* This,LONG *p) {
    return This->lpVtbl->get_numberOfItems(This,p);
}
static inline HRESULT ISVGNumberList_clear(ISVGNumberList* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT ISVGNumberList_initialize(ISVGNumberList* This,ISVGNumber *newItem,ISVGNumber **ppResult) {
    return This->lpVtbl->initialize(This,newItem,ppResult);
}
static inline HRESULT ISVGNumberList_getItem(ISVGNumberList* This,LONG index,ISVGNumber **ppResult) {
    return This->lpVtbl->getItem(This,index,ppResult);
}
static inline HRESULT ISVGNumberList_insertItemBefore(ISVGNumberList* This,ISVGNumber *newItem,LONG index,ISVGNumber **ppResult) {
    return This->lpVtbl->insertItemBefore(This,newItem,index,ppResult);
}
static inline HRESULT ISVGNumberList_replaceItem(ISVGNumberList* This,ISVGNumber *newItem,LONG index,ISVGNumber **ppResult) {
    return This->lpVtbl->replaceItem(This,newItem,index,ppResult);
}
static inline HRESULT ISVGNumberList_removeItem(ISVGNumberList* This,LONG index,ISVGNumber **ppResult) {
    return This->lpVtbl->removeItem(This,index,ppResult);
}
static inline HRESULT ISVGNumberList_appendItem(ISVGNumberList* This,ISVGNumber *newItem,ISVGNumber **ppResult) {
    return This->lpVtbl->appendItem(This,newItem,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGNumberList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGNumberList coclass
 */

DEFINE_GUID(CLSID_SVGNumberList, 0x30510589, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510589-98b5-11cf-bb82-00aa00bdce0b") SVGNumberList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGNumberList, 0x30510589, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGNumberList;
/*****************************************************************************
 * ISVGPaint interface
 */
#ifndef __ISVGPaint_INTERFACE_DEFINED__
#define __ISVGPaint_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPaint, 0x30510524, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510524-98b5-11cf-bb82-00aa00bdce0b")
ISVGPaint : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPaint, 0x30510524, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPaintVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPaint *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPaint *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPaint *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPaint *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPaint *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPaint *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPaint *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGPaintVtbl;

interface ISVGPaint {
    CONST_VTBL ISVGPaintVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPaint_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPaint_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPaint_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPaint_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPaint_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPaint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPaint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPaint_QueryInterface(ISVGPaint* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPaint_AddRef(ISVGPaint* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPaint_Release(ISVGPaint* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPaint_GetTypeInfoCount(ISVGPaint* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPaint_GetTypeInfo(ISVGPaint* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPaint_GetIDsOfNames(ISVGPaint* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPaint_Invoke(ISVGPaint* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGPaint_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPatternElement interface
 */
#ifndef __ISVGPatternElement_INTERFACE_DEFINED__
#define __ISVGPatternElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPatternElement, 0x3051052c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051052c-98b5-11cf-bb82-00aa00bdce0b")
ISVGPatternElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_patternUnits(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_patternUnits(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_patternContentUnits(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_patternContentUnits(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_patternTransform(
        ISVGAnimatedTransformList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_patternTransform(
        ISVGAnimatedTransformList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_x(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_width(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_height(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPatternElement, 0x3051052c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPatternElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPatternElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPatternElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPatternElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPatternElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPatternElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPatternElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPatternElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPatternElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_patternUnits)(
        ISVGPatternElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_patternUnits)(
        ISVGPatternElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_patternContentUnits)(
        ISVGPatternElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_patternContentUnits)(
        ISVGPatternElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_patternTransform)(
        ISVGPatternElement *This,
        ISVGAnimatedTransformList *v);

    HRESULT (STDMETHODCALLTYPE *get_patternTransform)(
        ISVGPatternElement *This,
        ISVGAnimatedTransformList **p);

    HRESULT (STDMETHODCALLTYPE *putref_x)(
        ISVGPatternElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPatternElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y)(
        ISVGPatternElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPatternElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_width)(
        ISVGPatternElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        ISVGPatternElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_height)(
        ISVGPatternElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ISVGPatternElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGPatternElementVtbl;

interface ISVGPatternElement {
    CONST_VTBL ISVGPatternElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPatternElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPatternElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPatternElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPatternElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPatternElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPatternElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPatternElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPatternElement methods ***/
#define ISVGPatternElement_putref_patternUnits(This,v) (This)->lpVtbl->putref_patternUnits(This,v)
#define ISVGPatternElement_get_patternUnits(This,p) (This)->lpVtbl->get_patternUnits(This,p)
#define ISVGPatternElement_putref_patternContentUnits(This,v) (This)->lpVtbl->putref_patternContentUnits(This,v)
#define ISVGPatternElement_get_patternContentUnits(This,p) (This)->lpVtbl->get_patternContentUnits(This,p)
#define ISVGPatternElement_putref_patternTransform(This,v) (This)->lpVtbl->putref_patternTransform(This,v)
#define ISVGPatternElement_get_patternTransform(This,p) (This)->lpVtbl->get_patternTransform(This,p)
#define ISVGPatternElement_putref_x(This,v) (This)->lpVtbl->putref_x(This,v)
#define ISVGPatternElement_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPatternElement_putref_y(This,v) (This)->lpVtbl->putref_y(This,v)
#define ISVGPatternElement_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPatternElement_putref_width(This,v) (This)->lpVtbl->putref_width(This,v)
#define ISVGPatternElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ISVGPatternElement_putref_height(This,v) (This)->lpVtbl->putref_height(This,v)
#define ISVGPatternElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPatternElement_QueryInterface(ISVGPatternElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPatternElement_AddRef(ISVGPatternElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPatternElement_Release(ISVGPatternElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPatternElement_GetTypeInfoCount(ISVGPatternElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPatternElement_GetTypeInfo(ISVGPatternElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPatternElement_GetIDsOfNames(ISVGPatternElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPatternElement_Invoke(ISVGPatternElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPatternElement methods ***/
static inline HRESULT ISVGPatternElement_putref_patternUnits(ISVGPatternElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_patternUnits(This,v);
}
static inline HRESULT ISVGPatternElement_get_patternUnits(ISVGPatternElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_patternUnits(This,p);
}
static inline HRESULT ISVGPatternElement_putref_patternContentUnits(ISVGPatternElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_patternContentUnits(This,v);
}
static inline HRESULT ISVGPatternElement_get_patternContentUnits(ISVGPatternElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_patternContentUnits(This,p);
}
static inline HRESULT ISVGPatternElement_putref_patternTransform(ISVGPatternElement* This,ISVGAnimatedTransformList *v) {
    return This->lpVtbl->putref_patternTransform(This,v);
}
static inline HRESULT ISVGPatternElement_get_patternTransform(ISVGPatternElement* This,ISVGAnimatedTransformList **p) {
    return This->lpVtbl->get_patternTransform(This,p);
}
static inline HRESULT ISVGPatternElement_putref_x(ISVGPatternElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x(This,v);
}
static inline HRESULT ISVGPatternElement_get_x(ISVGPatternElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPatternElement_putref_y(ISVGPatternElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y(This,v);
}
static inline HRESULT ISVGPatternElement_get_y(ISVGPatternElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPatternElement_putref_width(ISVGPatternElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_width(This,v);
}
static inline HRESULT ISVGPatternElement_get_width(ISVGPatternElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ISVGPatternElement_putref_height(ISVGPatternElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_height(This,v);
}
static inline HRESULT ISVGPatternElement_get_height(ISVGPatternElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPatternElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGPatternElement dispinterface
 */
#ifndef __DispSVGPatternElement_DISPINTERFACE_DEFINED__
#define __DispSVGPatternElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPatternElement, 0x3059002c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059002c-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPatternElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPatternElement, 0x3059002c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPatternElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPatternElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPatternElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPatternElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPatternElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPatternElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPatternElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPatternElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPatternElementVtbl;

interface DispSVGPatternElement {
    CONST_VTBL DispSVGPatternElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPatternElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPatternElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPatternElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPatternElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPatternElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPatternElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPatternElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPatternElement_QueryInterface(DispSVGPatternElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPatternElement_AddRef(DispSVGPatternElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPatternElement_Release(DispSVGPatternElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPatternElement_GetTypeInfoCount(DispSVGPatternElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPatternElement_GetTypeInfo(DispSVGPatternElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPatternElement_GetIDsOfNames(DispSVGPatternElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPatternElement_Invoke(DispSVGPatternElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPatternElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPatternElement coclass
 */

DEFINE_GUID(CLSID_SVGPatternElement, 0x305105d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d4-98b5-11cf-bb82-00aa00bdce0b") SVGPatternElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPatternElement, 0x305105d4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPatternElement;
typedef enum _svgPathSegType {
    PATHSEG_UNKNOWN = 0,
    PATHSEG_CLOSEPATH = 1,
    PATHSEG_MOVETO_ABS = 2,
    PATHSEG_MOVETO_REL = 3,
    PATHSEG_LINETO_ABS = 4,
    PATHSEG_LINETO_REL = 5,
    PATHSEG_CURVETO_CUBIC_ABS = 6,
    PATHSEG_CURVETO_CUBIC_REL = 7,
    PATHSEG_CURVETO_QUADRATIC_ABS = 8,
    PATHSEG_CURVETO_QUADRATIC_REL = 9,
    PATHSEG_ARC_ABS = 10,
    PATHSEG_ARC_REL = 11,
    PATHSEG_LINETO_HORIZONTAL_ABS = 12,
    PATHSEG_LINETO_HORIZONTAL_REL = 13,
    PATHSEG_LINETO_VERTICAL_ABS = 14,
    PATHSEG_LINETO_VERTICAL_REL = 15,
    PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16,
    PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17,
    PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18,
    PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19,
    svgPathSegType_Max = 0x7fffffff
} svgPathSegType;
/*****************************************************************************
 * ISVGPathSeg interface
 */
#ifndef __ISVGPathSeg_INTERFACE_DEFINED__
#define __ISVGPathSeg_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSeg, 0x305104fc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104fc-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSeg : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_pathSegType(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pathSegType(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pathSegTypeAsLetter(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSeg, 0x305104fc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSeg *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSeg *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSeg *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSeg *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSeg *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSeg *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSeg *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSeg methods ***/
    HRESULT (STDMETHODCALLTYPE *put_pathSegType)(
        ISVGPathSeg *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_pathSegType)(
        ISVGPathSeg *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *get_pathSegTypeAsLetter)(
        ISVGPathSeg *This,
        BSTR *p);

    END_INTERFACE
} ISVGPathSegVtbl;

interface ISVGPathSeg {
    CONST_VTBL ISVGPathSegVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSeg_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSeg_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSeg_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSeg_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSeg_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSeg_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSeg_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSeg methods ***/
#define ISVGPathSeg_put_pathSegType(This,v) (This)->lpVtbl->put_pathSegType(This,v)
#define ISVGPathSeg_get_pathSegType(This,p) (This)->lpVtbl->get_pathSegType(This,p)
#define ISVGPathSeg_get_pathSegTypeAsLetter(This,p) (This)->lpVtbl->get_pathSegTypeAsLetter(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSeg_QueryInterface(ISVGPathSeg* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSeg_AddRef(ISVGPathSeg* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSeg_Release(ISVGPathSeg* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSeg_GetTypeInfoCount(ISVGPathSeg* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSeg_GetTypeInfo(ISVGPathSeg* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSeg_GetIDsOfNames(ISVGPathSeg* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSeg_Invoke(ISVGPathSeg* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSeg methods ***/
static inline HRESULT ISVGPathSeg_put_pathSegType(ISVGPathSeg* This,short v) {
    return This->lpVtbl->put_pathSegType(This,v);
}
static inline HRESULT ISVGPathSeg_get_pathSegType(ISVGPathSeg* This,short *p) {
    return This->lpVtbl->get_pathSegType(This,p);
}
static inline HRESULT ISVGPathSeg_get_pathSegTypeAsLetter(ISVGPathSeg* This,BSTR *p) {
    return This->lpVtbl->get_pathSegTypeAsLetter(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSeg_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegArcAbs interface
 */
#ifndef __ISVGPathSegArcAbs_INTERFACE_DEFINED__
#define __ISVGPathSegArcAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegArcAbs, 0x30510506, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510506-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegArcAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_r1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_r1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_r2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_r2(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_angle(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_angle(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_largeArcFlag(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_largeArcFlag(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_sweepFlag(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_sweepFlag(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegArcAbs, 0x30510506, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegArcAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegArcAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegArcAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegArcAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegArcAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegArcAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegArcAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegArcAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegArcAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegArcAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegArcAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegArcAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegArcAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_r1)(
        ISVGPathSegArcAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_r1)(
        ISVGPathSegArcAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_r2)(
        ISVGPathSegArcAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_r2)(
        ISVGPathSegArcAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_angle)(
        ISVGPathSegArcAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_angle)(
        ISVGPathSegArcAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_largeArcFlag)(
        ISVGPathSegArcAbs *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_largeArcFlag)(
        ISVGPathSegArcAbs *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_sweepFlag)(
        ISVGPathSegArcAbs *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_sweepFlag)(
        ISVGPathSegArcAbs *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} ISVGPathSegArcAbsVtbl;

interface ISVGPathSegArcAbs {
    CONST_VTBL ISVGPathSegArcAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegArcAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegArcAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegArcAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegArcAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegArcAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegArcAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegArcAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegArcAbs methods ***/
#define ISVGPathSegArcAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegArcAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegArcAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegArcAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegArcAbs_put_r1(This,v) (This)->lpVtbl->put_r1(This,v)
#define ISVGPathSegArcAbs_get_r1(This,p) (This)->lpVtbl->get_r1(This,p)
#define ISVGPathSegArcAbs_put_r2(This,v) (This)->lpVtbl->put_r2(This,v)
#define ISVGPathSegArcAbs_get_r2(This,p) (This)->lpVtbl->get_r2(This,p)
#define ISVGPathSegArcAbs_put_angle(This,v) (This)->lpVtbl->put_angle(This,v)
#define ISVGPathSegArcAbs_get_angle(This,p) (This)->lpVtbl->get_angle(This,p)
#define ISVGPathSegArcAbs_put_largeArcFlag(This,v) (This)->lpVtbl->put_largeArcFlag(This,v)
#define ISVGPathSegArcAbs_get_largeArcFlag(This,p) (This)->lpVtbl->get_largeArcFlag(This,p)
#define ISVGPathSegArcAbs_put_sweepFlag(This,v) (This)->lpVtbl->put_sweepFlag(This,v)
#define ISVGPathSegArcAbs_get_sweepFlag(This,p) (This)->lpVtbl->get_sweepFlag(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegArcAbs_QueryInterface(ISVGPathSegArcAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegArcAbs_AddRef(ISVGPathSegArcAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegArcAbs_Release(ISVGPathSegArcAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegArcAbs_GetTypeInfoCount(ISVGPathSegArcAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegArcAbs_GetTypeInfo(ISVGPathSegArcAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegArcAbs_GetIDsOfNames(ISVGPathSegArcAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegArcAbs_Invoke(ISVGPathSegArcAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegArcAbs methods ***/
static inline HRESULT ISVGPathSegArcAbs_put_x(ISVGPathSegArcAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegArcAbs_get_x(ISVGPathSegArcAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegArcAbs_put_y(ISVGPathSegArcAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegArcAbs_get_y(ISVGPathSegArcAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegArcAbs_put_r1(ISVGPathSegArcAbs* This,float v) {
    return This->lpVtbl->put_r1(This,v);
}
static inline HRESULT ISVGPathSegArcAbs_get_r1(ISVGPathSegArcAbs* This,float *p) {
    return This->lpVtbl->get_r1(This,p);
}
static inline HRESULT ISVGPathSegArcAbs_put_r2(ISVGPathSegArcAbs* This,float v) {
    return This->lpVtbl->put_r2(This,v);
}
static inline HRESULT ISVGPathSegArcAbs_get_r2(ISVGPathSegArcAbs* This,float *p) {
    return This->lpVtbl->get_r2(This,p);
}
static inline HRESULT ISVGPathSegArcAbs_put_angle(ISVGPathSegArcAbs* This,float v) {
    return This->lpVtbl->put_angle(This,v);
}
static inline HRESULT ISVGPathSegArcAbs_get_angle(ISVGPathSegArcAbs* This,float *p) {
    return This->lpVtbl->get_angle(This,p);
}
static inline HRESULT ISVGPathSegArcAbs_put_largeArcFlag(ISVGPathSegArcAbs* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_largeArcFlag(This,v);
}
static inline HRESULT ISVGPathSegArcAbs_get_largeArcFlag(ISVGPathSegArcAbs* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_largeArcFlag(This,p);
}
static inline HRESULT ISVGPathSegArcAbs_put_sweepFlag(ISVGPathSegArcAbs* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_sweepFlag(This,v);
}
static inline HRESULT ISVGPathSegArcAbs_get_sweepFlag(ISVGPathSegArcAbs* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_sweepFlag(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegArcAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegArcRel interface
 */
#ifndef __ISVGPathSegArcRel_INTERFACE_DEFINED__
#define __ISVGPathSegArcRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegArcRel, 0x30510507, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510507-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegArcRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_r1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_r1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_r2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_r2(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_angle(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_angle(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_largeArcFlag(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_largeArcFlag(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_sweepFlag(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_sweepFlag(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegArcRel, 0x30510507, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegArcRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegArcRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegArcRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegArcRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegArcRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegArcRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegArcRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegArcRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegArcRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegArcRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegArcRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegArcRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegArcRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_r1)(
        ISVGPathSegArcRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_r1)(
        ISVGPathSegArcRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_r2)(
        ISVGPathSegArcRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_r2)(
        ISVGPathSegArcRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_angle)(
        ISVGPathSegArcRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_angle)(
        ISVGPathSegArcRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_largeArcFlag)(
        ISVGPathSegArcRel *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_largeArcFlag)(
        ISVGPathSegArcRel *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_sweepFlag)(
        ISVGPathSegArcRel *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_sweepFlag)(
        ISVGPathSegArcRel *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} ISVGPathSegArcRelVtbl;

interface ISVGPathSegArcRel {
    CONST_VTBL ISVGPathSegArcRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegArcRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegArcRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegArcRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegArcRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegArcRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegArcRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegArcRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegArcRel methods ***/
#define ISVGPathSegArcRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegArcRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegArcRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegArcRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegArcRel_put_r1(This,v) (This)->lpVtbl->put_r1(This,v)
#define ISVGPathSegArcRel_get_r1(This,p) (This)->lpVtbl->get_r1(This,p)
#define ISVGPathSegArcRel_put_r2(This,v) (This)->lpVtbl->put_r2(This,v)
#define ISVGPathSegArcRel_get_r2(This,p) (This)->lpVtbl->get_r2(This,p)
#define ISVGPathSegArcRel_put_angle(This,v) (This)->lpVtbl->put_angle(This,v)
#define ISVGPathSegArcRel_get_angle(This,p) (This)->lpVtbl->get_angle(This,p)
#define ISVGPathSegArcRel_put_largeArcFlag(This,v) (This)->lpVtbl->put_largeArcFlag(This,v)
#define ISVGPathSegArcRel_get_largeArcFlag(This,p) (This)->lpVtbl->get_largeArcFlag(This,p)
#define ISVGPathSegArcRel_put_sweepFlag(This,v) (This)->lpVtbl->put_sweepFlag(This,v)
#define ISVGPathSegArcRel_get_sweepFlag(This,p) (This)->lpVtbl->get_sweepFlag(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegArcRel_QueryInterface(ISVGPathSegArcRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegArcRel_AddRef(ISVGPathSegArcRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegArcRel_Release(ISVGPathSegArcRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegArcRel_GetTypeInfoCount(ISVGPathSegArcRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegArcRel_GetTypeInfo(ISVGPathSegArcRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegArcRel_GetIDsOfNames(ISVGPathSegArcRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegArcRel_Invoke(ISVGPathSegArcRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegArcRel methods ***/
static inline HRESULT ISVGPathSegArcRel_put_x(ISVGPathSegArcRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegArcRel_get_x(ISVGPathSegArcRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegArcRel_put_y(ISVGPathSegArcRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegArcRel_get_y(ISVGPathSegArcRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegArcRel_put_r1(ISVGPathSegArcRel* This,float v) {
    return This->lpVtbl->put_r1(This,v);
}
static inline HRESULT ISVGPathSegArcRel_get_r1(ISVGPathSegArcRel* This,float *p) {
    return This->lpVtbl->get_r1(This,p);
}
static inline HRESULT ISVGPathSegArcRel_put_r2(ISVGPathSegArcRel* This,float v) {
    return This->lpVtbl->put_r2(This,v);
}
static inline HRESULT ISVGPathSegArcRel_get_r2(ISVGPathSegArcRel* This,float *p) {
    return This->lpVtbl->get_r2(This,p);
}
static inline HRESULT ISVGPathSegArcRel_put_angle(ISVGPathSegArcRel* This,float v) {
    return This->lpVtbl->put_angle(This,v);
}
static inline HRESULT ISVGPathSegArcRel_get_angle(ISVGPathSegArcRel* This,float *p) {
    return This->lpVtbl->get_angle(This,p);
}
static inline HRESULT ISVGPathSegArcRel_put_largeArcFlag(ISVGPathSegArcRel* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_largeArcFlag(This,v);
}
static inline HRESULT ISVGPathSegArcRel_get_largeArcFlag(ISVGPathSegArcRel* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_largeArcFlag(This,p);
}
static inline HRESULT ISVGPathSegArcRel_put_sweepFlag(ISVGPathSegArcRel* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_sweepFlag(This,v);
}
static inline HRESULT ISVGPathSegArcRel_get_sweepFlag(ISVGPathSegArcRel* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_sweepFlag(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegArcRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegClosePath interface
 */
#ifndef __ISVGPathSegClosePath_INTERFACE_DEFINED__
#define __ISVGPathSegClosePath_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegClosePath, 0x305104fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104fd-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegClosePath : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegClosePath, 0x305104fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegClosePathVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegClosePath *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegClosePath *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegClosePath *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegClosePath *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegClosePath *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegClosePath *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegClosePath *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGPathSegClosePathVtbl;

interface ISVGPathSegClosePath {
    CONST_VTBL ISVGPathSegClosePathVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegClosePath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegClosePath_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegClosePath_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegClosePath_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegClosePath_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegClosePath_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegClosePath_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegClosePath_QueryInterface(ISVGPathSegClosePath* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegClosePath_AddRef(ISVGPathSegClosePath* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegClosePath_Release(ISVGPathSegClosePath* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegClosePath_GetTypeInfoCount(ISVGPathSegClosePath* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegClosePath_GetTypeInfo(ISVGPathSegClosePath* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegClosePath_GetIDsOfNames(ISVGPathSegClosePath* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegClosePath_Invoke(ISVGPathSegClosePath* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegClosePath_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegMovetoAbs interface
 */
#ifndef __ISVGPathSegMovetoAbs_INTERFACE_DEFINED__
#define __ISVGPathSegMovetoAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegMovetoAbs, 0x305104fe, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104fe-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegMovetoAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegMovetoAbs, 0x305104fe, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegMovetoAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegMovetoAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegMovetoAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegMovetoAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegMovetoAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegMovetoAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegMovetoAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegMovetoAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegMovetoAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegMovetoAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegMovetoAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegMovetoAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegMovetoAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegMovetoAbsVtbl;

interface ISVGPathSegMovetoAbs {
    CONST_VTBL ISVGPathSegMovetoAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegMovetoAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegMovetoAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegMovetoAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegMovetoAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegMovetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegMovetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegMovetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegMovetoAbs methods ***/
#define ISVGPathSegMovetoAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegMovetoAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegMovetoAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegMovetoAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegMovetoAbs_QueryInterface(ISVGPathSegMovetoAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegMovetoAbs_AddRef(ISVGPathSegMovetoAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegMovetoAbs_Release(ISVGPathSegMovetoAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegMovetoAbs_GetTypeInfoCount(ISVGPathSegMovetoAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegMovetoAbs_GetTypeInfo(ISVGPathSegMovetoAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegMovetoAbs_GetIDsOfNames(ISVGPathSegMovetoAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegMovetoAbs_Invoke(ISVGPathSegMovetoAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegMovetoAbs methods ***/
static inline HRESULT ISVGPathSegMovetoAbs_put_x(ISVGPathSegMovetoAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegMovetoAbs_get_x(ISVGPathSegMovetoAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegMovetoAbs_put_y(ISVGPathSegMovetoAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegMovetoAbs_get_y(ISVGPathSegMovetoAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegMovetoAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegMovetoRel interface
 */
#ifndef __ISVGPathSegMovetoRel_INTERFACE_DEFINED__
#define __ISVGPathSegMovetoRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegMovetoRel, 0x305104ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ff-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegMovetoRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegMovetoRel, 0x305104ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegMovetoRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegMovetoRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegMovetoRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegMovetoRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegMovetoRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegMovetoRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegMovetoRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegMovetoRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegMovetoRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegMovetoRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegMovetoRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegMovetoRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegMovetoRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegMovetoRelVtbl;

interface ISVGPathSegMovetoRel {
    CONST_VTBL ISVGPathSegMovetoRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegMovetoRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegMovetoRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegMovetoRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegMovetoRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegMovetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegMovetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegMovetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegMovetoRel methods ***/
#define ISVGPathSegMovetoRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegMovetoRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegMovetoRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegMovetoRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegMovetoRel_QueryInterface(ISVGPathSegMovetoRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegMovetoRel_AddRef(ISVGPathSegMovetoRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegMovetoRel_Release(ISVGPathSegMovetoRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegMovetoRel_GetTypeInfoCount(ISVGPathSegMovetoRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegMovetoRel_GetTypeInfo(ISVGPathSegMovetoRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegMovetoRel_GetIDsOfNames(ISVGPathSegMovetoRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegMovetoRel_Invoke(ISVGPathSegMovetoRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegMovetoRel methods ***/
static inline HRESULT ISVGPathSegMovetoRel_put_x(ISVGPathSegMovetoRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegMovetoRel_get_x(ISVGPathSegMovetoRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegMovetoRel_put_y(ISVGPathSegMovetoRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegMovetoRel_get_y(ISVGPathSegMovetoRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegMovetoRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegLinetoAbs interface
 */
#ifndef __ISVGPathSegLinetoAbs_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegLinetoAbs, 0x30510500, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510500-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegLinetoAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegLinetoAbs, 0x30510500, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegLinetoAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegLinetoAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegLinetoAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegLinetoAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegLinetoAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegLinetoAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegLinetoAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegLinetoAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegLinetoAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegLinetoAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegLinetoAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegLinetoAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegLinetoAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegLinetoAbsVtbl;

interface ISVGPathSegLinetoAbs {
    CONST_VTBL ISVGPathSegLinetoAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegLinetoAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegLinetoAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegLinetoAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegLinetoAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegLinetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegLinetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegLinetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegLinetoAbs methods ***/
#define ISVGPathSegLinetoAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegLinetoAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegLinetoAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegLinetoAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegLinetoAbs_QueryInterface(ISVGPathSegLinetoAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegLinetoAbs_AddRef(ISVGPathSegLinetoAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegLinetoAbs_Release(ISVGPathSegLinetoAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegLinetoAbs_GetTypeInfoCount(ISVGPathSegLinetoAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegLinetoAbs_GetTypeInfo(ISVGPathSegLinetoAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegLinetoAbs_GetIDsOfNames(ISVGPathSegLinetoAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegLinetoAbs_Invoke(ISVGPathSegLinetoAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegLinetoAbs methods ***/
static inline HRESULT ISVGPathSegLinetoAbs_put_x(ISVGPathSegLinetoAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegLinetoAbs_get_x(ISVGPathSegLinetoAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegLinetoAbs_put_y(ISVGPathSegLinetoAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegLinetoAbs_get_y(ISVGPathSegLinetoAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegLinetoAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegLinetoRel interface
 */
#ifndef __ISVGPathSegLinetoRel_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegLinetoRel, 0x30510501, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510501-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegLinetoRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegLinetoRel, 0x30510501, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegLinetoRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegLinetoRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegLinetoRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegLinetoRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegLinetoRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegLinetoRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegLinetoRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegLinetoRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegLinetoRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegLinetoRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegLinetoRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegLinetoRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegLinetoRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegLinetoRelVtbl;

interface ISVGPathSegLinetoRel {
    CONST_VTBL ISVGPathSegLinetoRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegLinetoRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegLinetoRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegLinetoRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegLinetoRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegLinetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegLinetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegLinetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegLinetoRel methods ***/
#define ISVGPathSegLinetoRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegLinetoRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegLinetoRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegLinetoRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegLinetoRel_QueryInterface(ISVGPathSegLinetoRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegLinetoRel_AddRef(ISVGPathSegLinetoRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegLinetoRel_Release(ISVGPathSegLinetoRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegLinetoRel_GetTypeInfoCount(ISVGPathSegLinetoRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegLinetoRel_GetTypeInfo(ISVGPathSegLinetoRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegLinetoRel_GetIDsOfNames(ISVGPathSegLinetoRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegLinetoRel_Invoke(ISVGPathSegLinetoRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegLinetoRel methods ***/
static inline HRESULT ISVGPathSegLinetoRel_put_x(ISVGPathSegLinetoRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegLinetoRel_get_x(ISVGPathSegLinetoRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegLinetoRel_put_y(ISVGPathSegLinetoRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegLinetoRel_get_y(ISVGPathSegLinetoRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegLinetoRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoCubicAbs interface
 */
#ifndef __ISVGPathSegCurvetoCubicAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoCubicAbs, 0x30510502, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510502-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoCubicAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x2(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y2(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoCubicAbs, 0x30510502, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoCubicAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoCubicAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoCubicAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoCubicAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoCubicAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoCubicAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoCubicAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoCubicAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoCubicAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoCubicAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoCubicAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoCubicAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoCubicAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x1)(
        ISVGPathSegCurvetoCubicAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x1)(
        ISVGPathSegCurvetoCubicAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y1)(
        ISVGPathSegCurvetoCubicAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y1)(
        ISVGPathSegCurvetoCubicAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x2)(
        ISVGPathSegCurvetoCubicAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x2)(
        ISVGPathSegCurvetoCubicAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y2)(
        ISVGPathSegCurvetoCubicAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y2)(
        ISVGPathSegCurvetoCubicAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoCubicAbsVtbl;

interface ISVGPathSegCurvetoCubicAbs {
    CONST_VTBL ISVGPathSegCurvetoCubicAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoCubicAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoCubicAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoCubicAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoCubicAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoCubicAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoCubicAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoCubicAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoCubicAbs methods ***/
#define ISVGPathSegCurvetoCubicAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoCubicAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoCubicAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoCubicAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegCurvetoCubicAbs_put_x1(This,v) (This)->lpVtbl->put_x1(This,v)
#define ISVGPathSegCurvetoCubicAbs_get_x1(This,p) (This)->lpVtbl->get_x1(This,p)
#define ISVGPathSegCurvetoCubicAbs_put_y1(This,v) (This)->lpVtbl->put_y1(This,v)
#define ISVGPathSegCurvetoCubicAbs_get_y1(This,p) (This)->lpVtbl->get_y1(This,p)
#define ISVGPathSegCurvetoCubicAbs_put_x2(This,v) (This)->lpVtbl->put_x2(This,v)
#define ISVGPathSegCurvetoCubicAbs_get_x2(This,p) (This)->lpVtbl->get_x2(This,p)
#define ISVGPathSegCurvetoCubicAbs_put_y2(This,v) (This)->lpVtbl->put_y2(This,v)
#define ISVGPathSegCurvetoCubicAbs_get_y2(This,p) (This)->lpVtbl->get_y2(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicAbs_QueryInterface(ISVGPathSegCurvetoCubicAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoCubicAbs_AddRef(ISVGPathSegCurvetoCubicAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoCubicAbs_Release(ISVGPathSegCurvetoCubicAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicAbs_GetTypeInfoCount(ISVGPathSegCurvetoCubicAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_GetTypeInfo(ISVGPathSegCurvetoCubicAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_GetIDsOfNames(ISVGPathSegCurvetoCubicAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_Invoke(ISVGPathSegCurvetoCubicAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoCubicAbs methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicAbs_put_x(ISVGPathSegCurvetoCubicAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_get_x(ISVGPathSegCurvetoCubicAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_put_y(ISVGPathSegCurvetoCubicAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_get_y(ISVGPathSegCurvetoCubicAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_put_x1(ISVGPathSegCurvetoCubicAbs* This,float v) {
    return This->lpVtbl->put_x1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_get_x1(ISVGPathSegCurvetoCubicAbs* This,float *p) {
    return This->lpVtbl->get_x1(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_put_y1(ISVGPathSegCurvetoCubicAbs* This,float v) {
    return This->lpVtbl->put_y1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_get_y1(ISVGPathSegCurvetoCubicAbs* This,float *p) {
    return This->lpVtbl->get_y1(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_put_x2(ISVGPathSegCurvetoCubicAbs* This,float v) {
    return This->lpVtbl->put_x2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_get_x2(ISVGPathSegCurvetoCubicAbs* This,float *p) {
    return This->lpVtbl->get_x2(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_put_y2(ISVGPathSegCurvetoCubicAbs* This,float v) {
    return This->lpVtbl->put_y2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicAbs_get_y2(ISVGPathSegCurvetoCubicAbs* This,float *p) {
    return This->lpVtbl->get_y2(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoCubicAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoCubicRel interface
 */
#ifndef __ISVGPathSegCurvetoCubicRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoCubicRel, 0x30510503, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510503-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoCubicRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x2(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y2(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoCubicRel, 0x30510503, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoCubicRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoCubicRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoCubicRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoCubicRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoCubicRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoCubicRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoCubicRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoCubicRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoCubicRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoCubicRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoCubicRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoCubicRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoCubicRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x1)(
        ISVGPathSegCurvetoCubicRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x1)(
        ISVGPathSegCurvetoCubicRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y1)(
        ISVGPathSegCurvetoCubicRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y1)(
        ISVGPathSegCurvetoCubicRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x2)(
        ISVGPathSegCurvetoCubicRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x2)(
        ISVGPathSegCurvetoCubicRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y2)(
        ISVGPathSegCurvetoCubicRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y2)(
        ISVGPathSegCurvetoCubicRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoCubicRelVtbl;

interface ISVGPathSegCurvetoCubicRel {
    CONST_VTBL ISVGPathSegCurvetoCubicRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoCubicRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoCubicRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoCubicRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoCubicRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoCubicRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoCubicRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoCubicRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoCubicRel methods ***/
#define ISVGPathSegCurvetoCubicRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoCubicRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoCubicRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoCubicRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegCurvetoCubicRel_put_x1(This,v) (This)->lpVtbl->put_x1(This,v)
#define ISVGPathSegCurvetoCubicRel_get_x1(This,p) (This)->lpVtbl->get_x1(This,p)
#define ISVGPathSegCurvetoCubicRel_put_y1(This,v) (This)->lpVtbl->put_y1(This,v)
#define ISVGPathSegCurvetoCubicRel_get_y1(This,p) (This)->lpVtbl->get_y1(This,p)
#define ISVGPathSegCurvetoCubicRel_put_x2(This,v) (This)->lpVtbl->put_x2(This,v)
#define ISVGPathSegCurvetoCubicRel_get_x2(This,p) (This)->lpVtbl->get_x2(This,p)
#define ISVGPathSegCurvetoCubicRel_put_y2(This,v) (This)->lpVtbl->put_y2(This,v)
#define ISVGPathSegCurvetoCubicRel_get_y2(This,p) (This)->lpVtbl->get_y2(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicRel_QueryInterface(ISVGPathSegCurvetoCubicRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoCubicRel_AddRef(ISVGPathSegCurvetoCubicRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoCubicRel_Release(ISVGPathSegCurvetoCubicRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicRel_GetTypeInfoCount(ISVGPathSegCurvetoCubicRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_GetTypeInfo(ISVGPathSegCurvetoCubicRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_GetIDsOfNames(ISVGPathSegCurvetoCubicRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_Invoke(ISVGPathSegCurvetoCubicRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoCubicRel methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicRel_put_x(ISVGPathSegCurvetoCubicRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_get_x(ISVGPathSegCurvetoCubicRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_put_y(ISVGPathSegCurvetoCubicRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_get_y(ISVGPathSegCurvetoCubicRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_put_x1(ISVGPathSegCurvetoCubicRel* This,float v) {
    return This->lpVtbl->put_x1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_get_x1(ISVGPathSegCurvetoCubicRel* This,float *p) {
    return This->lpVtbl->get_x1(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_put_y1(ISVGPathSegCurvetoCubicRel* This,float v) {
    return This->lpVtbl->put_y1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_get_y1(ISVGPathSegCurvetoCubicRel* This,float *p) {
    return This->lpVtbl->get_y1(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_put_x2(ISVGPathSegCurvetoCubicRel* This,float v) {
    return This->lpVtbl->put_x2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_get_x2(ISVGPathSegCurvetoCubicRel* This,float *p) {
    return This->lpVtbl->get_x2(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_put_y2(ISVGPathSegCurvetoCubicRel* This,float v) {
    return This->lpVtbl->put_y2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicRel_get_y2(ISVGPathSegCurvetoCubicRel* This,float *p) {
    return This->lpVtbl->get_y2(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoCubicRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoCubicSmoothAbs interface
 */
#ifndef __ISVGPathSegCurvetoCubicSmoothAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoCubicSmoothAbs, 0x3051050c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051050c-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoCubicSmoothAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x2(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y2(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoCubicSmoothAbs, 0x3051050c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoCubicSmoothAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoCubicSmoothAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoCubicSmoothAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoCubicSmoothAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x2)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x2)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y2)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y2)(
        ISVGPathSegCurvetoCubicSmoothAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoCubicSmoothAbsVtbl;

interface ISVGPathSegCurvetoCubicSmoothAbs {
    CONST_VTBL ISVGPathSegCurvetoCubicSmoothAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoCubicSmoothAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoCubicSmoothAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoCubicSmoothAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoCubicSmoothAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoCubicSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoCubicSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoCubicSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoCubicSmoothAbs methods ***/
#define ISVGPathSegCurvetoCubicSmoothAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoCubicSmoothAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoCubicSmoothAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoCubicSmoothAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegCurvetoCubicSmoothAbs_put_x2(This,v) (This)->lpVtbl->put_x2(This,v)
#define ISVGPathSegCurvetoCubicSmoothAbs_get_x2(This,p) (This)->lpVtbl->get_x2(This,p)
#define ISVGPathSegCurvetoCubicSmoothAbs_put_y2(This,v) (This)->lpVtbl->put_y2(This,v)
#define ISVGPathSegCurvetoCubicSmoothAbs_get_y2(This,p) (This)->lpVtbl->get_y2(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_QueryInterface(ISVGPathSegCurvetoCubicSmoothAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoCubicSmoothAbs_AddRef(ISVGPathSegCurvetoCubicSmoothAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoCubicSmoothAbs_Release(ISVGPathSegCurvetoCubicSmoothAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_GetTypeInfoCount(ISVGPathSegCurvetoCubicSmoothAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_GetTypeInfo(ISVGPathSegCurvetoCubicSmoothAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_GetIDsOfNames(ISVGPathSegCurvetoCubicSmoothAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_Invoke(ISVGPathSegCurvetoCubicSmoothAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoCubicSmoothAbs methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_put_x(ISVGPathSegCurvetoCubicSmoothAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_get_x(ISVGPathSegCurvetoCubicSmoothAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_put_y(ISVGPathSegCurvetoCubicSmoothAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_get_y(ISVGPathSegCurvetoCubicSmoothAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_put_x2(ISVGPathSegCurvetoCubicSmoothAbs* This,float v) {
    return This->lpVtbl->put_x2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_get_x2(ISVGPathSegCurvetoCubicSmoothAbs* This,float *p) {
    return This->lpVtbl->get_x2(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_put_y2(ISVGPathSegCurvetoCubicSmoothAbs* This,float v) {
    return This->lpVtbl->put_y2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothAbs_get_y2(ISVGPathSegCurvetoCubicSmoothAbs* This,float *p) {
    return This->lpVtbl->get_y2(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoCubicSmoothAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoCubicSmoothRel interface
 */
#ifndef __ISVGPathSegCurvetoCubicSmoothRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoCubicSmoothRel, 0x3051050d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051050d-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoCubicSmoothRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x2(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y2(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y2(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoCubicSmoothRel, 0x3051050d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoCubicSmoothRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoCubicSmoothRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoCubicSmoothRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoCubicSmoothRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x2)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x2)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y2)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y2)(
        ISVGPathSegCurvetoCubicSmoothRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoCubicSmoothRelVtbl;

interface ISVGPathSegCurvetoCubicSmoothRel {
    CONST_VTBL ISVGPathSegCurvetoCubicSmoothRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoCubicSmoothRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoCubicSmoothRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoCubicSmoothRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoCubicSmoothRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoCubicSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoCubicSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoCubicSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoCubicSmoothRel methods ***/
#define ISVGPathSegCurvetoCubicSmoothRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoCubicSmoothRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoCubicSmoothRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoCubicSmoothRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegCurvetoCubicSmoothRel_put_x2(This,v) (This)->lpVtbl->put_x2(This,v)
#define ISVGPathSegCurvetoCubicSmoothRel_get_x2(This,p) (This)->lpVtbl->get_x2(This,p)
#define ISVGPathSegCurvetoCubicSmoothRel_put_y2(This,v) (This)->lpVtbl->put_y2(This,v)
#define ISVGPathSegCurvetoCubicSmoothRel_get_y2(This,p) (This)->lpVtbl->get_y2(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_QueryInterface(ISVGPathSegCurvetoCubicSmoothRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoCubicSmoothRel_AddRef(ISVGPathSegCurvetoCubicSmoothRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoCubicSmoothRel_Release(ISVGPathSegCurvetoCubicSmoothRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_GetTypeInfoCount(ISVGPathSegCurvetoCubicSmoothRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_GetTypeInfo(ISVGPathSegCurvetoCubicSmoothRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_GetIDsOfNames(ISVGPathSegCurvetoCubicSmoothRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_Invoke(ISVGPathSegCurvetoCubicSmoothRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoCubicSmoothRel methods ***/
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_put_x(ISVGPathSegCurvetoCubicSmoothRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_get_x(ISVGPathSegCurvetoCubicSmoothRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_put_y(ISVGPathSegCurvetoCubicSmoothRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_get_y(ISVGPathSegCurvetoCubicSmoothRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_put_x2(ISVGPathSegCurvetoCubicSmoothRel* This,float v) {
    return This->lpVtbl->put_x2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_get_x2(ISVGPathSegCurvetoCubicSmoothRel* This,float *p) {
    return This->lpVtbl->get_x2(This,p);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_put_y2(ISVGPathSegCurvetoCubicSmoothRel* This,float v) {
    return This->lpVtbl->put_y2(This,v);
}
static inline HRESULT ISVGPathSegCurvetoCubicSmoothRel_get_y2(ISVGPathSegCurvetoCubicSmoothRel* This,float *p) {
    return This->lpVtbl->get_y2(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoCubicSmoothRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoQuadraticAbs interface
 */
#ifndef __ISVGPathSegCurvetoQuadraticAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoQuadraticAbs, 0x30510504, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510504-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoQuadraticAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y1(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoQuadraticAbs, 0x30510504, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoQuadraticAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoQuadraticAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoQuadraticAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoQuadraticAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x1)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x1)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y1)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y1)(
        ISVGPathSegCurvetoQuadraticAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoQuadraticAbsVtbl;

interface ISVGPathSegCurvetoQuadraticAbs {
    CONST_VTBL ISVGPathSegCurvetoQuadraticAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoQuadraticAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoQuadraticAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoQuadraticAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoQuadraticAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoQuadraticAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoQuadraticAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoQuadraticAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoQuadraticAbs methods ***/
#define ISVGPathSegCurvetoQuadraticAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoQuadraticAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoQuadraticAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoQuadraticAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegCurvetoQuadraticAbs_put_x1(This,v) (This)->lpVtbl->put_x1(This,v)
#define ISVGPathSegCurvetoQuadraticAbs_get_x1(This,p) (This)->lpVtbl->get_x1(This,p)
#define ISVGPathSegCurvetoQuadraticAbs_put_y1(This,v) (This)->lpVtbl->put_y1(This,v)
#define ISVGPathSegCurvetoQuadraticAbs_get_y1(This,p) (This)->lpVtbl->get_y1(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_QueryInterface(ISVGPathSegCurvetoQuadraticAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoQuadraticAbs_AddRef(ISVGPathSegCurvetoQuadraticAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoQuadraticAbs_Release(ISVGPathSegCurvetoQuadraticAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_GetTypeInfoCount(ISVGPathSegCurvetoQuadraticAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_GetTypeInfo(ISVGPathSegCurvetoQuadraticAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_GetIDsOfNames(ISVGPathSegCurvetoQuadraticAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_Invoke(ISVGPathSegCurvetoQuadraticAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoQuadraticAbs methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_put_x(ISVGPathSegCurvetoQuadraticAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_get_x(ISVGPathSegCurvetoQuadraticAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_put_y(ISVGPathSegCurvetoQuadraticAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_get_y(ISVGPathSegCurvetoQuadraticAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_put_x1(ISVGPathSegCurvetoQuadraticAbs* This,float v) {
    return This->lpVtbl->put_x1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_get_x1(ISVGPathSegCurvetoQuadraticAbs* This,float *p) {
    return This->lpVtbl->get_x1(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_put_y1(ISVGPathSegCurvetoQuadraticAbs* This,float v) {
    return This->lpVtbl->put_y1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticAbs_get_y1(ISVGPathSegCurvetoQuadraticAbs* This,float *p) {
    return This->lpVtbl->get_y1(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoQuadraticAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoQuadraticRel interface
 */
#ifndef __ISVGPathSegCurvetoQuadraticRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoQuadraticRel, 0x30510505, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510505-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoQuadraticRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x1(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y1(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y1(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoQuadraticRel, 0x30510505, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoQuadraticRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoQuadraticRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoQuadraticRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoQuadraticRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoQuadraticRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoQuadraticRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoQuadraticRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoQuadraticRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoQuadraticRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_x1)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x1)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y1)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y1)(
        ISVGPathSegCurvetoQuadraticRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoQuadraticRelVtbl;

interface ISVGPathSegCurvetoQuadraticRel {
    CONST_VTBL ISVGPathSegCurvetoQuadraticRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoQuadraticRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoQuadraticRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoQuadraticRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoQuadraticRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoQuadraticRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoQuadraticRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoQuadraticRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoQuadraticRel methods ***/
#define ISVGPathSegCurvetoQuadraticRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoQuadraticRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoQuadraticRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoQuadraticRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPathSegCurvetoQuadraticRel_put_x1(This,v) (This)->lpVtbl->put_x1(This,v)
#define ISVGPathSegCurvetoQuadraticRel_get_x1(This,p) (This)->lpVtbl->get_x1(This,p)
#define ISVGPathSegCurvetoQuadraticRel_put_y1(This,v) (This)->lpVtbl->put_y1(This,v)
#define ISVGPathSegCurvetoQuadraticRel_get_y1(This,p) (This)->lpVtbl->get_y1(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_QueryInterface(ISVGPathSegCurvetoQuadraticRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoQuadraticRel_AddRef(ISVGPathSegCurvetoQuadraticRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoQuadraticRel_Release(ISVGPathSegCurvetoQuadraticRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_GetTypeInfoCount(ISVGPathSegCurvetoQuadraticRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_GetTypeInfo(ISVGPathSegCurvetoQuadraticRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_GetIDsOfNames(ISVGPathSegCurvetoQuadraticRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_Invoke(ISVGPathSegCurvetoQuadraticRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoQuadraticRel methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_put_x(ISVGPathSegCurvetoQuadraticRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_get_x(ISVGPathSegCurvetoQuadraticRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_put_y(ISVGPathSegCurvetoQuadraticRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_get_y(ISVGPathSegCurvetoQuadraticRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_put_x1(ISVGPathSegCurvetoQuadraticRel* This,float v) {
    return This->lpVtbl->put_x1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_get_x1(ISVGPathSegCurvetoQuadraticRel* This,float *p) {
    return This->lpVtbl->get_x1(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_put_y1(ISVGPathSegCurvetoQuadraticRel* This,float v) {
    return This->lpVtbl->put_y1(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticRel_get_y1(ISVGPathSegCurvetoQuadraticRel* This,float *p) {
    return This->lpVtbl->get_y1(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoQuadraticRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoQuadraticSmoothAbs interface
 */
#ifndef __ISVGPathSegCurvetoQuadraticSmoothAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoQuadraticSmoothAbs, 0x3051050e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051050e-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoQuadraticSmoothAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoQuadraticSmoothAbs, 0x3051050e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoQuadraticSmoothAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoQuadraticSmoothAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoQuadraticSmoothAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoQuadraticSmoothAbsVtbl;

interface ISVGPathSegCurvetoQuadraticSmoothAbs {
    CONST_VTBL ISVGPathSegCurvetoQuadraticSmoothAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoQuadraticSmoothAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoQuadraticSmoothAbs methods ***/
#define ISVGPathSegCurvetoQuadraticSmoothAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoQuadraticSmoothAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_QueryInterface(ISVGPathSegCurvetoQuadraticSmoothAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoQuadraticSmoothAbs_AddRef(ISVGPathSegCurvetoQuadraticSmoothAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoQuadraticSmoothAbs_Release(ISVGPathSegCurvetoQuadraticSmoothAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfoCount(ISVGPathSegCurvetoQuadraticSmoothAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfo(ISVGPathSegCurvetoQuadraticSmoothAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_GetIDsOfNames(ISVGPathSegCurvetoQuadraticSmoothAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_Invoke(ISVGPathSegCurvetoQuadraticSmoothAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoQuadraticSmoothAbs methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_put_x(ISVGPathSegCurvetoQuadraticSmoothAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_get_x(ISVGPathSegCurvetoQuadraticSmoothAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_put_y(ISVGPathSegCurvetoQuadraticSmoothAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothAbs_get_y(ISVGPathSegCurvetoQuadraticSmoothAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoQuadraticSmoothAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegCurvetoQuadraticSmoothRel interface
 */
#ifndef __ISVGPathSegCurvetoQuadraticSmoothRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegCurvetoQuadraticSmoothRel, 0x3051050f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051050f-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegCurvetoQuadraticSmoothRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegCurvetoQuadraticSmoothRel, 0x3051050f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegCurvetoQuadraticSmoothRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegCurvetoQuadraticSmoothRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegCurvetoQuadraticSmoothRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegCurvetoQuadraticSmoothRelVtbl;

interface ISVGPathSegCurvetoQuadraticSmoothRel {
    CONST_VTBL ISVGPathSegCurvetoQuadraticSmoothRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegCurvetoQuadraticSmoothRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegCurvetoQuadraticSmoothRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegCurvetoQuadraticSmoothRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegCurvetoQuadraticSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegCurvetoQuadraticSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegCurvetoQuadraticSmoothRel methods ***/
#define ISVGPathSegCurvetoQuadraticSmoothRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegCurvetoQuadraticSmoothRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPathSegCurvetoQuadraticSmoothRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegCurvetoQuadraticSmoothRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_QueryInterface(ISVGPathSegCurvetoQuadraticSmoothRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegCurvetoQuadraticSmoothRel_AddRef(ISVGPathSegCurvetoQuadraticSmoothRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegCurvetoQuadraticSmoothRel_Release(ISVGPathSegCurvetoQuadraticSmoothRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfoCount(ISVGPathSegCurvetoQuadraticSmoothRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfo(ISVGPathSegCurvetoQuadraticSmoothRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_GetIDsOfNames(ISVGPathSegCurvetoQuadraticSmoothRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_Invoke(ISVGPathSegCurvetoQuadraticSmoothRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegCurvetoQuadraticSmoothRel methods ***/
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_put_x(ISVGPathSegCurvetoQuadraticSmoothRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_get_x(ISVGPathSegCurvetoQuadraticSmoothRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_put_y(ISVGPathSegCurvetoQuadraticSmoothRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegCurvetoQuadraticSmoothRel_get_y(ISVGPathSegCurvetoQuadraticSmoothRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegCurvetoQuadraticSmoothRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegLinetoHorizontalAbs interface
 */
#ifndef __ISVGPathSegLinetoHorizontalAbs_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoHorizontalAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegLinetoHorizontalAbs, 0x30510508, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510508-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegLinetoHorizontalAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegLinetoHorizontalAbs, 0x30510508, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegLinetoHorizontalAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegLinetoHorizontalAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegLinetoHorizontalAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegLinetoHorizontalAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegLinetoHorizontalAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegLinetoHorizontalAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegLinetoHorizontalAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegLinetoHorizontalAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegLinetoHorizontalAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegLinetoHorizontalAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegLinetoHorizontalAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegLinetoHorizontalAbsVtbl;

interface ISVGPathSegLinetoHorizontalAbs {
    CONST_VTBL ISVGPathSegLinetoHorizontalAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegLinetoHorizontalAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegLinetoHorizontalAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegLinetoHorizontalAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegLinetoHorizontalAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegLinetoHorizontalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegLinetoHorizontalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegLinetoHorizontalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegLinetoHorizontalAbs methods ***/
#define ISVGPathSegLinetoHorizontalAbs_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegLinetoHorizontalAbs_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegLinetoHorizontalAbs_QueryInterface(ISVGPathSegLinetoHorizontalAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegLinetoHorizontalAbs_AddRef(ISVGPathSegLinetoHorizontalAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegLinetoHorizontalAbs_Release(ISVGPathSegLinetoHorizontalAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegLinetoHorizontalAbs_GetTypeInfoCount(ISVGPathSegLinetoHorizontalAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegLinetoHorizontalAbs_GetTypeInfo(ISVGPathSegLinetoHorizontalAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegLinetoHorizontalAbs_GetIDsOfNames(ISVGPathSegLinetoHorizontalAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegLinetoHorizontalAbs_Invoke(ISVGPathSegLinetoHorizontalAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegLinetoHorizontalAbs methods ***/
static inline HRESULT ISVGPathSegLinetoHorizontalAbs_put_x(ISVGPathSegLinetoHorizontalAbs* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegLinetoHorizontalAbs_get_x(ISVGPathSegLinetoHorizontalAbs* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegLinetoHorizontalAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegLinetoHorizontalRel interface
 */
#ifndef __ISVGPathSegLinetoHorizontalRel_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoHorizontalRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegLinetoHorizontalRel, 0x30510509, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510509-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegLinetoHorizontalRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegLinetoHorizontalRel, 0x30510509, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegLinetoHorizontalRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegLinetoHorizontalRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegLinetoHorizontalRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegLinetoHorizontalRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegLinetoHorizontalRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegLinetoHorizontalRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegLinetoHorizontalRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegLinetoHorizontalRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegLinetoHorizontalRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPathSegLinetoHorizontalRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPathSegLinetoHorizontalRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegLinetoHorizontalRelVtbl;

interface ISVGPathSegLinetoHorizontalRel {
    CONST_VTBL ISVGPathSegLinetoHorizontalRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegLinetoHorizontalRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegLinetoHorizontalRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegLinetoHorizontalRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegLinetoHorizontalRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegLinetoHorizontalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegLinetoHorizontalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegLinetoHorizontalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegLinetoHorizontalRel methods ***/
#define ISVGPathSegLinetoHorizontalRel_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPathSegLinetoHorizontalRel_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegLinetoHorizontalRel_QueryInterface(ISVGPathSegLinetoHorizontalRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegLinetoHorizontalRel_AddRef(ISVGPathSegLinetoHorizontalRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegLinetoHorizontalRel_Release(ISVGPathSegLinetoHorizontalRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegLinetoHorizontalRel_GetTypeInfoCount(ISVGPathSegLinetoHorizontalRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegLinetoHorizontalRel_GetTypeInfo(ISVGPathSegLinetoHorizontalRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegLinetoHorizontalRel_GetIDsOfNames(ISVGPathSegLinetoHorizontalRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegLinetoHorizontalRel_Invoke(ISVGPathSegLinetoHorizontalRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegLinetoHorizontalRel methods ***/
static inline HRESULT ISVGPathSegLinetoHorizontalRel_put_x(ISVGPathSegLinetoHorizontalRel* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPathSegLinetoHorizontalRel_get_x(ISVGPathSegLinetoHorizontalRel* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegLinetoHorizontalRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegLinetoVerticalAbs interface
 */
#ifndef __ISVGPathSegLinetoVerticalAbs_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoVerticalAbs_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegLinetoVerticalAbs, 0x3051050a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051050a-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegLinetoVerticalAbs : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegLinetoVerticalAbs, 0x3051050a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegLinetoVerticalAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegLinetoVerticalAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegLinetoVerticalAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegLinetoVerticalAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegLinetoVerticalAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegLinetoVerticalAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegLinetoVerticalAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegLinetoVerticalAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegLinetoVerticalAbs methods ***/
    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegLinetoVerticalAbs *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegLinetoVerticalAbs *This,
        float *p);

    END_INTERFACE
} ISVGPathSegLinetoVerticalAbsVtbl;

interface ISVGPathSegLinetoVerticalAbs {
    CONST_VTBL ISVGPathSegLinetoVerticalAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegLinetoVerticalAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegLinetoVerticalAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegLinetoVerticalAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegLinetoVerticalAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegLinetoVerticalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegLinetoVerticalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegLinetoVerticalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegLinetoVerticalAbs methods ***/
#define ISVGPathSegLinetoVerticalAbs_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegLinetoVerticalAbs_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegLinetoVerticalAbs_QueryInterface(ISVGPathSegLinetoVerticalAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegLinetoVerticalAbs_AddRef(ISVGPathSegLinetoVerticalAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegLinetoVerticalAbs_Release(ISVGPathSegLinetoVerticalAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegLinetoVerticalAbs_GetTypeInfoCount(ISVGPathSegLinetoVerticalAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegLinetoVerticalAbs_GetTypeInfo(ISVGPathSegLinetoVerticalAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegLinetoVerticalAbs_GetIDsOfNames(ISVGPathSegLinetoVerticalAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegLinetoVerticalAbs_Invoke(ISVGPathSegLinetoVerticalAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegLinetoVerticalAbs methods ***/
static inline HRESULT ISVGPathSegLinetoVerticalAbs_put_y(ISVGPathSegLinetoVerticalAbs* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegLinetoVerticalAbs_get_y(ISVGPathSegLinetoVerticalAbs* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegLinetoVerticalAbs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathSegLinetoVerticalRel interface
 */
#ifndef __ISVGPathSegLinetoVerticalRel_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoVerticalRel_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegLinetoVerticalRel, 0x3051050b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051050b-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegLinetoVerticalRel : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegLinetoVerticalRel, 0x3051050b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegLinetoVerticalRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegLinetoVerticalRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegLinetoVerticalRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegLinetoVerticalRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegLinetoVerticalRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegLinetoVerticalRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegLinetoVerticalRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegLinetoVerticalRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegLinetoVerticalRel methods ***/
    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPathSegLinetoVerticalRel *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPathSegLinetoVerticalRel *This,
        float *p);

    END_INTERFACE
} ISVGPathSegLinetoVerticalRelVtbl;

interface ISVGPathSegLinetoVerticalRel {
    CONST_VTBL ISVGPathSegLinetoVerticalRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegLinetoVerticalRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegLinetoVerticalRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegLinetoVerticalRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegLinetoVerticalRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegLinetoVerticalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegLinetoVerticalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegLinetoVerticalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegLinetoVerticalRel methods ***/
#define ISVGPathSegLinetoVerticalRel_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPathSegLinetoVerticalRel_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegLinetoVerticalRel_QueryInterface(ISVGPathSegLinetoVerticalRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegLinetoVerticalRel_AddRef(ISVGPathSegLinetoVerticalRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegLinetoVerticalRel_Release(ISVGPathSegLinetoVerticalRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegLinetoVerticalRel_GetTypeInfoCount(ISVGPathSegLinetoVerticalRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegLinetoVerticalRel_GetTypeInfo(ISVGPathSegLinetoVerticalRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegLinetoVerticalRel_GetIDsOfNames(ISVGPathSegLinetoVerticalRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegLinetoVerticalRel_Invoke(ISVGPathSegLinetoVerticalRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegLinetoVerticalRel methods ***/
static inline HRESULT ISVGPathSegLinetoVerticalRel_put_y(ISVGPathSegLinetoVerticalRel* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPathSegLinetoVerticalRel_get_y(ISVGPathSegLinetoVerticalRel* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegLinetoVerticalRel_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSeg coclass
 */

DEFINE_GUID(CLSID_SVGPathSeg, 0x305105b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105b3-98b5-11cf-bb82-00aa00bdce0b") SVGPathSeg;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSeg, 0x305105b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSeg;
/*****************************************************************************
 * DispSVGPathSegArcAbs dispinterface
 */
#ifndef __DispSVGPathSegArcAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegArcAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegArcAbs, 0x30590013, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590013-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegArcAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegArcAbs, 0x30590013, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegArcAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegArcAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegArcAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegArcAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegArcAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegArcAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegArcAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegArcAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegArcAbsVtbl;

interface DispSVGPathSegArcAbs {
    CONST_VTBL DispSVGPathSegArcAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegArcAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegArcAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegArcAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegArcAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegArcAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegArcAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegArcAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegArcAbs_QueryInterface(DispSVGPathSegArcAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegArcAbs_AddRef(DispSVGPathSegArcAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegArcAbs_Release(DispSVGPathSegArcAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegArcAbs_GetTypeInfoCount(DispSVGPathSegArcAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegArcAbs_GetTypeInfo(DispSVGPathSegArcAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegArcAbs_GetIDsOfNames(DispSVGPathSegArcAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegArcAbs_Invoke(DispSVGPathSegArcAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegArcAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegArcAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegArcAbs, 0x305105bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105bb-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegArcAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegArcAbs, 0x305105bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegArcAbs;
/*****************************************************************************
 * DispSVGPathSegArcRel dispinterface
 */
#ifndef __DispSVGPathSegArcRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegArcRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegArcRel, 0x30590014, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590014-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegArcRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegArcRel, 0x30590014, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegArcRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegArcRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegArcRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegArcRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegArcRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegArcRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegArcRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegArcRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegArcRelVtbl;

interface DispSVGPathSegArcRel {
    CONST_VTBL DispSVGPathSegArcRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegArcRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegArcRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegArcRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegArcRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegArcRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegArcRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegArcRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegArcRel_QueryInterface(DispSVGPathSegArcRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegArcRel_AddRef(DispSVGPathSegArcRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegArcRel_Release(DispSVGPathSegArcRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegArcRel_GetTypeInfoCount(DispSVGPathSegArcRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegArcRel_GetTypeInfo(DispSVGPathSegArcRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegArcRel_GetIDsOfNames(DispSVGPathSegArcRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegArcRel_Invoke(DispSVGPathSegArcRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegArcRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegArcRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegArcRel, 0x305105bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105bc-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegArcRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegArcRel, 0x305105bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegArcRel;
/*****************************************************************************
 * DispSVGPathSegClosePath dispinterface
 */
#ifndef __DispSVGPathSegClosePath_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegClosePath_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegClosePath, 0x30590015, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590015-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegClosePath : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegClosePath, 0x30590015, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegClosePathVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegClosePath *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegClosePath *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegClosePath *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegClosePath *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegClosePath *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegClosePath *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegClosePath *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegClosePathVtbl;

interface DispSVGPathSegClosePath {
    CONST_VTBL DispSVGPathSegClosePathVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegClosePath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegClosePath_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegClosePath_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegClosePath_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegClosePath_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegClosePath_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegClosePath_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegClosePath_QueryInterface(DispSVGPathSegClosePath* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegClosePath_AddRef(DispSVGPathSegClosePath* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegClosePath_Release(DispSVGPathSegClosePath* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegClosePath_GetTypeInfoCount(DispSVGPathSegClosePath* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegClosePath_GetTypeInfo(DispSVGPathSegClosePath* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegClosePath_GetIDsOfNames(DispSVGPathSegClosePath* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegClosePath_Invoke(DispSVGPathSegClosePath* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegClosePath_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegClosePath coclass
 */

DEFINE_GUID(CLSID_SVGPathSegClosePath, 0x305105bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105bd-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegClosePath;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegClosePath, 0x305105bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegClosePath;
/*****************************************************************************
 * DispSVGPathSegMovetoAbs dispinterface
 */
#ifndef __DispSVGPathSegMovetoAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegMovetoAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegMovetoAbs, 0x30590024, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590024-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegMovetoAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegMovetoAbs, 0x30590024, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegMovetoAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegMovetoAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegMovetoAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegMovetoAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegMovetoAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegMovetoAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegMovetoAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegMovetoAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegMovetoAbsVtbl;

interface DispSVGPathSegMovetoAbs {
    CONST_VTBL DispSVGPathSegMovetoAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegMovetoAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegMovetoAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegMovetoAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegMovetoAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegMovetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegMovetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegMovetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegMovetoAbs_QueryInterface(DispSVGPathSegMovetoAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegMovetoAbs_AddRef(DispSVGPathSegMovetoAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegMovetoAbs_Release(DispSVGPathSegMovetoAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegMovetoAbs_GetTypeInfoCount(DispSVGPathSegMovetoAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegMovetoAbs_GetTypeInfo(DispSVGPathSegMovetoAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegMovetoAbs_GetIDsOfNames(DispSVGPathSegMovetoAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegMovetoAbs_Invoke(DispSVGPathSegMovetoAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegMovetoAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegMovetoAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegMovetoAbs, 0x305105cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105cc-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegMovetoAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegMovetoAbs, 0x305105cc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegMovetoAbs;
/*****************************************************************************
 * DispSVGPathSegMovetoRel dispinterface
 */
#ifndef __DispSVGPathSegMovetoRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegMovetoRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegMovetoRel, 0x30590025, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590025-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegMovetoRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegMovetoRel, 0x30590025, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegMovetoRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegMovetoRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegMovetoRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegMovetoRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegMovetoRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegMovetoRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegMovetoRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegMovetoRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegMovetoRelVtbl;

interface DispSVGPathSegMovetoRel {
    CONST_VTBL DispSVGPathSegMovetoRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegMovetoRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegMovetoRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegMovetoRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegMovetoRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegMovetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegMovetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegMovetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegMovetoRel_QueryInterface(DispSVGPathSegMovetoRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegMovetoRel_AddRef(DispSVGPathSegMovetoRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegMovetoRel_Release(DispSVGPathSegMovetoRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegMovetoRel_GetTypeInfoCount(DispSVGPathSegMovetoRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegMovetoRel_GetTypeInfo(DispSVGPathSegMovetoRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegMovetoRel_GetIDsOfNames(DispSVGPathSegMovetoRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegMovetoRel_Invoke(DispSVGPathSegMovetoRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegMovetoRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegMovetoRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegMovetoRel, 0x305105cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105cd-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegMovetoRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegMovetoRel, 0x305105cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegMovetoRel;
/*****************************************************************************
 * DispSVGPathSegLinetoAbs dispinterface
 */
#ifndef __DispSVGPathSegLinetoAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegLinetoAbs, 0x3059001e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059001e-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegLinetoAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegLinetoAbs, 0x3059001e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegLinetoAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegLinetoAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegLinetoAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegLinetoAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegLinetoAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegLinetoAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegLinetoAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegLinetoAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegLinetoAbsVtbl;

interface DispSVGPathSegLinetoAbs {
    CONST_VTBL DispSVGPathSegLinetoAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegLinetoAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegLinetoAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegLinetoAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegLinetoAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegLinetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegLinetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegLinetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegLinetoAbs_QueryInterface(DispSVGPathSegLinetoAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegLinetoAbs_AddRef(DispSVGPathSegLinetoAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegLinetoAbs_Release(DispSVGPathSegLinetoAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegLinetoAbs_GetTypeInfoCount(DispSVGPathSegLinetoAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegLinetoAbs_GetTypeInfo(DispSVGPathSegLinetoAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegLinetoAbs_GetIDsOfNames(DispSVGPathSegLinetoAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegLinetoAbs_Invoke(DispSVGPathSegLinetoAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegLinetoAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegLinetoAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegLinetoAbs, 0x305105c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c6-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegLinetoAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegLinetoAbs, 0x305105c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegLinetoAbs;
/*****************************************************************************
 * DispSVGPathSegLinetoRel dispinterface
 */
#ifndef __DispSVGPathSegLinetoRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegLinetoRel, 0x30590021, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590021-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegLinetoRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegLinetoRel, 0x30590021, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegLinetoRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegLinetoRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegLinetoRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegLinetoRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegLinetoRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegLinetoRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegLinetoRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegLinetoRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegLinetoRelVtbl;

interface DispSVGPathSegLinetoRel {
    CONST_VTBL DispSVGPathSegLinetoRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegLinetoRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegLinetoRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegLinetoRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegLinetoRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegLinetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegLinetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegLinetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegLinetoRel_QueryInterface(DispSVGPathSegLinetoRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegLinetoRel_AddRef(DispSVGPathSegLinetoRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegLinetoRel_Release(DispSVGPathSegLinetoRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegLinetoRel_GetTypeInfoCount(DispSVGPathSegLinetoRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegLinetoRel_GetTypeInfo(DispSVGPathSegLinetoRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegLinetoRel_GetIDsOfNames(DispSVGPathSegLinetoRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegLinetoRel_Invoke(DispSVGPathSegLinetoRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegLinetoRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegLinetoRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegLinetoRel, 0x305105c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c9-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegLinetoRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegLinetoRel, 0x305105c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegLinetoRel;
/*****************************************************************************
 * DispSVGPathSegCurvetoCubicAbs dispinterface
 */
#ifndef __DispSVGPathSegCurvetoCubicAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoCubicAbs, 0x30590016, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590016-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoCubicAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoCubicAbs, 0x30590016, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoCubicAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoCubicAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoCubicAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoCubicAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoCubicAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoCubicAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoCubicAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoCubicAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoCubicAbsVtbl;

interface DispSVGPathSegCurvetoCubicAbs {
    CONST_VTBL DispSVGPathSegCurvetoCubicAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoCubicAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoCubicAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoCubicAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoCubicAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoCubicAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoCubicAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoCubicAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicAbs_QueryInterface(DispSVGPathSegCurvetoCubicAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoCubicAbs_AddRef(DispSVGPathSegCurvetoCubicAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoCubicAbs_Release(DispSVGPathSegCurvetoCubicAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicAbs_GetTypeInfoCount(DispSVGPathSegCurvetoCubicAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicAbs_GetTypeInfo(DispSVGPathSegCurvetoCubicAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicAbs_GetIDsOfNames(DispSVGPathSegCurvetoCubicAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoCubicAbs_Invoke(DispSVGPathSegCurvetoCubicAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoCubicAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoCubicAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoCubicAbs, 0x305105be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105be-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoCubicAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoCubicAbs, 0x305105be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicAbs;
/*****************************************************************************
 * DispSVGPathSegCurvetoCubicRel dispinterface
 */
#ifndef __DispSVGPathSegCurvetoCubicRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoCubicRel, 0x30590017, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590017-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoCubicRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoCubicRel, 0x30590017, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoCubicRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoCubicRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoCubicRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoCubicRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoCubicRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoCubicRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoCubicRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoCubicRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoCubicRelVtbl;

interface DispSVGPathSegCurvetoCubicRel {
    CONST_VTBL DispSVGPathSegCurvetoCubicRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoCubicRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoCubicRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoCubicRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoCubicRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoCubicRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoCubicRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoCubicRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicRel_QueryInterface(DispSVGPathSegCurvetoCubicRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoCubicRel_AddRef(DispSVGPathSegCurvetoCubicRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoCubicRel_Release(DispSVGPathSegCurvetoCubicRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicRel_GetTypeInfoCount(DispSVGPathSegCurvetoCubicRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicRel_GetTypeInfo(DispSVGPathSegCurvetoCubicRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicRel_GetIDsOfNames(DispSVGPathSegCurvetoCubicRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoCubicRel_Invoke(DispSVGPathSegCurvetoCubicRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoCubicRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoCubicRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoCubicRel, 0x305105bf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105bf-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoCubicRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoCubicRel, 0x305105bf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicRel;
/*****************************************************************************
 * DispSVGPathSegCurvetoCubicSmoothAbs dispinterface
 */
#ifndef __DispSVGPathSegCurvetoCubicSmoothAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoCubicSmoothAbs, 0x30590018, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590018-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoCubicSmoothAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoCubicSmoothAbs, 0x30590018, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoCubicSmoothAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoCubicSmoothAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoCubicSmoothAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoCubicSmoothAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoCubicSmoothAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoCubicSmoothAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoCubicSmoothAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoCubicSmoothAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoCubicSmoothAbsVtbl;

interface DispSVGPathSegCurvetoCubicSmoothAbs {
    CONST_VTBL DispSVGPathSegCurvetoCubicSmoothAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoCubicSmoothAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoCubicSmoothAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoCubicSmoothAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoCubicSmoothAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoCubicSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoCubicSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoCubicSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothAbs_QueryInterface(DispSVGPathSegCurvetoCubicSmoothAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoCubicSmoothAbs_AddRef(DispSVGPathSegCurvetoCubicSmoothAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoCubicSmoothAbs_Release(DispSVGPathSegCurvetoCubicSmoothAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothAbs_GetTypeInfoCount(DispSVGPathSegCurvetoCubicSmoothAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothAbs_GetTypeInfo(DispSVGPathSegCurvetoCubicSmoothAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothAbs_GetIDsOfNames(DispSVGPathSegCurvetoCubicSmoothAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothAbs_Invoke(DispSVGPathSegCurvetoCubicSmoothAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoCubicSmoothAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoCubicSmoothAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoCubicSmoothAbs, 0x305105c0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c0-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoCubicSmoothAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoCubicSmoothAbs, 0x305105c0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicSmoothAbs;
/*****************************************************************************
 * DispSVGPathSegCurvetoCubicSmoothRel dispinterface
 */
#ifndef __DispSVGPathSegCurvetoCubicSmoothRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoCubicSmoothRel, 0x30590019, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590019-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoCubicSmoothRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoCubicSmoothRel, 0x30590019, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoCubicSmoothRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoCubicSmoothRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoCubicSmoothRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoCubicSmoothRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoCubicSmoothRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoCubicSmoothRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoCubicSmoothRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoCubicSmoothRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoCubicSmoothRelVtbl;

interface DispSVGPathSegCurvetoCubicSmoothRel {
    CONST_VTBL DispSVGPathSegCurvetoCubicSmoothRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoCubicSmoothRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoCubicSmoothRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoCubicSmoothRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoCubicSmoothRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoCubicSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoCubicSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoCubicSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothRel_QueryInterface(DispSVGPathSegCurvetoCubicSmoothRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoCubicSmoothRel_AddRef(DispSVGPathSegCurvetoCubicSmoothRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoCubicSmoothRel_Release(DispSVGPathSegCurvetoCubicSmoothRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothRel_GetTypeInfoCount(DispSVGPathSegCurvetoCubicSmoothRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothRel_GetTypeInfo(DispSVGPathSegCurvetoCubicSmoothRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothRel_GetIDsOfNames(DispSVGPathSegCurvetoCubicSmoothRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoCubicSmoothRel_Invoke(DispSVGPathSegCurvetoCubicSmoothRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoCubicSmoothRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoCubicSmoothRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoCubicSmoothRel, 0x305105c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c1-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoCubicSmoothRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoCubicSmoothRel, 0x305105c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicSmoothRel;
/*****************************************************************************
 * DispSVGPathSegCurvetoQuadraticAbs dispinterface
 */
#ifndef __DispSVGPathSegCurvetoQuadraticAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoQuadraticAbs, 0x3059001a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059001a-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoQuadraticAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoQuadraticAbs, 0x3059001a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoQuadraticAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoQuadraticAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoQuadraticAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoQuadraticAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoQuadraticAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoQuadraticAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoQuadraticAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoQuadraticAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoQuadraticAbsVtbl;

interface DispSVGPathSegCurvetoQuadraticAbs {
    CONST_VTBL DispSVGPathSegCurvetoQuadraticAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoQuadraticAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoQuadraticAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoQuadraticAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoQuadraticAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoQuadraticAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoQuadraticAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoQuadraticAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticAbs_QueryInterface(DispSVGPathSegCurvetoQuadraticAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticAbs_AddRef(DispSVGPathSegCurvetoQuadraticAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticAbs_Release(DispSVGPathSegCurvetoQuadraticAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticAbs_GetTypeInfoCount(DispSVGPathSegCurvetoQuadraticAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticAbs_GetTypeInfo(DispSVGPathSegCurvetoQuadraticAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticAbs_GetIDsOfNames(DispSVGPathSegCurvetoQuadraticAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticAbs_Invoke(DispSVGPathSegCurvetoQuadraticAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoQuadraticAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoQuadraticAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoQuadraticAbs, 0x305105c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c2-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoQuadraticAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoQuadraticAbs, 0x305105c2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticAbs;
/*****************************************************************************
 * DispSVGPathSegCurvetoQuadraticRel dispinterface
 */
#ifndef __DispSVGPathSegCurvetoQuadraticRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoQuadraticRel, 0x3059001b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059001b-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoQuadraticRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoQuadraticRel, 0x3059001b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoQuadraticRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoQuadraticRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoQuadraticRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoQuadraticRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoQuadraticRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoQuadraticRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoQuadraticRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoQuadraticRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoQuadraticRelVtbl;

interface DispSVGPathSegCurvetoQuadraticRel {
    CONST_VTBL DispSVGPathSegCurvetoQuadraticRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoQuadraticRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoQuadraticRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoQuadraticRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoQuadraticRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoQuadraticRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoQuadraticRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoQuadraticRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticRel_QueryInterface(DispSVGPathSegCurvetoQuadraticRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticRel_AddRef(DispSVGPathSegCurvetoQuadraticRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticRel_Release(DispSVGPathSegCurvetoQuadraticRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticRel_GetTypeInfoCount(DispSVGPathSegCurvetoQuadraticRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticRel_GetTypeInfo(DispSVGPathSegCurvetoQuadraticRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticRel_GetIDsOfNames(DispSVGPathSegCurvetoQuadraticRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticRel_Invoke(DispSVGPathSegCurvetoQuadraticRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoQuadraticRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoQuadraticRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoQuadraticRel, 0x305105c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c3-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoQuadraticRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoQuadraticRel, 0x305105c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticRel;
/*****************************************************************************
 * DispSVGPathSegCurvetoQuadraticSmoothAbs dispinterface
 */
#ifndef __DispSVGPathSegCurvetoQuadraticSmoothAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoQuadraticSmoothAbs, 0x3059001c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059001c-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoQuadraticSmoothAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoQuadraticSmoothAbs, 0x3059001c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoQuadraticSmoothAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoQuadraticSmoothAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoQuadraticSmoothAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoQuadraticSmoothAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoQuadraticSmoothAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoQuadraticSmoothAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoQuadraticSmoothAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoQuadraticSmoothAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoQuadraticSmoothAbsVtbl;

interface DispSVGPathSegCurvetoQuadraticSmoothAbs {
    CONST_VTBL DispSVGPathSegCurvetoQuadraticSmoothAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoQuadraticSmoothAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoQuadraticSmoothAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoQuadraticSmoothAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoQuadraticSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoQuadraticSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothAbs_QueryInterface(DispSVGPathSegCurvetoQuadraticSmoothAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticSmoothAbs_AddRef(DispSVGPathSegCurvetoQuadraticSmoothAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticSmoothAbs_Release(DispSVGPathSegCurvetoQuadraticSmoothAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfoCount(DispSVGPathSegCurvetoQuadraticSmoothAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfo(DispSVGPathSegCurvetoQuadraticSmoothAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothAbs_GetIDsOfNames(DispSVGPathSegCurvetoQuadraticSmoothAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothAbs_Invoke(DispSVGPathSegCurvetoQuadraticSmoothAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoQuadraticSmoothAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoQuadraticSmoothAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoQuadraticSmoothAbs, 0x305105c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c4-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoQuadraticSmoothAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoQuadraticSmoothAbs, 0x305105c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticSmoothAbs;
/*****************************************************************************
 * DispSVGPathSegCurvetoQuadraticSmoothRel dispinterface
 */
#ifndef __DispSVGPathSegCurvetoQuadraticSmoothRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegCurvetoQuadraticSmoothRel, 0x3059001d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059001d-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegCurvetoQuadraticSmoothRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegCurvetoQuadraticSmoothRel, 0x3059001d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegCurvetoQuadraticSmoothRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegCurvetoQuadraticSmoothRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegCurvetoQuadraticSmoothRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegCurvetoQuadraticSmoothRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegCurvetoQuadraticSmoothRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegCurvetoQuadraticSmoothRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegCurvetoQuadraticSmoothRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegCurvetoQuadraticSmoothRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegCurvetoQuadraticSmoothRelVtbl;

interface DispSVGPathSegCurvetoQuadraticSmoothRel {
    CONST_VTBL DispSVGPathSegCurvetoQuadraticSmoothRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegCurvetoQuadraticSmoothRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegCurvetoQuadraticSmoothRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegCurvetoQuadraticSmoothRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegCurvetoQuadraticSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegCurvetoQuadraticSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothRel_QueryInterface(DispSVGPathSegCurvetoQuadraticSmoothRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticSmoothRel_AddRef(DispSVGPathSegCurvetoQuadraticSmoothRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegCurvetoQuadraticSmoothRel_Release(DispSVGPathSegCurvetoQuadraticSmoothRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfoCount(DispSVGPathSegCurvetoQuadraticSmoothRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfo(DispSVGPathSegCurvetoQuadraticSmoothRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothRel_GetIDsOfNames(DispSVGPathSegCurvetoQuadraticSmoothRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegCurvetoQuadraticSmoothRel_Invoke(DispSVGPathSegCurvetoQuadraticSmoothRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegCurvetoQuadraticSmoothRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegCurvetoQuadraticSmoothRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegCurvetoQuadraticSmoothRel, 0x305105c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c5-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegCurvetoQuadraticSmoothRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegCurvetoQuadraticSmoothRel, 0x305105c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticSmoothRel;
/*****************************************************************************
 * DispSVGPathSegLinetoHorizontalAbs dispinterface
 */
#ifndef __DispSVGPathSegLinetoHorizontalAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoHorizontalAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegLinetoHorizontalAbs, 0x3059001f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059001f-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegLinetoHorizontalAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegLinetoHorizontalAbs, 0x3059001f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegLinetoHorizontalAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegLinetoHorizontalAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegLinetoHorizontalAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegLinetoHorizontalAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegLinetoHorizontalAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegLinetoHorizontalAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegLinetoHorizontalAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegLinetoHorizontalAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegLinetoHorizontalAbsVtbl;

interface DispSVGPathSegLinetoHorizontalAbs {
    CONST_VTBL DispSVGPathSegLinetoHorizontalAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegLinetoHorizontalAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegLinetoHorizontalAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegLinetoHorizontalAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegLinetoHorizontalAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegLinetoHorizontalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegLinetoHorizontalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegLinetoHorizontalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegLinetoHorizontalAbs_QueryInterface(DispSVGPathSegLinetoHorizontalAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegLinetoHorizontalAbs_AddRef(DispSVGPathSegLinetoHorizontalAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegLinetoHorizontalAbs_Release(DispSVGPathSegLinetoHorizontalAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegLinetoHorizontalAbs_GetTypeInfoCount(DispSVGPathSegLinetoHorizontalAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegLinetoHorizontalAbs_GetTypeInfo(DispSVGPathSegLinetoHorizontalAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegLinetoHorizontalAbs_GetIDsOfNames(DispSVGPathSegLinetoHorizontalAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegLinetoHorizontalAbs_Invoke(DispSVGPathSegLinetoHorizontalAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegLinetoHorizontalAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegLinetoHorizontalAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegLinetoHorizontalAbs, 0x305105c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c7-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegLinetoHorizontalAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegLinetoHorizontalAbs, 0x305105c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegLinetoHorizontalAbs;
/*****************************************************************************
 * DispSVGPathSegLinetoHorizontalRel dispinterface
 */
#ifndef __DispSVGPathSegLinetoHorizontalRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoHorizontalRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegLinetoHorizontalRel, 0x30590020, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590020-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegLinetoHorizontalRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegLinetoHorizontalRel, 0x30590020, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegLinetoHorizontalRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegLinetoHorizontalRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegLinetoHorizontalRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegLinetoHorizontalRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegLinetoHorizontalRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegLinetoHorizontalRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegLinetoHorizontalRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegLinetoHorizontalRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegLinetoHorizontalRelVtbl;

interface DispSVGPathSegLinetoHorizontalRel {
    CONST_VTBL DispSVGPathSegLinetoHorizontalRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegLinetoHorizontalRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegLinetoHorizontalRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegLinetoHorizontalRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegLinetoHorizontalRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegLinetoHorizontalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegLinetoHorizontalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegLinetoHorizontalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegLinetoHorizontalRel_QueryInterface(DispSVGPathSegLinetoHorizontalRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegLinetoHorizontalRel_AddRef(DispSVGPathSegLinetoHorizontalRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegLinetoHorizontalRel_Release(DispSVGPathSegLinetoHorizontalRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegLinetoHorizontalRel_GetTypeInfoCount(DispSVGPathSegLinetoHorizontalRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegLinetoHorizontalRel_GetTypeInfo(DispSVGPathSegLinetoHorizontalRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegLinetoHorizontalRel_GetIDsOfNames(DispSVGPathSegLinetoHorizontalRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegLinetoHorizontalRel_Invoke(DispSVGPathSegLinetoHorizontalRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegLinetoHorizontalRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegLinetoHorizontalRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegLinetoHorizontalRel, 0x305105c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105c8-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegLinetoHorizontalRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegLinetoHorizontalRel, 0x305105c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegLinetoHorizontalRel;
/*****************************************************************************
 * DispSVGPathSegLinetoVerticalAbs dispinterface
 */
#ifndef __DispSVGPathSegLinetoVerticalAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoVerticalAbs_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegLinetoVerticalAbs, 0x30590022, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590022-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegLinetoVerticalAbs : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegLinetoVerticalAbs, 0x30590022, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegLinetoVerticalAbsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegLinetoVerticalAbs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegLinetoVerticalAbs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegLinetoVerticalAbs *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegLinetoVerticalAbs *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegLinetoVerticalAbs *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegLinetoVerticalAbs *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegLinetoVerticalAbs *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegLinetoVerticalAbsVtbl;

interface DispSVGPathSegLinetoVerticalAbs {
    CONST_VTBL DispSVGPathSegLinetoVerticalAbsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegLinetoVerticalAbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegLinetoVerticalAbs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegLinetoVerticalAbs_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegLinetoVerticalAbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegLinetoVerticalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegLinetoVerticalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegLinetoVerticalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegLinetoVerticalAbs_QueryInterface(DispSVGPathSegLinetoVerticalAbs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegLinetoVerticalAbs_AddRef(DispSVGPathSegLinetoVerticalAbs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegLinetoVerticalAbs_Release(DispSVGPathSegLinetoVerticalAbs* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegLinetoVerticalAbs_GetTypeInfoCount(DispSVGPathSegLinetoVerticalAbs* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegLinetoVerticalAbs_GetTypeInfo(DispSVGPathSegLinetoVerticalAbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegLinetoVerticalAbs_GetIDsOfNames(DispSVGPathSegLinetoVerticalAbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegLinetoVerticalAbs_Invoke(DispSVGPathSegLinetoVerticalAbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegLinetoVerticalAbs_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegLinetoVerticalAbs coclass
 */

DEFINE_GUID(CLSID_SVGPathSegLinetoVerticalAbs, 0x305105ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105ca-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegLinetoVerticalAbs;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegLinetoVerticalAbs, 0x305105ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegLinetoVerticalAbs;
/*****************************************************************************
 * DispSVGPathSegLinetoVerticalRel dispinterface
 */
#ifndef __DispSVGPathSegLinetoVerticalRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoVerticalRel_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathSegLinetoVerticalRel, 0x30590023, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590023-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathSegLinetoVerticalRel : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathSegLinetoVerticalRel, 0x30590023, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathSegLinetoVerticalRelVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathSegLinetoVerticalRel *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathSegLinetoVerticalRel *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathSegLinetoVerticalRel *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathSegLinetoVerticalRel *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathSegLinetoVerticalRel *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathSegLinetoVerticalRel *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathSegLinetoVerticalRel *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathSegLinetoVerticalRelVtbl;

interface DispSVGPathSegLinetoVerticalRel {
    CONST_VTBL DispSVGPathSegLinetoVerticalRelVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathSegLinetoVerticalRel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathSegLinetoVerticalRel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathSegLinetoVerticalRel_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathSegLinetoVerticalRel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathSegLinetoVerticalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathSegLinetoVerticalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathSegLinetoVerticalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathSegLinetoVerticalRel_QueryInterface(DispSVGPathSegLinetoVerticalRel* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathSegLinetoVerticalRel_AddRef(DispSVGPathSegLinetoVerticalRel* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathSegLinetoVerticalRel_Release(DispSVGPathSegLinetoVerticalRel* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathSegLinetoVerticalRel_GetTypeInfoCount(DispSVGPathSegLinetoVerticalRel* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathSegLinetoVerticalRel_GetTypeInfo(DispSVGPathSegLinetoVerticalRel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathSegLinetoVerticalRel_GetIDsOfNames(DispSVGPathSegLinetoVerticalRel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathSegLinetoVerticalRel_Invoke(DispSVGPathSegLinetoVerticalRel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathSegLinetoVerticalRel_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegLinetoVerticalRel coclass
 */

DEFINE_GUID(CLSID_SVGPathSegLinetoVerticalRel, 0x305105cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105cb-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegLinetoVerticalRel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegLinetoVerticalRel, 0x305105cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegLinetoVerticalRel;
#ifndef __ISVGPathSeg_FWD_DEFINED__
#define __ISVGPathSeg_FWD_DEFINED__
typedef interface ISVGPathSeg ISVGPathSeg;
#ifdef __cplusplus
interface ISVGPathSeg;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGPathSegList interface
 */
#ifndef __ISVGPathSegList_INTERFACE_DEFINED__
#define __ISVGPathSegList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathSegList, 0x30510510, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510510-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathSegList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_numberOfItems(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_numberOfItems(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE initialize(
        ISVGPathSeg *newItem,
        ISVGPathSeg **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getItem(
        LONG index,
        ISVGPathSeg **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertItemBefore(
        ISVGPathSeg *newItem,
        LONG index,
        ISVGPathSeg **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceItem(
        ISVGPathSeg *newItem,
        LONG index,
        ISVGPathSeg **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeItem(
        LONG index,
        ISVGPathSeg **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItem(
        ISVGPathSeg *newItem,
        ISVGPathSeg **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathSegList, 0x30510510, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathSegListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathSegList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathSegList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathSegList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathSegList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathSegList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathSegList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathSegList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathSegList methods ***/
    HRESULT (STDMETHODCALLTYPE *put_numberOfItems)(
        ISVGPathSegList *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_numberOfItems)(
        ISVGPathSegList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *clear)(
        ISVGPathSegList *This);

    HRESULT (STDMETHODCALLTYPE *initialize)(
        ISVGPathSegList *This,
        ISVGPathSeg *newItem,
        ISVGPathSeg **ppResult);

    HRESULT (STDMETHODCALLTYPE *getItem)(
        ISVGPathSegList *This,
        LONG index,
        ISVGPathSeg **ppResult);

    HRESULT (STDMETHODCALLTYPE *insertItemBefore)(
        ISVGPathSegList *This,
        ISVGPathSeg *newItem,
        LONG index,
        ISVGPathSeg **ppResult);

    HRESULT (STDMETHODCALLTYPE *replaceItem)(
        ISVGPathSegList *This,
        ISVGPathSeg *newItem,
        LONG index,
        ISVGPathSeg **ppResult);

    HRESULT (STDMETHODCALLTYPE *removeItem)(
        ISVGPathSegList *This,
        LONG index,
        ISVGPathSeg **ppResult);

    HRESULT (STDMETHODCALLTYPE *appendItem)(
        ISVGPathSegList *This,
        ISVGPathSeg *newItem,
        ISVGPathSeg **ppResult);

    END_INTERFACE
} ISVGPathSegListVtbl;

interface ISVGPathSegList {
    CONST_VTBL ISVGPathSegListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathSegList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathSegList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathSegList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathSegList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathSegList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathSegList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathSegList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathSegList methods ***/
#define ISVGPathSegList_put_numberOfItems(This,v) (This)->lpVtbl->put_numberOfItems(This,v)
#define ISVGPathSegList_get_numberOfItems(This,p) (This)->lpVtbl->get_numberOfItems(This,p)
#define ISVGPathSegList_clear(This) (This)->lpVtbl->clear(This)
#define ISVGPathSegList_initialize(This,newItem,ppResult) (This)->lpVtbl->initialize(This,newItem,ppResult)
#define ISVGPathSegList_getItem(This,index,ppResult) (This)->lpVtbl->getItem(This,index,ppResult)
#define ISVGPathSegList_insertItemBefore(This,newItem,index,ppResult) (This)->lpVtbl->insertItemBefore(This,newItem,index,ppResult)
#define ISVGPathSegList_replaceItem(This,newItem,index,ppResult) (This)->lpVtbl->replaceItem(This,newItem,index,ppResult)
#define ISVGPathSegList_removeItem(This,index,ppResult) (This)->lpVtbl->removeItem(This,index,ppResult)
#define ISVGPathSegList_appendItem(This,newItem,ppResult) (This)->lpVtbl->appendItem(This,newItem,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathSegList_QueryInterface(ISVGPathSegList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathSegList_AddRef(ISVGPathSegList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathSegList_Release(ISVGPathSegList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathSegList_GetTypeInfoCount(ISVGPathSegList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathSegList_GetTypeInfo(ISVGPathSegList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathSegList_GetIDsOfNames(ISVGPathSegList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathSegList_Invoke(ISVGPathSegList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathSegList methods ***/
static inline HRESULT ISVGPathSegList_put_numberOfItems(ISVGPathSegList* This,LONG v) {
    return This->lpVtbl->put_numberOfItems(This,v);
}
static inline HRESULT ISVGPathSegList_get_numberOfItems(ISVGPathSegList* This,LONG *p) {
    return This->lpVtbl->get_numberOfItems(This,p);
}
static inline HRESULT ISVGPathSegList_clear(ISVGPathSegList* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT ISVGPathSegList_initialize(ISVGPathSegList* This,ISVGPathSeg *newItem,ISVGPathSeg **ppResult) {
    return This->lpVtbl->initialize(This,newItem,ppResult);
}
static inline HRESULT ISVGPathSegList_getItem(ISVGPathSegList* This,LONG index,ISVGPathSeg **ppResult) {
    return This->lpVtbl->getItem(This,index,ppResult);
}
static inline HRESULT ISVGPathSegList_insertItemBefore(ISVGPathSegList* This,ISVGPathSeg *newItem,LONG index,ISVGPathSeg **ppResult) {
    return This->lpVtbl->insertItemBefore(This,newItem,index,ppResult);
}
static inline HRESULT ISVGPathSegList_replaceItem(ISVGPathSegList* This,ISVGPathSeg *newItem,LONG index,ISVGPathSeg **ppResult) {
    return This->lpVtbl->replaceItem(This,newItem,index,ppResult);
}
static inline HRESULT ISVGPathSegList_removeItem(ISVGPathSegList* This,LONG index,ISVGPathSeg **ppResult) {
    return This->lpVtbl->removeItem(This,index,ppResult);
}
static inline HRESULT ISVGPathSegList_appendItem(ISVGPathSegList* This,ISVGPathSeg *newItem,ISVGPathSeg **ppResult) {
    return This->lpVtbl->appendItem(This,newItem,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGPathSegList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathSegList coclass
 */

DEFINE_GUID(CLSID_SVGPathSegList, 0x305105b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105b4-98b5-11cf-bb82-00aa00bdce0b") SVGPathSegList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathSegList, 0x305105b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathSegList;
#ifndef __ISVGMatrix_FWD_DEFINED__
#define __ISVGMatrix_FWD_DEFINED__
typedef interface ISVGMatrix ISVGMatrix;
#ifdef __cplusplus
interface ISVGMatrix;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGPoint interface
 */
#ifndef __ISVGPoint_INTERFACE_DEFINED__
#define __ISVGPoint_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPoint, 0x305104f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f4-98b5-11cf-bb82-00aa00bdce0b")
ISVGPoint : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE matrixTransform(
        ISVGMatrix *pMatrix,
        ISVGPoint **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPoint, 0x305104f4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPointVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPoint *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPoint *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPoint *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPoint *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPoint *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPoint *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPoint *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPoint methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGPoint *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGPoint *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGPoint *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGPoint *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *matrixTransform)(
        ISVGPoint *This,
        ISVGMatrix *pMatrix,
        ISVGPoint **ppResult);

    END_INTERFACE
} ISVGPointVtbl;

interface ISVGPoint {
    CONST_VTBL ISVGPointVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPoint_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPoint_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPoint_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPoint_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPoint_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPoint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPoint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPoint methods ***/
#define ISVGPoint_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGPoint_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGPoint_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGPoint_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGPoint_matrixTransform(This,pMatrix,ppResult) (This)->lpVtbl->matrixTransform(This,pMatrix,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPoint_QueryInterface(ISVGPoint* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPoint_AddRef(ISVGPoint* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPoint_Release(ISVGPoint* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPoint_GetTypeInfoCount(ISVGPoint* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPoint_GetTypeInfo(ISVGPoint* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPoint_GetIDsOfNames(ISVGPoint* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPoint_Invoke(ISVGPoint* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPoint methods ***/
static inline HRESULT ISVGPoint_put_x(ISVGPoint* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGPoint_get_x(ISVGPoint* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGPoint_put_y(ISVGPoint* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGPoint_get_y(ISVGPoint* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGPoint_matrixTransform(ISVGPoint* This,ISVGMatrix *pMatrix,ISVGPoint **ppResult) {
    return This->lpVtbl->matrixTransform(This,pMatrix,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGPoint_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPoint coclass
 */

DEFINE_GUID(CLSID_SVGPoint, 0x305105ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105ba-98b5-11cf-bb82-00aa00bdce0b") SVGPoint;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPoint, 0x305105ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPoint;
#ifndef __ISVGPoint_FWD_DEFINED__
#define __ISVGPoint_FWD_DEFINED__
typedef interface ISVGPoint ISVGPoint;
#ifdef __cplusplus
interface ISVGPoint;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGPointList interface
 */
#ifndef __ISVGPointList_INTERFACE_DEFINED__
#define __ISVGPointList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPointList, 0x305104f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f5-98b5-11cf-bb82-00aa00bdce0b")
ISVGPointList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_numberOfItems(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_numberOfItems(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE initialize(
        ISVGPoint *pNewItem,
        ISVGPoint **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getItem(
        LONG index,
        ISVGPoint **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertItemBefore(
        ISVGPoint *pNewItem,
        LONG index,
        ISVGPoint **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceItem(
        ISVGPoint *pNewItem,
        LONG index,
        ISVGPoint **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeItem(
        LONG index,
        ISVGPoint **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItem(
        ISVGPoint *pNewItem,
        ISVGPoint **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPointList, 0x305104f5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPointListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPointList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPointList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPointList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPointList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPointList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPointList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPointList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPointList methods ***/
    HRESULT (STDMETHODCALLTYPE *put_numberOfItems)(
        ISVGPointList *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_numberOfItems)(
        ISVGPointList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *clear)(
        ISVGPointList *This);

    HRESULT (STDMETHODCALLTYPE *initialize)(
        ISVGPointList *This,
        ISVGPoint *pNewItem,
        ISVGPoint **ppResult);

    HRESULT (STDMETHODCALLTYPE *getItem)(
        ISVGPointList *This,
        LONG index,
        ISVGPoint **ppResult);

    HRESULT (STDMETHODCALLTYPE *insertItemBefore)(
        ISVGPointList *This,
        ISVGPoint *pNewItem,
        LONG index,
        ISVGPoint **ppResult);

    HRESULT (STDMETHODCALLTYPE *replaceItem)(
        ISVGPointList *This,
        ISVGPoint *pNewItem,
        LONG index,
        ISVGPoint **ppResult);

    HRESULT (STDMETHODCALLTYPE *removeItem)(
        ISVGPointList *This,
        LONG index,
        ISVGPoint **ppResult);

    HRESULT (STDMETHODCALLTYPE *appendItem)(
        ISVGPointList *This,
        ISVGPoint *pNewItem,
        ISVGPoint **ppResult);

    END_INTERFACE
} ISVGPointListVtbl;

interface ISVGPointList {
    CONST_VTBL ISVGPointListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPointList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPointList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPointList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPointList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPointList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPointList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPointList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPointList methods ***/
#define ISVGPointList_put_numberOfItems(This,v) (This)->lpVtbl->put_numberOfItems(This,v)
#define ISVGPointList_get_numberOfItems(This,p) (This)->lpVtbl->get_numberOfItems(This,p)
#define ISVGPointList_clear(This) (This)->lpVtbl->clear(This)
#define ISVGPointList_initialize(This,pNewItem,ppResult) (This)->lpVtbl->initialize(This,pNewItem,ppResult)
#define ISVGPointList_getItem(This,index,ppResult) (This)->lpVtbl->getItem(This,index,ppResult)
#define ISVGPointList_insertItemBefore(This,pNewItem,index,ppResult) (This)->lpVtbl->insertItemBefore(This,pNewItem,index,ppResult)
#define ISVGPointList_replaceItem(This,pNewItem,index,ppResult) (This)->lpVtbl->replaceItem(This,pNewItem,index,ppResult)
#define ISVGPointList_removeItem(This,index,ppResult) (This)->lpVtbl->removeItem(This,index,ppResult)
#define ISVGPointList_appendItem(This,pNewItem,ppResult) (This)->lpVtbl->appendItem(This,pNewItem,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPointList_QueryInterface(ISVGPointList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPointList_AddRef(ISVGPointList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPointList_Release(ISVGPointList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPointList_GetTypeInfoCount(ISVGPointList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPointList_GetTypeInfo(ISVGPointList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPointList_GetIDsOfNames(ISVGPointList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPointList_Invoke(ISVGPointList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPointList methods ***/
static inline HRESULT ISVGPointList_put_numberOfItems(ISVGPointList* This,LONG v) {
    return This->lpVtbl->put_numberOfItems(This,v);
}
static inline HRESULT ISVGPointList_get_numberOfItems(ISVGPointList* This,LONG *p) {
    return This->lpVtbl->get_numberOfItems(This,p);
}
static inline HRESULT ISVGPointList_clear(ISVGPointList* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT ISVGPointList_initialize(ISVGPointList* This,ISVGPoint *pNewItem,ISVGPoint **ppResult) {
    return This->lpVtbl->initialize(This,pNewItem,ppResult);
}
static inline HRESULT ISVGPointList_getItem(ISVGPointList* This,LONG index,ISVGPoint **ppResult) {
    return This->lpVtbl->getItem(This,index,ppResult);
}
static inline HRESULT ISVGPointList_insertItemBefore(ISVGPointList* This,ISVGPoint *pNewItem,LONG index,ISVGPoint **ppResult) {
    return This->lpVtbl->insertItemBefore(This,pNewItem,index,ppResult);
}
static inline HRESULT ISVGPointList_replaceItem(ISVGPointList* This,ISVGPoint *pNewItem,LONG index,ISVGPoint **ppResult) {
    return This->lpVtbl->replaceItem(This,pNewItem,index,ppResult);
}
static inline HRESULT ISVGPointList_removeItem(ISVGPointList* This,LONG index,ISVGPoint **ppResult) {
    return This->lpVtbl->removeItem(This,index,ppResult);
}
static inline HRESULT ISVGPointList_appendItem(ISVGPointList* This,ISVGPoint *pNewItem,ISVGPoint **ppResult) {
    return This->lpVtbl->appendItem(This,pNewItem,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGPointList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPointList coclass
 */

DEFINE_GUID(CLSID_SVGPointList, 0x305105b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105b9-98b5-11cf-bb82-00aa00bdce0b") SVGPointList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPointList, 0x305105b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPointList;
/*****************************************************************************
 * ISVGRect interface
 */
#ifndef __ISVGRect_INTERFACE_DEFINED__
#define __ISVGRect_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGRect, 0x305104d7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104d7-98b5-11cf-bb82-00aa00bdce0b")
ISVGRect : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_x(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_width(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        float *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGRect, 0x305104d7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGRectVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGRect *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGRect *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGRect *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGRect *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGRect *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGRect *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGRect *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGRect methods ***/
    HRESULT (STDMETHODCALLTYPE *put_x)(
        ISVGRect *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGRect *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        ISVGRect *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGRect *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_width)(
        ISVGRect *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        ISVGRect *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        ISVGRect *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ISVGRect *This,
        float *p);

    END_INTERFACE
} ISVGRectVtbl;

interface ISVGRect {
    CONST_VTBL ISVGRectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGRect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGRect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGRect_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGRect_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGRect_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGRect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGRect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGRect methods ***/
#define ISVGRect_put_x(This,v) (This)->lpVtbl->put_x(This,v)
#define ISVGRect_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGRect_put_y(This,v) (This)->lpVtbl->put_y(This,v)
#define ISVGRect_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGRect_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define ISVGRect_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ISVGRect_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define ISVGRect_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGRect_QueryInterface(ISVGRect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGRect_AddRef(ISVGRect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGRect_Release(ISVGRect* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGRect_GetTypeInfoCount(ISVGRect* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGRect_GetTypeInfo(ISVGRect* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGRect_GetIDsOfNames(ISVGRect* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGRect_Invoke(ISVGRect* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGRect methods ***/
static inline HRESULT ISVGRect_put_x(ISVGRect* This,float v) {
    return This->lpVtbl->put_x(This,v);
}
static inline HRESULT ISVGRect_get_x(ISVGRect* This,float *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGRect_put_y(ISVGRect* This,float v) {
    return This->lpVtbl->put_y(This,v);
}
static inline HRESULT ISVGRect_get_y(ISVGRect* This,float *p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGRect_put_width(ISVGRect* This,float v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT ISVGRect_get_width(ISVGRect* This,float *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ISVGRect_put_height(ISVGRect* This,float v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT ISVGRect_get_height(ISVGRect* This,float *p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGRect_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGRect coclass
 */

DEFINE_GUID(CLSID_SVGRect, 0x30510583, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510583-98b5-11cf-bb82-00aa00bdce0b") SVGRect;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGRect, 0x30510583, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGRect;
/*****************************************************************************
 * ISVGStringList interface
 */
#ifndef __ISVGStringList_INTERFACE_DEFINED__
#define __ISVGStringList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGStringList, 0x305104c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c8-98b5-11cf-bb82-00aa00bdce0b")
ISVGStringList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_numberOfItems(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_numberOfItems(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE initialize(
        BSTR newItem,
        BSTR *ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getItem(
        LONG index,
        BSTR *ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertItemBefore(
        BSTR newItem,
        LONG index,
        BSTR *ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceItem(
        BSTR newItem,
        LONG index,
        BSTR *ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeItem(
        LONG index,
        BSTR *ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItem(
        BSTR newItem,
        BSTR *ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGStringList, 0x305104c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGStringListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGStringList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGStringList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGStringList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGStringList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGStringList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGStringList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGStringList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGStringList methods ***/
    HRESULT (STDMETHODCALLTYPE *put_numberOfItems)(
        ISVGStringList *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_numberOfItems)(
        ISVGStringList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *clear)(
        ISVGStringList *This);

    HRESULT (STDMETHODCALLTYPE *initialize)(
        ISVGStringList *This,
        BSTR newItem,
        BSTR *ppResult);

    HRESULT (STDMETHODCALLTYPE *getItem)(
        ISVGStringList *This,
        LONG index,
        BSTR *ppResult);

    HRESULT (STDMETHODCALLTYPE *insertItemBefore)(
        ISVGStringList *This,
        BSTR newItem,
        LONG index,
        BSTR *ppResult);

    HRESULT (STDMETHODCALLTYPE *replaceItem)(
        ISVGStringList *This,
        BSTR newItem,
        LONG index,
        BSTR *ppResult);

    HRESULT (STDMETHODCALLTYPE *removeItem)(
        ISVGStringList *This,
        LONG index,
        BSTR *ppResult);

    HRESULT (STDMETHODCALLTYPE *appendItem)(
        ISVGStringList *This,
        BSTR newItem,
        BSTR *ppResult);

    END_INTERFACE
} ISVGStringListVtbl;

interface ISVGStringList {
    CONST_VTBL ISVGStringListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGStringList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGStringList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGStringList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGStringList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGStringList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGStringList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGStringList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGStringList methods ***/
#define ISVGStringList_put_numberOfItems(This,v) (This)->lpVtbl->put_numberOfItems(This,v)
#define ISVGStringList_get_numberOfItems(This,p) (This)->lpVtbl->get_numberOfItems(This,p)
#define ISVGStringList_clear(This) (This)->lpVtbl->clear(This)
#define ISVGStringList_initialize(This,newItem,ppResult) (This)->lpVtbl->initialize(This,newItem,ppResult)
#define ISVGStringList_getItem(This,index,ppResult) (This)->lpVtbl->getItem(This,index,ppResult)
#define ISVGStringList_insertItemBefore(This,newItem,index,ppResult) (This)->lpVtbl->insertItemBefore(This,newItem,index,ppResult)
#define ISVGStringList_replaceItem(This,newItem,index,ppResult) (This)->lpVtbl->replaceItem(This,newItem,index,ppResult)
#define ISVGStringList_removeItem(This,index,ppResult) (This)->lpVtbl->removeItem(This,index,ppResult)
#define ISVGStringList_appendItem(This,newItem,ppResult) (This)->lpVtbl->appendItem(This,newItem,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGStringList_QueryInterface(ISVGStringList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGStringList_AddRef(ISVGStringList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGStringList_Release(ISVGStringList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGStringList_GetTypeInfoCount(ISVGStringList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGStringList_GetTypeInfo(ISVGStringList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGStringList_GetIDsOfNames(ISVGStringList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGStringList_Invoke(ISVGStringList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGStringList methods ***/
static inline HRESULT ISVGStringList_put_numberOfItems(ISVGStringList* This,LONG v) {
    return This->lpVtbl->put_numberOfItems(This,v);
}
static inline HRESULT ISVGStringList_get_numberOfItems(ISVGStringList* This,LONG *p) {
    return This->lpVtbl->get_numberOfItems(This,p);
}
static inline HRESULT ISVGStringList_clear(ISVGStringList* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT ISVGStringList_initialize(ISVGStringList* This,BSTR newItem,BSTR *ppResult) {
    return This->lpVtbl->initialize(This,newItem,ppResult);
}
static inline HRESULT ISVGStringList_getItem(ISVGStringList* This,LONG index,BSTR *ppResult) {
    return This->lpVtbl->getItem(This,index,ppResult);
}
static inline HRESULT ISVGStringList_insertItemBefore(ISVGStringList* This,BSTR newItem,LONG index,BSTR *ppResult) {
    return This->lpVtbl->insertItemBefore(This,newItem,index,ppResult);
}
static inline HRESULT ISVGStringList_replaceItem(ISVGStringList* This,BSTR newItem,LONG index,BSTR *ppResult) {
    return This->lpVtbl->replaceItem(This,newItem,index,ppResult);
}
static inline HRESULT ISVGStringList_removeItem(ISVGStringList* This,LONG index,BSTR *ppResult) {
    return This->lpVtbl->removeItem(This,index,ppResult);
}
static inline HRESULT ISVGStringList_appendItem(ISVGStringList* This,BSTR newItem,BSTR *ppResult) {
    return This->lpVtbl->appendItem(This,newItem,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGStringList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGStringList coclass
 */

DEFINE_GUID(CLSID_SVGStringList, 0x3051058d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051058d-98b5-11cf-bb82-00aa00bdce0b") SVGStringList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGStringList, 0x3051058d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGStringList;
/*****************************************************************************
 * ISVGViewSpec interface
 */
#ifndef __ISVGViewSpec_INTERFACE_DEFINED__
#define __ISVGViewSpec_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGViewSpec, 0x305104e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e2-98b5-11cf-bb82-00aa00bdce0b")
ISVGViewSpec : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGViewSpec, 0x305104e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGViewSpecVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGViewSpec *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGViewSpec *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGViewSpec *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGViewSpec *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGViewSpec *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGViewSpec *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGViewSpec *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGViewSpecVtbl;

interface ISVGViewSpec {
    CONST_VTBL ISVGViewSpecVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGViewSpec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGViewSpec_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGViewSpec_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGViewSpec_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGViewSpec_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGViewSpec_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGViewSpec_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGViewSpec_QueryInterface(ISVGViewSpec* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGViewSpec_AddRef(ISVGViewSpec* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGViewSpec_Release(ISVGViewSpec* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGViewSpec_GetTypeInfoCount(ISVGViewSpec* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGViewSpec_GetTypeInfo(ISVGViewSpec* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGViewSpec_GetIDsOfNames(ISVGViewSpec* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGViewSpec_Invoke(ISVGViewSpec* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGViewSpec_INTERFACE_DEFINED__ */

typedef enum _svgTransformType {
    SVG_TRANSFORM_UNKNOWN = 0,
    SVG_TRANSFORM_MATRIX = 1,
    SVG_TRANSFORM_TRANSLATE = 2,
    SVG_TRANSFORM_SCALE = 3,
    SVG_TRANSFORM_ROTATE = 4,
    SVG_TRANSFORM_SKEWX = 5,
    SVG_TRANSFORM_SKEWY = 6,
    svgTransformType_Max = 0x7fffffff
} svgTransformType;
#ifndef __ISVGMatrix_FWD_DEFINED__
#define __ISVGMatrix_FWD_DEFINED__
typedef interface ISVGMatrix ISVGMatrix;
#ifdef __cplusplus
interface ISVGMatrix;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGTransform interface
 */
#ifndef __ISVGTransform_INTERFACE_DEFINED__
#define __ISVGTransform_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTransform, 0x305104f7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f7-98b5-11cf-bb82-00aa00bdce0b")
ISVGTransform : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_type(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_matrix(
        ISVGMatrix *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_matrix(
        ISVGMatrix **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_angle(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_angle(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setMatrix(
        ISVGMatrix *matrix) = 0;

    virtual HRESULT STDMETHODCALLTYPE setTranslate(
        float tx,
        float ty) = 0;

    virtual HRESULT STDMETHODCALLTYPE setScale(
        float sx,
        float sy) = 0;

    virtual HRESULT STDMETHODCALLTYPE setRotate(
        float angle,
        float cx,
        float cy) = 0;

    virtual HRESULT STDMETHODCALLTYPE setSkewX(
        float angle) = 0;

    virtual HRESULT STDMETHODCALLTYPE setSkewY(
        float angle) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTransform, 0x305104f7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTransformVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTransform *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTransform *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTransform *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTransform *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTransform *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTransform *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTransform *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGTransform methods ***/
    HRESULT (STDMETHODCALLTYPE *put_type)(
        ISVGTransform *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        ISVGTransform *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *putref_matrix)(
        ISVGTransform *This,
        ISVGMatrix *v);

    HRESULT (STDMETHODCALLTYPE *get_matrix)(
        ISVGTransform *This,
        ISVGMatrix **p);

    HRESULT (STDMETHODCALLTYPE *put_angle)(
        ISVGTransform *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_angle)(
        ISVGTransform *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *setMatrix)(
        ISVGTransform *This,
        ISVGMatrix *matrix);

    HRESULT (STDMETHODCALLTYPE *setTranslate)(
        ISVGTransform *This,
        float tx,
        float ty);

    HRESULT (STDMETHODCALLTYPE *setScale)(
        ISVGTransform *This,
        float sx,
        float sy);

    HRESULT (STDMETHODCALLTYPE *setRotate)(
        ISVGTransform *This,
        float angle,
        float cx,
        float cy);

    HRESULT (STDMETHODCALLTYPE *setSkewX)(
        ISVGTransform *This,
        float angle);

    HRESULT (STDMETHODCALLTYPE *setSkewY)(
        ISVGTransform *This,
        float angle);

    END_INTERFACE
} ISVGTransformVtbl;

interface ISVGTransform {
    CONST_VTBL ISVGTransformVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTransform_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTransform_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTransform_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTransform_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTransform_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGTransform methods ***/
#define ISVGTransform_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define ISVGTransform_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define ISVGTransform_putref_matrix(This,v) (This)->lpVtbl->putref_matrix(This,v)
#define ISVGTransform_get_matrix(This,p) (This)->lpVtbl->get_matrix(This,p)
#define ISVGTransform_put_angle(This,v) (This)->lpVtbl->put_angle(This,v)
#define ISVGTransform_get_angle(This,p) (This)->lpVtbl->get_angle(This,p)
#define ISVGTransform_setMatrix(This,matrix) (This)->lpVtbl->setMatrix(This,matrix)
#define ISVGTransform_setTranslate(This,tx,ty) (This)->lpVtbl->setTranslate(This,tx,ty)
#define ISVGTransform_setScale(This,sx,sy) (This)->lpVtbl->setScale(This,sx,sy)
#define ISVGTransform_setRotate(This,angle,cx,cy) (This)->lpVtbl->setRotate(This,angle,cx,cy)
#define ISVGTransform_setSkewX(This,angle) (This)->lpVtbl->setSkewX(This,angle)
#define ISVGTransform_setSkewY(This,angle) (This)->lpVtbl->setSkewY(This,angle)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTransform_QueryInterface(ISVGTransform* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTransform_AddRef(ISVGTransform* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTransform_Release(ISVGTransform* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTransform_GetTypeInfoCount(ISVGTransform* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTransform_GetTypeInfo(ISVGTransform* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTransform_GetIDsOfNames(ISVGTransform* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTransform_Invoke(ISVGTransform* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGTransform methods ***/
static inline HRESULT ISVGTransform_put_type(ISVGTransform* This,short v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT ISVGTransform_get_type(ISVGTransform* This,short *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT ISVGTransform_putref_matrix(ISVGTransform* This,ISVGMatrix *v) {
    return This->lpVtbl->putref_matrix(This,v);
}
static inline HRESULT ISVGTransform_get_matrix(ISVGTransform* This,ISVGMatrix **p) {
    return This->lpVtbl->get_matrix(This,p);
}
static inline HRESULT ISVGTransform_put_angle(ISVGTransform* This,float v) {
    return This->lpVtbl->put_angle(This,v);
}
static inline HRESULT ISVGTransform_get_angle(ISVGTransform* This,float *p) {
    return This->lpVtbl->get_angle(This,p);
}
static inline HRESULT ISVGTransform_setMatrix(ISVGTransform* This,ISVGMatrix *matrix) {
    return This->lpVtbl->setMatrix(This,matrix);
}
static inline HRESULT ISVGTransform_setTranslate(ISVGTransform* This,float tx,float ty) {
    return This->lpVtbl->setTranslate(This,tx,ty);
}
static inline HRESULT ISVGTransform_setScale(ISVGTransform* This,float sx,float sy) {
    return This->lpVtbl->setScale(This,sx,sy);
}
static inline HRESULT ISVGTransform_setRotate(ISVGTransform* This,float angle,float cx,float cy) {
    return This->lpVtbl->setRotate(This,angle,cx,cy);
}
static inline HRESULT ISVGTransform_setSkewX(ISVGTransform* This,float angle) {
    return This->lpVtbl->setSkewX(This,angle);
}
static inline HRESULT ISVGTransform_setSkewY(ISVGTransform* This,float angle) {
    return This->lpVtbl->setSkewY(This,angle);
}
#endif
#endif

#endif


#endif  /* __ISVGTransform_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTransform coclass
 */

DEFINE_GUID(CLSID_SVGTransform, 0x305105af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105af-98b5-11cf-bb82-00aa00bdce0b") SVGTransform;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTransform, 0x305105af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTransform;
#ifndef __IHTMLElement_FWD_DEFINED__
#define __IHTMLElement_FWD_DEFINED__
typedef interface IHTMLElement IHTMLElement;
#ifdef __cplusplus
interface IHTMLElement;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGSVGElement interface
 */
#ifndef __ISVGSVGElement_INTERFACE_DEFINED__
#define __ISVGSVGElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGSVGElement, 0x305104e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e7-98b5-11cf-bb82-00aa00bdce0b")
ISVGSVGElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_x(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_width(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_height(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_contentScriptType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_contentScriptType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_contentStyleType(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_contentStyleType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_viewport(
        ISVGRect *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_viewport(
        ISVGRect **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelUnitToMillimeterX(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelUnitToMillimeterX(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pixelUnitToMillimeterY(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pixelUnitToMillimeterY(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_screenPixelToMillimeterX(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenPixelToMillimeterX(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_screenPixelToMillimeterY(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_screenPixelToMillimeterY(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_useCurrentView(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_useCurrentView(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_currentView(
        ISVGViewSpec *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentView(
        ISVGViewSpec **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_currentScale(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentScale(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_currentTranslate(
        ISVGPoint *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentTranslate(
        ISVGPoint **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE suspendRedraw(
        ULONG maxWaitMilliseconds,
        ULONG *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE unsuspendRedraw(
        ULONG suspendHandeID) = 0;

    virtual HRESULT STDMETHODCALLTYPE unsuspendRedrawAll(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE forceRedraw(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE pauseAnimations(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE unpauseAnimations(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE animationsPaused(
        VARIANT_BOOL *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getCurrentTime(
        float *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE setCurrentTime(
        float seconds) = 0;

    virtual HRESULT STDMETHODCALLTYPE getIntersectionList(
        ISVGRect *rect,
        ISVGElement *referenceElement,
        VARIANT *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getEnclosureList(
        ISVGRect *rect,
        ISVGElement *referenceElement,
        VARIANT *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE checkIntersection(
        ISVGElement *element,
        ISVGRect *rect,
        VARIANT_BOOL *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE checkEnclosure(
        ISVGElement *element,
        ISVGRect *rect,
        VARIANT_BOOL *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE deselectAll(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGNumber(
        ISVGNumber **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGLength(
        ISVGLength **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGAngle(
        ISVGAngle **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPoint(
        ISVGPoint **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGMatrix(
        ISVGMatrix **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGRect(
        ISVGRect **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGTransform(
        ISVGTransform **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGTransformFromMatrix(
        ISVGMatrix *matrix,
        ISVGTransform **pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getElementById(
        BSTR elementId,
        IHTMLElement **pResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGSVGElement, 0x305104e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGSVGElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGSVGElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGSVGElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGSVGElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGSVGElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGSVGElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGSVGElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGSVGElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGSVGElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_x)(
        ISVGSVGElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGSVGElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y)(
        ISVGSVGElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGSVGElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_width)(
        ISVGSVGElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        ISVGSVGElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_height)(
        ISVGSVGElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ISVGSVGElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *put_contentScriptType)(
        ISVGSVGElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_contentScriptType)(
        ISVGSVGElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_contentStyleType)(
        ISVGSVGElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_contentStyleType)(
        ISVGSVGElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *putref_viewport)(
        ISVGSVGElement *This,
        ISVGRect *v);

    HRESULT (STDMETHODCALLTYPE *get_viewport)(
        ISVGSVGElement *This,
        ISVGRect **p);

    HRESULT (STDMETHODCALLTYPE *put_pixelUnitToMillimeterX)(
        ISVGSVGElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_pixelUnitToMillimeterX)(
        ISVGSVGElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_pixelUnitToMillimeterY)(
        ISVGSVGElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_pixelUnitToMillimeterY)(
        ISVGSVGElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_screenPixelToMillimeterX)(
        ISVGSVGElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_screenPixelToMillimeterX)(
        ISVGSVGElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_screenPixelToMillimeterY)(
        ISVGSVGElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_screenPixelToMillimeterY)(
        ISVGSVGElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_useCurrentView)(
        ISVGSVGElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_useCurrentView)(
        ISVGSVGElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *putref_currentView)(
        ISVGSVGElement *This,
        ISVGViewSpec *v);

    HRESULT (STDMETHODCALLTYPE *get_currentView)(
        ISVGSVGElement *This,
        ISVGViewSpec **p);

    HRESULT (STDMETHODCALLTYPE *put_currentScale)(
        ISVGSVGElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_currentScale)(
        ISVGSVGElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *putref_currentTranslate)(
        ISVGSVGElement *This,
        ISVGPoint *v);

    HRESULT (STDMETHODCALLTYPE *get_currentTranslate)(
        ISVGSVGElement *This,
        ISVGPoint **p);

    HRESULT (STDMETHODCALLTYPE *suspendRedraw)(
        ISVGSVGElement *This,
        ULONG maxWaitMilliseconds,
        ULONG *pResult);

    HRESULT (STDMETHODCALLTYPE *unsuspendRedraw)(
        ISVGSVGElement *This,
        ULONG suspendHandeID);

    HRESULT (STDMETHODCALLTYPE *unsuspendRedrawAll)(
        ISVGSVGElement *This);

    HRESULT (STDMETHODCALLTYPE *forceRedraw)(
        ISVGSVGElement *This);

    HRESULT (STDMETHODCALLTYPE *pauseAnimations)(
        ISVGSVGElement *This);

    HRESULT (STDMETHODCALLTYPE *unpauseAnimations)(
        ISVGSVGElement *This);

    HRESULT (STDMETHODCALLTYPE *animationsPaused)(
        ISVGSVGElement *This,
        VARIANT_BOOL *pResult);

    HRESULT (STDMETHODCALLTYPE *getCurrentTime)(
        ISVGSVGElement *This,
        float *pResult);

    HRESULT (STDMETHODCALLTYPE *setCurrentTime)(
        ISVGSVGElement *This,
        float seconds);

    HRESULT (STDMETHODCALLTYPE *getIntersectionList)(
        ISVGSVGElement *This,
        ISVGRect *rect,
        ISVGElement *referenceElement,
        VARIANT *pResult);

    HRESULT (STDMETHODCALLTYPE *getEnclosureList)(
        ISVGSVGElement *This,
        ISVGRect *rect,
        ISVGElement *referenceElement,
        VARIANT *pResult);

    HRESULT (STDMETHODCALLTYPE *checkIntersection)(
        ISVGSVGElement *This,
        ISVGElement *element,
        ISVGRect *rect,
        VARIANT_BOOL *pResult);

    HRESULT (STDMETHODCALLTYPE *checkEnclosure)(
        ISVGSVGElement *This,
        ISVGElement *element,
        ISVGRect *rect,
        VARIANT_BOOL *pResult);

    HRESULT (STDMETHODCALLTYPE *deselectAll)(
        ISVGSVGElement *This);

    HRESULT (STDMETHODCALLTYPE *createSVGNumber)(
        ISVGSVGElement *This,
        ISVGNumber **pResult);

    HRESULT (STDMETHODCALLTYPE *createSVGLength)(
        ISVGSVGElement *This,
        ISVGLength **pResult);

    HRESULT (STDMETHODCALLTYPE *createSVGAngle)(
        ISVGSVGElement *This,
        ISVGAngle **pResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPoint)(
        ISVGSVGElement *This,
        ISVGPoint **pResult);

    HRESULT (STDMETHODCALLTYPE *createSVGMatrix)(
        ISVGSVGElement *This,
        ISVGMatrix **pResult);

    HRESULT (STDMETHODCALLTYPE *createSVGRect)(
        ISVGSVGElement *This,
        ISVGRect **pResult);

    HRESULT (STDMETHODCALLTYPE *createSVGTransform)(
        ISVGSVGElement *This,
        ISVGTransform **pResult);

    HRESULT (STDMETHODCALLTYPE *createSVGTransformFromMatrix)(
        ISVGSVGElement *This,
        ISVGMatrix *matrix,
        ISVGTransform **pResult);

    HRESULT (STDMETHODCALLTYPE *getElementById)(
        ISVGSVGElement *This,
        BSTR elementId,
        IHTMLElement **pResult);

    END_INTERFACE
} ISVGSVGElementVtbl;

interface ISVGSVGElement {
    CONST_VTBL ISVGSVGElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGSVGElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGSVGElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGSVGElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGSVGElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGSVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGSVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGSVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGSVGElement methods ***/
#define ISVGSVGElement_putref_x(This,v) (This)->lpVtbl->putref_x(This,v)
#define ISVGSVGElement_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGSVGElement_putref_y(This,v) (This)->lpVtbl->putref_y(This,v)
#define ISVGSVGElement_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGSVGElement_putref_width(This,v) (This)->lpVtbl->putref_width(This,v)
#define ISVGSVGElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ISVGSVGElement_putref_height(This,v) (This)->lpVtbl->putref_height(This,v)
#define ISVGSVGElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define ISVGSVGElement_put_contentScriptType(This,v) (This)->lpVtbl->put_contentScriptType(This,v)
#define ISVGSVGElement_get_contentScriptType(This,p) (This)->lpVtbl->get_contentScriptType(This,p)
#define ISVGSVGElement_put_contentStyleType(This,v) (This)->lpVtbl->put_contentStyleType(This,v)
#define ISVGSVGElement_get_contentStyleType(This,p) (This)->lpVtbl->get_contentStyleType(This,p)
#define ISVGSVGElement_putref_viewport(This,v) (This)->lpVtbl->putref_viewport(This,v)
#define ISVGSVGElement_get_viewport(This,p) (This)->lpVtbl->get_viewport(This,p)
#define ISVGSVGElement_put_pixelUnitToMillimeterX(This,v) (This)->lpVtbl->put_pixelUnitToMillimeterX(This,v)
#define ISVGSVGElement_get_pixelUnitToMillimeterX(This,p) (This)->lpVtbl->get_pixelUnitToMillimeterX(This,p)
#define ISVGSVGElement_put_pixelUnitToMillimeterY(This,v) (This)->lpVtbl->put_pixelUnitToMillimeterY(This,v)
#define ISVGSVGElement_get_pixelUnitToMillimeterY(This,p) (This)->lpVtbl->get_pixelUnitToMillimeterY(This,p)
#define ISVGSVGElement_put_screenPixelToMillimeterX(This,v) (This)->lpVtbl->put_screenPixelToMillimeterX(This,v)
#define ISVGSVGElement_get_screenPixelToMillimeterX(This,p) (This)->lpVtbl->get_screenPixelToMillimeterX(This,p)
#define ISVGSVGElement_put_screenPixelToMillimeterY(This,v) (This)->lpVtbl->put_screenPixelToMillimeterY(This,v)
#define ISVGSVGElement_get_screenPixelToMillimeterY(This,p) (This)->lpVtbl->get_screenPixelToMillimeterY(This,p)
#define ISVGSVGElement_put_useCurrentView(This,v) (This)->lpVtbl->put_useCurrentView(This,v)
#define ISVGSVGElement_get_useCurrentView(This,p) (This)->lpVtbl->get_useCurrentView(This,p)
#define ISVGSVGElement_putref_currentView(This,v) (This)->lpVtbl->putref_currentView(This,v)
#define ISVGSVGElement_get_currentView(This,p) (This)->lpVtbl->get_currentView(This,p)
#define ISVGSVGElement_put_currentScale(This,v) (This)->lpVtbl->put_currentScale(This,v)
#define ISVGSVGElement_get_currentScale(This,p) (This)->lpVtbl->get_currentScale(This,p)
#define ISVGSVGElement_putref_currentTranslate(This,v) (This)->lpVtbl->putref_currentTranslate(This,v)
#define ISVGSVGElement_get_currentTranslate(This,p) (This)->lpVtbl->get_currentTranslate(This,p)
#define ISVGSVGElement_suspendRedraw(This,maxWaitMilliseconds,pResult) (This)->lpVtbl->suspendRedraw(This,maxWaitMilliseconds,pResult)
#define ISVGSVGElement_unsuspendRedraw(This,suspendHandeID) (This)->lpVtbl->unsuspendRedraw(This,suspendHandeID)
#define ISVGSVGElement_unsuspendRedrawAll(This) (This)->lpVtbl->unsuspendRedrawAll(This)
#define ISVGSVGElement_forceRedraw(This) (This)->lpVtbl->forceRedraw(This)
#define ISVGSVGElement_pauseAnimations(This) (This)->lpVtbl->pauseAnimations(This)
#define ISVGSVGElement_unpauseAnimations(This) (This)->lpVtbl->unpauseAnimations(This)
#define ISVGSVGElement_animationsPaused(This,pResult) (This)->lpVtbl->animationsPaused(This,pResult)
#define ISVGSVGElement_getCurrentTime(This,pResult) (This)->lpVtbl->getCurrentTime(This,pResult)
#define ISVGSVGElement_setCurrentTime(This,seconds) (This)->lpVtbl->setCurrentTime(This,seconds)
#define ISVGSVGElement_getIntersectionList(This,rect,referenceElement,pResult) (This)->lpVtbl->getIntersectionList(This,rect,referenceElement,pResult)
#define ISVGSVGElement_getEnclosureList(This,rect,referenceElement,pResult) (This)->lpVtbl->getEnclosureList(This,rect,referenceElement,pResult)
#define ISVGSVGElement_checkIntersection(This,element,rect,pResult) (This)->lpVtbl->checkIntersection(This,element,rect,pResult)
#define ISVGSVGElement_checkEnclosure(This,element,rect,pResult) (This)->lpVtbl->checkEnclosure(This,element,rect,pResult)
#define ISVGSVGElement_deselectAll(This) (This)->lpVtbl->deselectAll(This)
#define ISVGSVGElement_createSVGNumber(This,pResult) (This)->lpVtbl->createSVGNumber(This,pResult)
#define ISVGSVGElement_createSVGLength(This,pResult) (This)->lpVtbl->createSVGLength(This,pResult)
#define ISVGSVGElement_createSVGAngle(This,pResult) (This)->lpVtbl->createSVGAngle(This,pResult)
#define ISVGSVGElement_createSVGPoint(This,pResult) (This)->lpVtbl->createSVGPoint(This,pResult)
#define ISVGSVGElement_createSVGMatrix(This,pResult) (This)->lpVtbl->createSVGMatrix(This,pResult)
#define ISVGSVGElement_createSVGRect(This,pResult) (This)->lpVtbl->createSVGRect(This,pResult)
#define ISVGSVGElement_createSVGTransform(This,pResult) (This)->lpVtbl->createSVGTransform(This,pResult)
#define ISVGSVGElement_createSVGTransformFromMatrix(This,matrix,pResult) (This)->lpVtbl->createSVGTransformFromMatrix(This,matrix,pResult)
#define ISVGSVGElement_getElementById(This,elementId,pResult) (This)->lpVtbl->getElementById(This,elementId,pResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGSVGElement_QueryInterface(ISVGSVGElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGSVGElement_AddRef(ISVGSVGElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGSVGElement_Release(ISVGSVGElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGSVGElement_GetTypeInfoCount(ISVGSVGElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGSVGElement_GetTypeInfo(ISVGSVGElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGSVGElement_GetIDsOfNames(ISVGSVGElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGSVGElement_Invoke(ISVGSVGElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGSVGElement methods ***/
static inline HRESULT ISVGSVGElement_putref_x(ISVGSVGElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x(This,v);
}
static inline HRESULT ISVGSVGElement_get_x(ISVGSVGElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGSVGElement_putref_y(ISVGSVGElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y(This,v);
}
static inline HRESULT ISVGSVGElement_get_y(ISVGSVGElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGSVGElement_putref_width(ISVGSVGElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_width(This,v);
}
static inline HRESULT ISVGSVGElement_get_width(ISVGSVGElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ISVGSVGElement_putref_height(ISVGSVGElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_height(This,v);
}
static inline HRESULT ISVGSVGElement_get_height(ISVGSVGElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT ISVGSVGElement_put_contentScriptType(ISVGSVGElement* This,BSTR v) {
    return This->lpVtbl->put_contentScriptType(This,v);
}
static inline HRESULT ISVGSVGElement_get_contentScriptType(ISVGSVGElement* This,BSTR *p) {
    return This->lpVtbl->get_contentScriptType(This,p);
}
static inline HRESULT ISVGSVGElement_put_contentStyleType(ISVGSVGElement* This,BSTR v) {
    return This->lpVtbl->put_contentStyleType(This,v);
}
static inline HRESULT ISVGSVGElement_get_contentStyleType(ISVGSVGElement* This,BSTR *p) {
    return This->lpVtbl->get_contentStyleType(This,p);
}
static inline HRESULT ISVGSVGElement_putref_viewport(ISVGSVGElement* This,ISVGRect *v) {
    return This->lpVtbl->putref_viewport(This,v);
}
static inline HRESULT ISVGSVGElement_get_viewport(ISVGSVGElement* This,ISVGRect **p) {
    return This->lpVtbl->get_viewport(This,p);
}
static inline HRESULT ISVGSVGElement_put_pixelUnitToMillimeterX(ISVGSVGElement* This,float v) {
    return This->lpVtbl->put_pixelUnitToMillimeterX(This,v);
}
static inline HRESULT ISVGSVGElement_get_pixelUnitToMillimeterX(ISVGSVGElement* This,float *p) {
    return This->lpVtbl->get_pixelUnitToMillimeterX(This,p);
}
static inline HRESULT ISVGSVGElement_put_pixelUnitToMillimeterY(ISVGSVGElement* This,float v) {
    return This->lpVtbl->put_pixelUnitToMillimeterY(This,v);
}
static inline HRESULT ISVGSVGElement_get_pixelUnitToMillimeterY(ISVGSVGElement* This,float *p) {
    return This->lpVtbl->get_pixelUnitToMillimeterY(This,p);
}
static inline HRESULT ISVGSVGElement_put_screenPixelToMillimeterX(ISVGSVGElement* This,float v) {
    return This->lpVtbl->put_screenPixelToMillimeterX(This,v);
}
static inline HRESULT ISVGSVGElement_get_screenPixelToMillimeterX(ISVGSVGElement* This,float *p) {
    return This->lpVtbl->get_screenPixelToMillimeterX(This,p);
}
static inline HRESULT ISVGSVGElement_put_screenPixelToMillimeterY(ISVGSVGElement* This,float v) {
    return This->lpVtbl->put_screenPixelToMillimeterY(This,v);
}
static inline HRESULT ISVGSVGElement_get_screenPixelToMillimeterY(ISVGSVGElement* This,float *p) {
    return This->lpVtbl->get_screenPixelToMillimeterY(This,p);
}
static inline HRESULT ISVGSVGElement_put_useCurrentView(ISVGSVGElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_useCurrentView(This,v);
}
static inline HRESULT ISVGSVGElement_get_useCurrentView(ISVGSVGElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_useCurrentView(This,p);
}
static inline HRESULT ISVGSVGElement_putref_currentView(ISVGSVGElement* This,ISVGViewSpec *v) {
    return This->lpVtbl->putref_currentView(This,v);
}
static inline HRESULT ISVGSVGElement_get_currentView(ISVGSVGElement* This,ISVGViewSpec **p) {
    return This->lpVtbl->get_currentView(This,p);
}
static inline HRESULT ISVGSVGElement_put_currentScale(ISVGSVGElement* This,float v) {
    return This->lpVtbl->put_currentScale(This,v);
}
static inline HRESULT ISVGSVGElement_get_currentScale(ISVGSVGElement* This,float *p) {
    return This->lpVtbl->get_currentScale(This,p);
}
static inline HRESULT ISVGSVGElement_putref_currentTranslate(ISVGSVGElement* This,ISVGPoint *v) {
    return This->lpVtbl->putref_currentTranslate(This,v);
}
static inline HRESULT ISVGSVGElement_get_currentTranslate(ISVGSVGElement* This,ISVGPoint **p) {
    return This->lpVtbl->get_currentTranslate(This,p);
}
static inline HRESULT ISVGSVGElement_suspendRedraw(ISVGSVGElement* This,ULONG maxWaitMilliseconds,ULONG *pResult) {
    return This->lpVtbl->suspendRedraw(This,maxWaitMilliseconds,pResult);
}
static inline HRESULT ISVGSVGElement_unsuspendRedraw(ISVGSVGElement* This,ULONG suspendHandeID) {
    return This->lpVtbl->unsuspendRedraw(This,suspendHandeID);
}
static inline HRESULT ISVGSVGElement_unsuspendRedrawAll(ISVGSVGElement* This) {
    return This->lpVtbl->unsuspendRedrawAll(This);
}
static inline HRESULT ISVGSVGElement_forceRedraw(ISVGSVGElement* This) {
    return This->lpVtbl->forceRedraw(This);
}
static inline HRESULT ISVGSVGElement_pauseAnimations(ISVGSVGElement* This) {
    return This->lpVtbl->pauseAnimations(This);
}
static inline HRESULT ISVGSVGElement_unpauseAnimations(ISVGSVGElement* This) {
    return This->lpVtbl->unpauseAnimations(This);
}
static inline HRESULT ISVGSVGElement_animationsPaused(ISVGSVGElement* This,VARIANT_BOOL *pResult) {
    return This->lpVtbl->animationsPaused(This,pResult);
}
static inline HRESULT ISVGSVGElement_getCurrentTime(ISVGSVGElement* This,float *pResult) {
    return This->lpVtbl->getCurrentTime(This,pResult);
}
static inline HRESULT ISVGSVGElement_setCurrentTime(ISVGSVGElement* This,float seconds) {
    return This->lpVtbl->setCurrentTime(This,seconds);
}
static inline HRESULT ISVGSVGElement_getIntersectionList(ISVGSVGElement* This,ISVGRect *rect,ISVGElement *referenceElement,VARIANT *pResult) {
    return This->lpVtbl->getIntersectionList(This,rect,referenceElement,pResult);
}
static inline HRESULT ISVGSVGElement_getEnclosureList(ISVGSVGElement* This,ISVGRect *rect,ISVGElement *referenceElement,VARIANT *pResult) {
    return This->lpVtbl->getEnclosureList(This,rect,referenceElement,pResult);
}
static inline HRESULT ISVGSVGElement_checkIntersection(ISVGSVGElement* This,ISVGElement *element,ISVGRect *rect,VARIANT_BOOL *pResult) {
    return This->lpVtbl->checkIntersection(This,element,rect,pResult);
}
static inline HRESULT ISVGSVGElement_checkEnclosure(ISVGSVGElement* This,ISVGElement *element,ISVGRect *rect,VARIANT_BOOL *pResult) {
    return This->lpVtbl->checkEnclosure(This,element,rect,pResult);
}
static inline HRESULT ISVGSVGElement_deselectAll(ISVGSVGElement* This) {
    return This->lpVtbl->deselectAll(This);
}
static inline HRESULT ISVGSVGElement_createSVGNumber(ISVGSVGElement* This,ISVGNumber **pResult) {
    return This->lpVtbl->createSVGNumber(This,pResult);
}
static inline HRESULT ISVGSVGElement_createSVGLength(ISVGSVGElement* This,ISVGLength **pResult) {
    return This->lpVtbl->createSVGLength(This,pResult);
}
static inline HRESULT ISVGSVGElement_createSVGAngle(ISVGSVGElement* This,ISVGAngle **pResult) {
    return This->lpVtbl->createSVGAngle(This,pResult);
}
static inline HRESULT ISVGSVGElement_createSVGPoint(ISVGSVGElement* This,ISVGPoint **pResult) {
    return This->lpVtbl->createSVGPoint(This,pResult);
}
static inline HRESULT ISVGSVGElement_createSVGMatrix(ISVGSVGElement* This,ISVGMatrix **pResult) {
    return This->lpVtbl->createSVGMatrix(This,pResult);
}
static inline HRESULT ISVGSVGElement_createSVGRect(ISVGSVGElement* This,ISVGRect **pResult) {
    return This->lpVtbl->createSVGRect(This,pResult);
}
static inline HRESULT ISVGSVGElement_createSVGTransform(ISVGSVGElement* This,ISVGTransform **pResult) {
    return This->lpVtbl->createSVGTransform(This,pResult);
}
static inline HRESULT ISVGSVGElement_createSVGTransformFromMatrix(ISVGSVGElement* This,ISVGMatrix *matrix,ISVGTransform **pResult) {
    return This->lpVtbl->createSVGTransformFromMatrix(This,matrix,pResult);
}
static inline HRESULT ISVGSVGElement_getElementById(ISVGSVGElement* This,BSTR elementId,IHTMLElement **pResult) {
    return This->lpVtbl->getElementById(This,elementId,pResult);
}
#endif
#endif

#endif


#endif  /* __ISVGSVGElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGSVGElement dispinterface
 */
#ifndef __DispSVGSVGElement_DISPINTERFACE_DEFINED__
#define __DispSVGSVGElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGSVGElement, 0x30590001, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590001-98b5-11cf-bb82-00aa00bdce0b")
DispSVGSVGElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGSVGElement, 0x30590001, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGSVGElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGSVGElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGSVGElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGSVGElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGSVGElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGSVGElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGSVGElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGSVGElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGSVGElementVtbl;

interface DispSVGSVGElement {
    CONST_VTBL DispSVGSVGElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGSVGElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGSVGElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGSVGElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGSVGElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGSVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGSVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGSVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGSVGElement_QueryInterface(DispSVGSVGElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGSVGElement_AddRef(DispSVGSVGElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGSVGElement_Release(DispSVGSVGElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGSVGElement_GetTypeInfoCount(DispSVGSVGElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGSVGElement_GetTypeInfo(DispSVGSVGElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGSVGElement_GetIDsOfNames(DispSVGSVGElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGSVGElement_Invoke(DispSVGSVGElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGSVGElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGSVGElement coclass
 */

DEFINE_GUID(CLSID_SVGSVGElement, 0x30510574, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510574-98b5-11cf-bb82-00aa00bdce0b") SVGSVGElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGSVGElement, 0x30510574, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGSVGElement;
#ifndef __ISVGElementInstance_FWD_DEFINED__
#define __ISVGElementInstance_FWD_DEFINED__
typedef interface ISVGElementInstance ISVGElementInstance;
#ifdef __cplusplus
interface ISVGElementInstance;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGUseElement interface
 */
#ifndef __ISVGUseElement_INTERFACE_DEFINED__
#define __ISVGUseElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGUseElement, 0x305104ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ed-98b5-11cf-bb82-00aa00bdce0b")
ISVGUseElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_x(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_width(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_height(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_instanceRoot(
        ISVGElementInstance *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_instanceRoot(
        ISVGElementInstance **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animatedInstanceRoot(
        ISVGElementInstance *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animatedInstanceRoot(
        ISVGElementInstance **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGUseElement, 0x305104ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGUseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGUseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGUseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGUseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGUseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGUseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGUseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGUseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGUseElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_x)(
        ISVGUseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGUseElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y)(
        ISVGUseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGUseElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_width)(
        ISVGUseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        ISVGUseElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_height)(
        ISVGUseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ISVGUseElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_instanceRoot)(
        ISVGUseElement *This,
        ISVGElementInstance *v);

    HRESULT (STDMETHODCALLTYPE *get_instanceRoot)(
        ISVGUseElement *This,
        ISVGElementInstance **p);

    HRESULT (STDMETHODCALLTYPE *putref_animatedInstanceRoot)(
        ISVGUseElement *This,
        ISVGElementInstance *v);

    HRESULT (STDMETHODCALLTYPE *get_animatedInstanceRoot)(
        ISVGUseElement *This,
        ISVGElementInstance **p);

    END_INTERFACE
} ISVGUseElementVtbl;

interface ISVGUseElement {
    CONST_VTBL ISVGUseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGUseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGUseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGUseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGUseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGUseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGUseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGUseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGUseElement methods ***/
#define ISVGUseElement_putref_x(This,v) (This)->lpVtbl->putref_x(This,v)
#define ISVGUseElement_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGUseElement_putref_y(This,v) (This)->lpVtbl->putref_y(This,v)
#define ISVGUseElement_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGUseElement_putref_width(This,v) (This)->lpVtbl->putref_width(This,v)
#define ISVGUseElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ISVGUseElement_putref_height(This,v) (This)->lpVtbl->putref_height(This,v)
#define ISVGUseElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define ISVGUseElement_putref_instanceRoot(This,v) (This)->lpVtbl->putref_instanceRoot(This,v)
#define ISVGUseElement_get_instanceRoot(This,p) (This)->lpVtbl->get_instanceRoot(This,p)
#define ISVGUseElement_putref_animatedInstanceRoot(This,v) (This)->lpVtbl->putref_animatedInstanceRoot(This,v)
#define ISVGUseElement_get_animatedInstanceRoot(This,p) (This)->lpVtbl->get_animatedInstanceRoot(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGUseElement_QueryInterface(ISVGUseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGUseElement_AddRef(ISVGUseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGUseElement_Release(ISVGUseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGUseElement_GetTypeInfoCount(ISVGUseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGUseElement_GetTypeInfo(ISVGUseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGUseElement_GetIDsOfNames(ISVGUseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGUseElement_Invoke(ISVGUseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGUseElement methods ***/
static inline HRESULT ISVGUseElement_putref_x(ISVGUseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x(This,v);
}
static inline HRESULT ISVGUseElement_get_x(ISVGUseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGUseElement_putref_y(ISVGUseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y(This,v);
}
static inline HRESULT ISVGUseElement_get_y(ISVGUseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGUseElement_putref_width(ISVGUseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_width(This,v);
}
static inline HRESULT ISVGUseElement_get_width(ISVGUseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ISVGUseElement_putref_height(ISVGUseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_height(This,v);
}
static inline HRESULT ISVGUseElement_get_height(ISVGUseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT ISVGUseElement_putref_instanceRoot(ISVGUseElement* This,ISVGElementInstance *v) {
    return This->lpVtbl->putref_instanceRoot(This,v);
}
static inline HRESULT ISVGUseElement_get_instanceRoot(ISVGUseElement* This,ISVGElementInstance **p) {
    return This->lpVtbl->get_instanceRoot(This,p);
}
static inline HRESULT ISVGUseElement_putref_animatedInstanceRoot(ISVGUseElement* This,ISVGElementInstance *v) {
    return This->lpVtbl->putref_animatedInstanceRoot(This,v);
}
static inline HRESULT ISVGUseElement_get_animatedInstanceRoot(ISVGUseElement* This,ISVGElementInstance **p) {
    return This->lpVtbl->get_animatedInstanceRoot(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGUseElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGUseElement dispinterface
 */
#ifndef __DispSVGUseElement_DISPINTERFACE_DEFINED__
#define __DispSVGUseElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGUseElement, 0x30590010, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590010-98b5-11cf-bb82-00aa00bdce0b")
DispSVGUseElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGUseElement, 0x30590010, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGUseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGUseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGUseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGUseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGUseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGUseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGUseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGUseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGUseElementVtbl;

interface DispSVGUseElement {
    CONST_VTBL DispSVGUseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGUseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGUseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGUseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGUseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGUseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGUseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGUseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGUseElement_QueryInterface(DispSVGUseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGUseElement_AddRef(DispSVGUseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGUseElement_Release(DispSVGUseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGUseElement_GetTypeInfoCount(DispSVGUseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGUseElement_GetTypeInfo(DispSVGUseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGUseElement_GetIDsOfNames(DispSVGUseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGUseElement_Invoke(DispSVGUseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGUseElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGUseElement coclass
 */

DEFINE_GUID(CLSID_SVGUseElement, 0x30510590, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510590-98b5-11cf-bb82-00aa00bdce0b") SVGUseElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGUseElement, 0x30510590, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGUseElement;
#ifndef __IHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#define __IHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesAppliedCollection IHTMLStyleSheetRulesAppliedCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetRulesAppliedCollection;
#endif /* __cplusplus */
#endif

#ifndef __IRulesApplied_FWD_DEFINED__
#define __IRulesApplied_FWD_DEFINED__
typedef interface IRulesApplied IRulesApplied;
#ifdef __cplusplus
interface IRulesApplied;
#endif /* __cplusplus */
#endif

#ifndef __IRulesAppliedCollection_FWD_DEFINED__
#define __IRulesAppliedCollection_FWD_DEFINED__
typedef interface IRulesAppliedCollection IRulesAppliedCollection;
#ifdef __cplusplus
interface IRulesAppliedCollection;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLStyleSheetRulesAppliedCollection interface
 */
#ifndef __IHTMLStyleSheetRulesAppliedCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRulesAppliedCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLStyleSheetRulesAppliedCollection, 0x305104c0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104c0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheetRulesAppliedCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IHTMLStyleSheetRule **ppHTMLStyleSheetRule) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyAppliedBy(
        BSTR name,
        IHTMLStyleSheetRule **ppRule) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyAppliedTrace(
        BSTR name,
        LONG index,
        IHTMLStyleSheetRule **ppRule) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyAppliedTraceLength(
        BSTR name,
        LONG *pLength) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLStyleSheetRulesAppliedCollection, 0x305104c0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLStyleSheetRulesAppliedCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLStyleSheetRulesAppliedCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLStyleSheetRulesAppliedCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLStyleSheetRulesAppliedCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        LONG index,
        IHTMLStyleSheetRule **ppHTMLStyleSheetRule);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *propertyAppliedBy)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        BSTR name,
        IHTMLStyleSheetRule **ppRule);

    HRESULT (STDMETHODCALLTYPE *propertyAppliedTrace)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        BSTR name,
        LONG index,
        IHTMLStyleSheetRule **ppRule);

    HRESULT (STDMETHODCALLTYPE *propertyAppliedTraceLength)(
        IHTMLStyleSheetRulesAppliedCollection *This,
        BSTR name,
        LONG *pLength);

    END_INTERFACE
} IHTMLStyleSheetRulesAppliedCollectionVtbl;

interface IHTMLStyleSheetRulesAppliedCollection {
    CONST_VTBL IHTMLStyleSheetRulesAppliedCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLStyleSheetRulesAppliedCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLStyleSheetRulesAppliedCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLStyleSheetRulesAppliedCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLStyleSheetRulesAppliedCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLStyleSheetRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLStyleSheetRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLStyleSheetRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLStyleSheetRulesAppliedCollection methods ***/
#define IHTMLStyleSheetRulesAppliedCollection_item(This,index,ppHTMLStyleSheetRule) (This)->lpVtbl->item(This,index,ppHTMLStyleSheetRule)
#define IHTMLStyleSheetRulesAppliedCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLStyleSheetRulesAppliedCollection_propertyAppliedBy(This,name,ppRule) (This)->lpVtbl->propertyAppliedBy(This,name,ppRule)
#define IHTMLStyleSheetRulesAppliedCollection_propertyAppliedTrace(This,name,index,ppRule) (This)->lpVtbl->propertyAppliedTrace(This,name,index,ppRule)
#define IHTMLStyleSheetRulesAppliedCollection_propertyAppliedTraceLength(This,name,pLength) (This)->lpVtbl->propertyAppliedTraceLength(This,name,pLength)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_QueryInterface(IHTMLStyleSheetRulesAppliedCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLStyleSheetRulesAppliedCollection_AddRef(IHTMLStyleSheetRulesAppliedCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLStyleSheetRulesAppliedCollection_Release(IHTMLStyleSheetRulesAppliedCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_GetTypeInfoCount(IHTMLStyleSheetRulesAppliedCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_GetTypeInfo(IHTMLStyleSheetRulesAppliedCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_GetIDsOfNames(IHTMLStyleSheetRulesAppliedCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_Invoke(IHTMLStyleSheetRulesAppliedCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLStyleSheetRulesAppliedCollection methods ***/
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_item(IHTMLStyleSheetRulesAppliedCollection* This,LONG index,IHTMLStyleSheetRule **ppHTMLStyleSheetRule) {
    return This->lpVtbl->item(This,index,ppHTMLStyleSheetRule);
}
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_get_length(IHTMLStyleSheetRulesAppliedCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_propertyAppliedBy(IHTMLStyleSheetRulesAppliedCollection* This,BSTR name,IHTMLStyleSheetRule **ppRule) {
    return This->lpVtbl->propertyAppliedBy(This,name,ppRule);
}
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_propertyAppliedTrace(IHTMLStyleSheetRulesAppliedCollection* This,BSTR name,LONG index,IHTMLStyleSheetRule **ppRule) {
    return This->lpVtbl->propertyAppliedTrace(This,name,index,ppRule);
}
static inline HRESULT IHTMLStyleSheetRulesAppliedCollection_propertyAppliedTraceLength(IHTMLStyleSheetRulesAppliedCollection* This,BSTR name,LONG *pLength) {
    return This->lpVtbl->propertyAppliedTraceLength(This,name,pLength);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRulesAppliedCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IRulesApplied interface
 */
#ifndef __IRulesApplied_INTERFACE_DEFINED__
#define __IRulesApplied_INTERFACE_DEFINED__

DEFINE_GUID(IID_IRulesApplied, 0x305104bf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104bf-98b5-11cf-bb82-00aa00bdce0b")
IRulesApplied : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_element(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_inlineStyles(
        IHTMLStyle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_appliedRules(
        IHTMLStyleSheetRulesAppliedCollection **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyIsInline(
        BSTR name,
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyIsInheritable(
        BSTR name,
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE hasInheritableProperty(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRulesApplied, 0x305104bf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IRulesAppliedVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IRulesApplied *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IRulesApplied *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IRulesApplied *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IRulesApplied *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IRulesApplied *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IRulesApplied *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IRulesApplied *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IRulesApplied methods ***/
    HRESULT (STDMETHODCALLTYPE *get_element)(
        IRulesApplied *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *get_inlineStyles)(
        IRulesApplied *This,
        IHTMLStyle **p);

    HRESULT (STDMETHODCALLTYPE *get_appliedRules)(
        IRulesApplied *This,
        IHTMLStyleSheetRulesAppliedCollection **p);

    HRESULT (STDMETHODCALLTYPE *propertyIsInline)(
        IRulesApplied *This,
        BSTR name,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *propertyIsInheritable)(
        IRulesApplied *This,
        BSTR name,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *hasInheritableProperty)(
        IRulesApplied *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IRulesAppliedVtbl;

interface IRulesApplied {
    CONST_VTBL IRulesAppliedVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRulesApplied_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRulesApplied_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRulesApplied_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IRulesApplied_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IRulesApplied_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IRulesApplied_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IRulesApplied_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IRulesApplied methods ***/
#define IRulesApplied_get_element(This,p) (This)->lpVtbl->get_element(This,p)
#define IRulesApplied_get_inlineStyles(This,p) (This)->lpVtbl->get_inlineStyles(This,p)
#define IRulesApplied_get_appliedRules(This,p) (This)->lpVtbl->get_appliedRules(This,p)
#define IRulesApplied_propertyIsInline(This,name,p) (This)->lpVtbl->propertyIsInline(This,name,p)
#define IRulesApplied_propertyIsInheritable(This,name,p) (This)->lpVtbl->propertyIsInheritable(This,name,p)
#define IRulesApplied_hasInheritableProperty(This,p) (This)->lpVtbl->hasInheritableProperty(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IRulesApplied_QueryInterface(IRulesApplied* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IRulesApplied_AddRef(IRulesApplied* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IRulesApplied_Release(IRulesApplied* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IRulesApplied_GetTypeInfoCount(IRulesApplied* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IRulesApplied_GetTypeInfo(IRulesApplied* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IRulesApplied_GetIDsOfNames(IRulesApplied* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IRulesApplied_Invoke(IRulesApplied* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IRulesApplied methods ***/
static inline HRESULT IRulesApplied_get_element(IRulesApplied* This,IHTMLElement **p) {
    return This->lpVtbl->get_element(This,p);
}
static inline HRESULT IRulesApplied_get_inlineStyles(IRulesApplied* This,IHTMLStyle **p) {
    return This->lpVtbl->get_inlineStyles(This,p);
}
static inline HRESULT IRulesApplied_get_appliedRules(IRulesApplied* This,IHTMLStyleSheetRulesAppliedCollection **p) {
    return This->lpVtbl->get_appliedRules(This,p);
}
static inline HRESULT IRulesApplied_propertyIsInline(IRulesApplied* This,BSTR name,VARIANT_BOOL *p) {
    return This->lpVtbl->propertyIsInline(This,name,p);
}
static inline HRESULT IRulesApplied_propertyIsInheritable(IRulesApplied* This,BSTR name,VARIANT_BOOL *p) {
    return This->lpVtbl->propertyIsInheritable(This,name,p);
}
static inline HRESULT IRulesApplied_hasInheritableProperty(IRulesApplied* This,VARIANT_BOOL *p) {
    return This->lpVtbl->hasInheritableProperty(This,p);
}
#endif
#endif

#endif


#endif  /* __IRulesApplied_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IRulesAppliedCollection interface
 */
#ifndef __IRulesAppliedCollection_INTERFACE_DEFINED__
#define __IRulesAppliedCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IRulesAppliedCollection, 0x305104be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104be-98b5-11cf-bb82-00aa00bdce0b")
IRulesAppliedCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IRulesApplied **ppRulesApplied) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_element(
        IHTMLElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyInheritedFrom(
        BSTR name,
        IRulesApplied **ppRulesApplied) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_propertyCount(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE property(
        LONG index,
        BSTR *pbstrProperty) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyInheritedTrace(
        BSTR name,
        LONG index,
        IRulesApplied **ppRulesApplied) = 0;

    virtual HRESULT STDMETHODCALLTYPE propertyInheritedTraceLength(
        BSTR name,
        LONG *pLength) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRulesAppliedCollection, 0x305104be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IRulesAppliedCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IRulesAppliedCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IRulesAppliedCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IRulesAppliedCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IRulesAppliedCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IRulesAppliedCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IRulesAppliedCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IRulesAppliedCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IRulesAppliedCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *item)(
        IRulesAppliedCollection *This,
        LONG index,
        IRulesApplied **ppRulesApplied);

    HRESULT (STDMETHODCALLTYPE *get_length)(
        IRulesAppliedCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_element)(
        IRulesAppliedCollection *This,
        IHTMLElement **p);

    HRESULT (STDMETHODCALLTYPE *propertyInheritedFrom)(
        IRulesAppliedCollection *This,
        BSTR name,
        IRulesApplied **ppRulesApplied);

    HRESULT (STDMETHODCALLTYPE *get_propertyCount)(
        IRulesAppliedCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *property)(
        IRulesAppliedCollection *This,
        LONG index,
        BSTR *pbstrProperty);

    HRESULT (STDMETHODCALLTYPE *propertyInheritedTrace)(
        IRulesAppliedCollection *This,
        BSTR name,
        LONG index,
        IRulesApplied **ppRulesApplied);

    HRESULT (STDMETHODCALLTYPE *propertyInheritedTraceLength)(
        IRulesAppliedCollection *This,
        BSTR name,
        LONG *pLength);

    END_INTERFACE
} IRulesAppliedCollectionVtbl;

interface IRulesAppliedCollection {
    CONST_VTBL IRulesAppliedCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRulesAppliedCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRulesAppliedCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRulesAppliedCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IRulesAppliedCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IRulesAppliedCollection methods ***/
#define IRulesAppliedCollection_item(This,index,ppRulesApplied) (This)->lpVtbl->item(This,index,ppRulesApplied)
#define IRulesAppliedCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IRulesAppliedCollection_get_element(This,p) (This)->lpVtbl->get_element(This,p)
#define IRulesAppliedCollection_propertyInheritedFrom(This,name,ppRulesApplied) (This)->lpVtbl->propertyInheritedFrom(This,name,ppRulesApplied)
#define IRulesAppliedCollection_get_propertyCount(This,p) (This)->lpVtbl->get_propertyCount(This,p)
#define IRulesAppliedCollection_property(This,index,pbstrProperty) (This)->lpVtbl->property(This,index,pbstrProperty)
#define IRulesAppliedCollection_propertyInheritedTrace(This,name,index,ppRulesApplied) (This)->lpVtbl->propertyInheritedTrace(This,name,index,ppRulesApplied)
#define IRulesAppliedCollection_propertyInheritedTraceLength(This,name,pLength) (This)->lpVtbl->propertyInheritedTraceLength(This,name,pLength)
#else
/*** IUnknown methods ***/
static inline HRESULT IRulesAppliedCollection_QueryInterface(IRulesAppliedCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IRulesAppliedCollection_AddRef(IRulesAppliedCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IRulesAppliedCollection_Release(IRulesAppliedCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IRulesAppliedCollection_GetTypeInfoCount(IRulesAppliedCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IRulesAppliedCollection_GetTypeInfo(IRulesAppliedCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IRulesAppliedCollection_GetIDsOfNames(IRulesAppliedCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IRulesAppliedCollection_Invoke(IRulesAppliedCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IRulesAppliedCollection methods ***/
static inline HRESULT IRulesAppliedCollection_item(IRulesAppliedCollection* This,LONG index,IRulesApplied **ppRulesApplied) {
    return This->lpVtbl->item(This,index,ppRulesApplied);
}
static inline HRESULT IRulesAppliedCollection_get_length(IRulesAppliedCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IRulesAppliedCollection_get_element(IRulesAppliedCollection* This,IHTMLElement **p) {
    return This->lpVtbl->get_element(This,p);
}
static inline HRESULT IRulesAppliedCollection_propertyInheritedFrom(IRulesAppliedCollection* This,BSTR name,IRulesApplied **ppRulesApplied) {
    return This->lpVtbl->propertyInheritedFrom(This,name,ppRulesApplied);
}
static inline HRESULT IRulesAppliedCollection_get_propertyCount(IRulesAppliedCollection* This,LONG *p) {
    return This->lpVtbl->get_propertyCount(This,p);
}
static inline HRESULT IRulesAppliedCollection_property(IRulesAppliedCollection* This,LONG index,BSTR *pbstrProperty) {
    return This->lpVtbl->property(This,index,pbstrProperty);
}
static inline HRESULT IRulesAppliedCollection_propertyInheritedTrace(IRulesAppliedCollection* This,BSTR name,LONG index,IRulesApplied **ppRulesApplied) {
    return This->lpVtbl->propertyInheritedTrace(This,name,index,ppRulesApplied);
}
static inline HRESULT IRulesAppliedCollection_propertyInheritedTraceLength(IRulesAppliedCollection* This,BSTR name,LONG *pLength) {
    return This->lpVtbl->propertyInheritedTraceLength(This,name,pLength);
}
#endif
#endif

#endif


#endif  /* __IRulesAppliedCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLStyleSheetRulesAppliedCollection dispinterface
 */
#ifndef __DispHTMLStyleSheetRulesAppliedCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetRulesAppliedCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLStyleSheetRulesAppliedCollection, 0x3050f5a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5a6-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLStyleSheetRulesAppliedCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLStyleSheetRulesAppliedCollection, 0x3050f5a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLStyleSheetRulesAppliedCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLStyleSheetRulesAppliedCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLStyleSheetRulesAppliedCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLStyleSheetRulesAppliedCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLStyleSheetRulesAppliedCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLStyleSheetRulesAppliedCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLStyleSheetRulesAppliedCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLStyleSheetRulesAppliedCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLStyleSheetRulesAppliedCollectionVtbl;

interface DispHTMLStyleSheetRulesAppliedCollection {
    CONST_VTBL DispHTMLStyleSheetRulesAppliedCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLStyleSheetRulesAppliedCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLStyleSheetRulesAppliedCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLStyleSheetRulesAppliedCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLStyleSheetRulesAppliedCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLStyleSheetRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLStyleSheetRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLStyleSheetRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLStyleSheetRulesAppliedCollection_QueryInterface(DispHTMLStyleSheetRulesAppliedCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLStyleSheetRulesAppliedCollection_AddRef(DispHTMLStyleSheetRulesAppliedCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLStyleSheetRulesAppliedCollection_Release(DispHTMLStyleSheetRulesAppliedCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLStyleSheetRulesAppliedCollection_GetTypeInfoCount(DispHTMLStyleSheetRulesAppliedCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLStyleSheetRulesAppliedCollection_GetTypeInfo(DispHTMLStyleSheetRulesAppliedCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLStyleSheetRulesAppliedCollection_GetIDsOfNames(DispHTMLStyleSheetRulesAppliedCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLStyleSheetRulesAppliedCollection_Invoke(DispHTMLStyleSheetRulesAppliedCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLStyleSheetRulesAppliedCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLStyleSheetRulesAppliedCollection coclass
 */

DEFINE_GUID(CLSID_HTMLStyleSheetRulesAppliedCollection, 0xeb36f845, 0x2395, 0x4719, 0xb8,0x5c, 0xd0,0xd8,0x0e,0x18,0x4b,0xd9);

#ifdef __cplusplus
class DECLSPEC_UUID("eb36f845-2395-4719-b85c-d0d80e184bd9") HTMLStyleSheetRulesAppliedCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLStyleSheetRulesAppliedCollection, 0xeb36f845, 0x2395, 0x4719, 0xb8,0x5c, 0xd0,0xd8,0x0e,0x18,0x4b,0xd9)
#endif
#endif

EXTERN_C const GUID CLSID_CHTMLStyleSheetRulesAppliedCollection;
/*****************************************************************************
 * DispRulesApplied dispinterface
 */
#ifndef __DispRulesApplied_DISPINTERFACE_DEFINED__
#define __DispRulesApplied_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispRulesApplied, 0x3050f5a5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5a5-98b5-11cf-bb82-00aa00bdce0b")
DispRulesApplied : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispRulesApplied, 0x3050f5a5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispRulesAppliedVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispRulesApplied *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispRulesApplied *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispRulesApplied *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispRulesApplied *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispRulesApplied *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispRulesApplied *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispRulesApplied *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispRulesAppliedVtbl;

interface DispRulesApplied {
    CONST_VTBL DispRulesAppliedVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispRulesApplied_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispRulesApplied_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispRulesApplied_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispRulesApplied_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispRulesApplied_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispRulesApplied_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispRulesApplied_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispRulesApplied_QueryInterface(DispRulesApplied* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispRulesApplied_AddRef(DispRulesApplied* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispRulesApplied_Release(DispRulesApplied* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispRulesApplied_GetTypeInfoCount(DispRulesApplied* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispRulesApplied_GetTypeInfo(DispRulesApplied* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispRulesApplied_GetIDsOfNames(DispRulesApplied* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispRulesApplied_Invoke(DispRulesApplied* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispRulesApplied_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * RulesApplied coclass
 */

DEFINE_GUID(CLSID_RulesApplied, 0x7c803920, 0x7a53, 0x4d26, 0x98,0xac, 0xfd,0xd2,0x3e,0x6b,0x9e,0x01);

#ifdef __cplusplus
class DECLSPEC_UUID("7c803920-7a53-4d26-98ac-fdd23e6b9e01") RulesApplied;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(RulesApplied, 0x7c803920, 0x7a53, 0x4d26, 0x98,0xac, 0xfd,0xd2,0x3e,0x6b,0x9e,0x01)
#endif
#endif

EXTERN_C const GUID CLSID_CRulesApplied;
/*****************************************************************************
 * DispRulesAppliedCollection dispinterface
 */
#ifndef __DispRulesAppliedCollection_DISPINTERFACE_DEFINED__
#define __DispRulesAppliedCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispRulesAppliedCollection, 0x3050f5a4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5a4-98b5-11cf-bb82-00aa00bdce0b")
DispRulesAppliedCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispRulesAppliedCollection, 0x3050f5a4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispRulesAppliedCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispRulesAppliedCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispRulesAppliedCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispRulesAppliedCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispRulesAppliedCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispRulesAppliedCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispRulesAppliedCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispRulesAppliedCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispRulesAppliedCollectionVtbl;

interface DispRulesAppliedCollection {
    CONST_VTBL DispRulesAppliedCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispRulesAppliedCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispRulesAppliedCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispRulesAppliedCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispRulesAppliedCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispRulesAppliedCollection_QueryInterface(DispRulesAppliedCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispRulesAppliedCollection_AddRef(DispRulesAppliedCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispRulesAppliedCollection_Release(DispRulesAppliedCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispRulesAppliedCollection_GetTypeInfoCount(DispRulesAppliedCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispRulesAppliedCollection_GetTypeInfo(DispRulesAppliedCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispRulesAppliedCollection_GetIDsOfNames(DispRulesAppliedCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispRulesAppliedCollection_Invoke(DispRulesAppliedCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispRulesAppliedCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * RulesAppliedCollection coclass
 */

DEFINE_GUID(CLSID_RulesAppliedCollection, 0x671926ee, 0xc3cf, 0x40af, 0xbe,0x8f, 0x1c,0xba,0xee,0x64,0x86,0xe8);

#ifdef __cplusplus
class DECLSPEC_UUID("671926ee-c3cf-40af-be8f-1cbaee6486e8") RulesAppliedCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(RulesAppliedCollection, 0x671926ee, 0xc3cf, 0x40af, 0xbe,0x8f, 0x1c,0xba,0xee,0x64,0x86,0xe8)
#endif
#endif

EXTERN_C const GUID CLSID_CRulesAppliedCollection;
/*****************************************************************************
 * DispHTMLW3CComputedStyle dispinterface
 */
#ifndef __DispHTMLW3CComputedStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLW3CComputedStyle_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLW3CComputedStyle, 0x30590070, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590070-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLW3CComputedStyle : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLW3CComputedStyle, 0x30590070, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLW3CComputedStyleVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLW3CComputedStyle *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLW3CComputedStyle *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLW3CComputedStyle *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLW3CComputedStyle *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLW3CComputedStyle *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLW3CComputedStyle *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLW3CComputedStyle *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLW3CComputedStyleVtbl;

interface DispHTMLW3CComputedStyle {
    CONST_VTBL DispHTMLW3CComputedStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLW3CComputedStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLW3CComputedStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLW3CComputedStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLW3CComputedStyle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLW3CComputedStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLW3CComputedStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLW3CComputedStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLW3CComputedStyle_QueryInterface(DispHTMLW3CComputedStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLW3CComputedStyle_AddRef(DispHTMLW3CComputedStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLW3CComputedStyle_Release(DispHTMLW3CComputedStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLW3CComputedStyle_GetTypeInfoCount(DispHTMLW3CComputedStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLW3CComputedStyle_GetTypeInfo(DispHTMLW3CComputedStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLW3CComputedStyle_GetIDsOfNames(DispHTMLW3CComputedStyle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLW3CComputedStyle_Invoke(DispHTMLW3CComputedStyle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLW3CComputedStyle_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLW3CComputedStyle coclass
 */

DEFINE_GUID(CLSID_HTMLW3CComputedStyle, 0x305106c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305106c8-98b5-11cf-bb82-00aa00bdce0b") HTMLW3CComputedStyle;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLW3CComputedStyle, 0x305106c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CW3CComputedStyle;
#ifndef __ISVGTransform_FWD_DEFINED__
#define __ISVGTransform_FWD_DEFINED__
typedef interface ISVGTransform ISVGTransform;
#ifdef __cplusplus
interface ISVGTransform;
#endif /* __cplusplus */
#endif

#ifndef __ISVGMatrix_FWD_DEFINED__
#define __ISVGMatrix_FWD_DEFINED__
typedef interface ISVGMatrix ISVGMatrix;
#ifdef __cplusplus
interface ISVGMatrix;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGTransformList interface
 */
#ifndef __ISVGTransformList_INTERFACE_DEFINED__
#define __ISVGTransformList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTransformList, 0x305104f8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f8-98b5-11cf-bb82-00aa00bdce0b")
ISVGTransformList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_numberOfItems(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_numberOfItems(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE initialize(
        ISVGTransform *newItem,
        ISVGTransform **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getItem(
        LONG index,
        ISVGTransform **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertItemBefore(
        ISVGTransform *newItem,
        LONG index,
        ISVGTransform **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceItem(
        ISVGTransform *newItem,
        LONG index,
        ISVGTransform **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeItem(
        LONG index,
        ISVGTransform **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItem(
        ISVGTransform *newItem,
        ISVGTransform **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGTransformFromMatrix(
        ISVGMatrix *newItem,
        ISVGTransform **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE consolidate(
        ISVGTransform **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTransformList, 0x305104f8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTransformListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTransformList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTransformList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTransformList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTransformList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTransformList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTransformList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTransformList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGTransformList methods ***/
    HRESULT (STDMETHODCALLTYPE *put_numberOfItems)(
        ISVGTransformList *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_numberOfItems)(
        ISVGTransformList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *clear)(
        ISVGTransformList *This);

    HRESULT (STDMETHODCALLTYPE *initialize)(
        ISVGTransformList *This,
        ISVGTransform *newItem,
        ISVGTransform **ppResult);

    HRESULT (STDMETHODCALLTYPE *getItem)(
        ISVGTransformList *This,
        LONG index,
        ISVGTransform **ppResult);

    HRESULT (STDMETHODCALLTYPE *insertItemBefore)(
        ISVGTransformList *This,
        ISVGTransform *newItem,
        LONG index,
        ISVGTransform **ppResult);

    HRESULT (STDMETHODCALLTYPE *replaceItem)(
        ISVGTransformList *This,
        ISVGTransform *newItem,
        LONG index,
        ISVGTransform **ppResult);

    HRESULT (STDMETHODCALLTYPE *removeItem)(
        ISVGTransformList *This,
        LONG index,
        ISVGTransform **ppResult);

    HRESULT (STDMETHODCALLTYPE *appendItem)(
        ISVGTransformList *This,
        ISVGTransform *newItem,
        ISVGTransform **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGTransformFromMatrix)(
        ISVGTransformList *This,
        ISVGMatrix *newItem,
        ISVGTransform **ppResult);

    HRESULT (STDMETHODCALLTYPE *consolidate)(
        ISVGTransformList *This,
        ISVGTransform **ppResult);

    END_INTERFACE
} ISVGTransformListVtbl;

interface ISVGTransformList {
    CONST_VTBL ISVGTransformListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTransformList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTransformList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTransformList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTransformList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTransformList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTransformList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTransformList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGTransformList methods ***/
#define ISVGTransformList_put_numberOfItems(This,v) (This)->lpVtbl->put_numberOfItems(This,v)
#define ISVGTransformList_get_numberOfItems(This,p) (This)->lpVtbl->get_numberOfItems(This,p)
#define ISVGTransformList_clear(This) (This)->lpVtbl->clear(This)
#define ISVGTransformList_initialize(This,newItem,ppResult) (This)->lpVtbl->initialize(This,newItem,ppResult)
#define ISVGTransformList_getItem(This,index,ppResult) (This)->lpVtbl->getItem(This,index,ppResult)
#define ISVGTransformList_insertItemBefore(This,newItem,index,ppResult) (This)->lpVtbl->insertItemBefore(This,newItem,index,ppResult)
#define ISVGTransformList_replaceItem(This,newItem,index,ppResult) (This)->lpVtbl->replaceItem(This,newItem,index,ppResult)
#define ISVGTransformList_removeItem(This,index,ppResult) (This)->lpVtbl->removeItem(This,index,ppResult)
#define ISVGTransformList_appendItem(This,newItem,ppResult) (This)->lpVtbl->appendItem(This,newItem,ppResult)
#define ISVGTransformList_createSVGTransformFromMatrix(This,newItem,ppResult) (This)->lpVtbl->createSVGTransformFromMatrix(This,newItem,ppResult)
#define ISVGTransformList_consolidate(This,ppResult) (This)->lpVtbl->consolidate(This,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTransformList_QueryInterface(ISVGTransformList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTransformList_AddRef(ISVGTransformList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTransformList_Release(ISVGTransformList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTransformList_GetTypeInfoCount(ISVGTransformList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTransformList_GetTypeInfo(ISVGTransformList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTransformList_GetIDsOfNames(ISVGTransformList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTransformList_Invoke(ISVGTransformList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGTransformList methods ***/
static inline HRESULT ISVGTransformList_put_numberOfItems(ISVGTransformList* This,LONG v) {
    return This->lpVtbl->put_numberOfItems(This,v);
}
static inline HRESULT ISVGTransformList_get_numberOfItems(ISVGTransformList* This,LONG *p) {
    return This->lpVtbl->get_numberOfItems(This,p);
}
static inline HRESULT ISVGTransformList_clear(ISVGTransformList* This) {
    return This->lpVtbl->clear(This);
}
static inline HRESULT ISVGTransformList_initialize(ISVGTransformList* This,ISVGTransform *newItem,ISVGTransform **ppResult) {
    return This->lpVtbl->initialize(This,newItem,ppResult);
}
static inline HRESULT ISVGTransformList_getItem(ISVGTransformList* This,LONG index,ISVGTransform **ppResult) {
    return This->lpVtbl->getItem(This,index,ppResult);
}
static inline HRESULT ISVGTransformList_insertItemBefore(ISVGTransformList* This,ISVGTransform *newItem,LONG index,ISVGTransform **ppResult) {
    return This->lpVtbl->insertItemBefore(This,newItem,index,ppResult);
}
static inline HRESULT ISVGTransformList_replaceItem(ISVGTransformList* This,ISVGTransform *newItem,LONG index,ISVGTransform **ppResult) {
    return This->lpVtbl->replaceItem(This,newItem,index,ppResult);
}
static inline HRESULT ISVGTransformList_removeItem(ISVGTransformList* This,LONG index,ISVGTransform **ppResult) {
    return This->lpVtbl->removeItem(This,index,ppResult);
}
static inline HRESULT ISVGTransformList_appendItem(ISVGTransformList* This,ISVGTransform *newItem,ISVGTransform **ppResult) {
    return This->lpVtbl->appendItem(This,newItem,ppResult);
}
static inline HRESULT ISVGTransformList_createSVGTransformFromMatrix(ISVGTransformList* This,ISVGMatrix *newItem,ISVGTransform **ppResult) {
    return This->lpVtbl->createSVGTransformFromMatrix(This,newItem,ppResult);
}
static inline HRESULT ISVGTransformList_consolidate(ISVGTransformList* This,ISVGTransform **ppResult) {
    return This->lpVtbl->consolidate(This,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGTransformList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTransformList coclass
 */

DEFINE_GUID(CLSID_SVGTransformList, 0x305105b0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105b0-98b5-11cf-bb82-00aa00bdce0b") SVGTransformList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTransformList, 0x305105b0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTransformList;
#ifndef __ISVGPointList_FWD_DEFINED__
#define __ISVGPointList_FWD_DEFINED__
typedef interface ISVGPointList ISVGPointList;
#ifdef __cplusplus
interface ISVGPointList;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedPoints interface
 */
#ifndef __ISVGAnimatedPoints_INTERFACE_DEFINED__
#define __ISVGAnimatedPoints_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedPoints, 0x30510517, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510517-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedPoints : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_points(
        ISVGPointList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_points(
        ISVGPointList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animatedPoints(
        ISVGPointList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animatedPoints(
        ISVGPointList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedPoints, 0x30510517, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedPointsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedPoints *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedPoints *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedPoints *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedPoints *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedPoints *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedPoints *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedPoints *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedPoints methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_points)(
        ISVGAnimatedPoints *This,
        ISVGPointList *v);

    HRESULT (STDMETHODCALLTYPE *get_points)(
        ISVGAnimatedPoints *This,
        ISVGPointList **p);

    HRESULT (STDMETHODCALLTYPE *putref_animatedPoints)(
        ISVGAnimatedPoints *This,
        ISVGPointList *v);

    HRESULT (STDMETHODCALLTYPE *get_animatedPoints)(
        ISVGAnimatedPoints *This,
        ISVGPointList **p);

    END_INTERFACE
} ISVGAnimatedPointsVtbl;

interface ISVGAnimatedPoints {
    CONST_VTBL ISVGAnimatedPointsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedPoints_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedPoints_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedPoints_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedPoints_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedPoints_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedPoints_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedPoints_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedPoints methods ***/
#define ISVGAnimatedPoints_putref_points(This,v) (This)->lpVtbl->putref_points(This,v)
#define ISVGAnimatedPoints_get_points(This,p) (This)->lpVtbl->get_points(This,p)
#define ISVGAnimatedPoints_putref_animatedPoints(This,v) (This)->lpVtbl->putref_animatedPoints(This,v)
#define ISVGAnimatedPoints_get_animatedPoints(This,p) (This)->lpVtbl->get_animatedPoints(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedPoints_QueryInterface(ISVGAnimatedPoints* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedPoints_AddRef(ISVGAnimatedPoints* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedPoints_Release(ISVGAnimatedPoints* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedPoints_GetTypeInfoCount(ISVGAnimatedPoints* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedPoints_GetTypeInfo(ISVGAnimatedPoints* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedPoints_GetIDsOfNames(ISVGAnimatedPoints* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedPoints_Invoke(ISVGAnimatedPoints* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedPoints methods ***/
static inline HRESULT ISVGAnimatedPoints_putref_points(ISVGAnimatedPoints* This,ISVGPointList *v) {
    return This->lpVtbl->putref_points(This,v);
}
static inline HRESULT ISVGAnimatedPoints_get_points(ISVGAnimatedPoints* This,ISVGPointList **p) {
    return This->lpVtbl->get_points(This,p);
}
static inline HRESULT ISVGAnimatedPoints_putref_animatedPoints(ISVGAnimatedPoints* This,ISVGPointList *v) {
    return This->lpVtbl->putref_animatedPoints(This,v);
}
static inline HRESULT ISVGAnimatedPoints_get_animatedPoints(ISVGAnimatedPoints* This,ISVGPointList **p) {
    return This->lpVtbl->get_animatedPoints(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedPoints_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGCircleElement interface
 */
#ifndef __ISVGCircleElement_INTERFACE_DEFINED__
#define __ISVGCircleElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGCircleElement, 0x30510514, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510514-98b5-11cf-bb82-00aa00bdce0b")
ISVGCircleElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_cx(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cx(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_cy(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cy(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_r(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_r(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGCircleElement, 0x30510514, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGCircleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGCircleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGCircleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGCircleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGCircleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGCircleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGCircleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGCircleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGCircleElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_cx)(
        ISVGCircleElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_cx)(
        ISVGCircleElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_cy)(
        ISVGCircleElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_cy)(
        ISVGCircleElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_r)(
        ISVGCircleElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_r)(
        ISVGCircleElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGCircleElementVtbl;

interface ISVGCircleElement {
    CONST_VTBL ISVGCircleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGCircleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGCircleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGCircleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGCircleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGCircleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGCircleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGCircleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGCircleElement methods ***/
#define ISVGCircleElement_putref_cx(This,v) (This)->lpVtbl->putref_cx(This,v)
#define ISVGCircleElement_get_cx(This,p) (This)->lpVtbl->get_cx(This,p)
#define ISVGCircleElement_putref_cy(This,v) (This)->lpVtbl->putref_cy(This,v)
#define ISVGCircleElement_get_cy(This,p) (This)->lpVtbl->get_cy(This,p)
#define ISVGCircleElement_putref_r(This,v) (This)->lpVtbl->putref_r(This,v)
#define ISVGCircleElement_get_r(This,p) (This)->lpVtbl->get_r(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGCircleElement_QueryInterface(ISVGCircleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGCircleElement_AddRef(ISVGCircleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGCircleElement_Release(ISVGCircleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGCircleElement_GetTypeInfoCount(ISVGCircleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGCircleElement_GetTypeInfo(ISVGCircleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGCircleElement_GetIDsOfNames(ISVGCircleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGCircleElement_Invoke(ISVGCircleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGCircleElement methods ***/
static inline HRESULT ISVGCircleElement_putref_cx(ISVGCircleElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_cx(This,v);
}
static inline HRESULT ISVGCircleElement_get_cx(ISVGCircleElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_cx(This,p);
}
static inline HRESULT ISVGCircleElement_putref_cy(ISVGCircleElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_cy(This,v);
}
static inline HRESULT ISVGCircleElement_get_cy(ISVGCircleElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_cy(This,p);
}
static inline HRESULT ISVGCircleElement_putref_r(ISVGCircleElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_r(This,v);
}
static inline HRESULT ISVGCircleElement_get_r(ISVGCircleElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_r(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGCircleElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGEllipseElement interface
 */
#ifndef __ISVGEllipseElement_INTERFACE_DEFINED__
#define __ISVGEllipseElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGEllipseElement, 0x30510515, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510515-98b5-11cf-bb82-00aa00bdce0b")
ISVGEllipseElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_cx(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cx(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_cy(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cy(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_rx(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rx(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_ry(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ry(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGEllipseElement, 0x30510515, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGEllipseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGEllipseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGEllipseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGEllipseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGEllipseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGEllipseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGEllipseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGEllipseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGEllipseElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_cx)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_cx)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_cy)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_cy)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_rx)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_rx)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_ry)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_ry)(
        ISVGEllipseElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGEllipseElementVtbl;

interface ISVGEllipseElement {
    CONST_VTBL ISVGEllipseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGEllipseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGEllipseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGEllipseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGEllipseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGEllipseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGEllipseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGEllipseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGEllipseElement methods ***/
#define ISVGEllipseElement_putref_cx(This,v) (This)->lpVtbl->putref_cx(This,v)
#define ISVGEllipseElement_get_cx(This,p) (This)->lpVtbl->get_cx(This,p)
#define ISVGEllipseElement_putref_cy(This,v) (This)->lpVtbl->putref_cy(This,v)
#define ISVGEllipseElement_get_cy(This,p) (This)->lpVtbl->get_cy(This,p)
#define ISVGEllipseElement_putref_rx(This,v) (This)->lpVtbl->putref_rx(This,v)
#define ISVGEllipseElement_get_rx(This,p) (This)->lpVtbl->get_rx(This,p)
#define ISVGEllipseElement_putref_ry(This,v) (This)->lpVtbl->putref_ry(This,v)
#define ISVGEllipseElement_get_ry(This,p) (This)->lpVtbl->get_ry(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGEllipseElement_QueryInterface(ISVGEllipseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGEllipseElement_AddRef(ISVGEllipseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGEllipseElement_Release(ISVGEllipseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGEllipseElement_GetTypeInfoCount(ISVGEllipseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGEllipseElement_GetTypeInfo(ISVGEllipseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGEllipseElement_GetIDsOfNames(ISVGEllipseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGEllipseElement_Invoke(ISVGEllipseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGEllipseElement methods ***/
static inline HRESULT ISVGEllipseElement_putref_cx(ISVGEllipseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_cx(This,v);
}
static inline HRESULT ISVGEllipseElement_get_cx(ISVGEllipseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_cx(This,p);
}
static inline HRESULT ISVGEllipseElement_putref_cy(ISVGEllipseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_cy(This,v);
}
static inline HRESULT ISVGEllipseElement_get_cy(ISVGEllipseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_cy(This,p);
}
static inline HRESULT ISVGEllipseElement_putref_rx(ISVGEllipseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_rx(This,v);
}
static inline HRESULT ISVGEllipseElement_get_rx(ISVGEllipseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_rx(This,p);
}
static inline HRESULT ISVGEllipseElement_putref_ry(ISVGEllipseElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_ry(This,v);
}
static inline HRESULT ISVGEllipseElement_get_ry(ISVGEllipseElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_ry(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGEllipseElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGLineElement interface
 */
#ifndef __ISVGLineElement_INTERFACE_DEFINED__
#define __ISVGLineElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGLineElement, 0x30510516, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510516-98b5-11cf-bb82-00aa00bdce0b")
ISVGLineElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_x1(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x1(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y1(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y1(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_x2(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x2(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y2(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y2(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGLineElement, 0x30510516, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGLineElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGLineElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGLineElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGLineElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGLineElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGLineElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGLineElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGLineElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGLineElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_x1)(
        ISVGLineElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x1)(
        ISVGLineElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y1)(
        ISVGLineElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y1)(
        ISVGLineElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_x2)(
        ISVGLineElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x2)(
        ISVGLineElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y2)(
        ISVGLineElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y2)(
        ISVGLineElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGLineElementVtbl;

interface ISVGLineElement {
    CONST_VTBL ISVGLineElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGLineElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGLineElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGLineElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGLineElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGLineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGLineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGLineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGLineElement methods ***/
#define ISVGLineElement_putref_x1(This,v) (This)->lpVtbl->putref_x1(This,v)
#define ISVGLineElement_get_x1(This,p) (This)->lpVtbl->get_x1(This,p)
#define ISVGLineElement_putref_y1(This,v) (This)->lpVtbl->putref_y1(This,v)
#define ISVGLineElement_get_y1(This,p) (This)->lpVtbl->get_y1(This,p)
#define ISVGLineElement_putref_x2(This,v) (This)->lpVtbl->putref_x2(This,v)
#define ISVGLineElement_get_x2(This,p) (This)->lpVtbl->get_x2(This,p)
#define ISVGLineElement_putref_y2(This,v) (This)->lpVtbl->putref_y2(This,v)
#define ISVGLineElement_get_y2(This,p) (This)->lpVtbl->get_y2(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGLineElement_QueryInterface(ISVGLineElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGLineElement_AddRef(ISVGLineElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGLineElement_Release(ISVGLineElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGLineElement_GetTypeInfoCount(ISVGLineElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGLineElement_GetTypeInfo(ISVGLineElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGLineElement_GetIDsOfNames(ISVGLineElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGLineElement_Invoke(ISVGLineElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGLineElement methods ***/
static inline HRESULT ISVGLineElement_putref_x1(ISVGLineElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x1(This,v);
}
static inline HRESULT ISVGLineElement_get_x1(ISVGLineElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x1(This,p);
}
static inline HRESULT ISVGLineElement_putref_y1(ISVGLineElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y1(This,v);
}
static inline HRESULT ISVGLineElement_get_y1(ISVGLineElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y1(This,p);
}
static inline HRESULT ISVGLineElement_putref_x2(ISVGLineElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x2(This,v);
}
static inline HRESULT ISVGLineElement_get_x2(ISVGLineElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x2(This,p);
}
static inline HRESULT ISVGLineElement_putref_y2(ISVGLineElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y2(This,v);
}
static inline HRESULT ISVGLineElement_get_y2(ISVGLineElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y2(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGLineElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGRectElement interface
 */
#ifndef __ISVGRectElement_INTERFACE_DEFINED__
#define __ISVGRectElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGRectElement, 0x30510513, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510513-98b5-11cf-bb82-00aa00bdce0b")
ISVGRectElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_x(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_width(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_height(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_rx(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rx(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_ry(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ry(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGRectElement, 0x30510513, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGRectElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGRectElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGRectElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGRectElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGRectElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGRectElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGRectElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGRectElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGRectElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_x)(
        ISVGRectElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGRectElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y)(
        ISVGRectElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGRectElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_width)(
        ISVGRectElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        ISVGRectElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_height)(
        ISVGRectElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ISVGRectElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_rx)(
        ISVGRectElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_rx)(
        ISVGRectElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_ry)(
        ISVGRectElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_ry)(
        ISVGRectElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGRectElementVtbl;

interface ISVGRectElement {
    CONST_VTBL ISVGRectElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGRectElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGRectElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGRectElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGRectElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGRectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGRectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGRectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGRectElement methods ***/
#define ISVGRectElement_putref_x(This,v) (This)->lpVtbl->putref_x(This,v)
#define ISVGRectElement_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGRectElement_putref_y(This,v) (This)->lpVtbl->putref_y(This,v)
#define ISVGRectElement_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGRectElement_putref_width(This,v) (This)->lpVtbl->putref_width(This,v)
#define ISVGRectElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ISVGRectElement_putref_height(This,v) (This)->lpVtbl->putref_height(This,v)
#define ISVGRectElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define ISVGRectElement_putref_rx(This,v) (This)->lpVtbl->putref_rx(This,v)
#define ISVGRectElement_get_rx(This,p) (This)->lpVtbl->get_rx(This,p)
#define ISVGRectElement_putref_ry(This,v) (This)->lpVtbl->putref_ry(This,v)
#define ISVGRectElement_get_ry(This,p) (This)->lpVtbl->get_ry(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGRectElement_QueryInterface(ISVGRectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGRectElement_AddRef(ISVGRectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGRectElement_Release(ISVGRectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGRectElement_GetTypeInfoCount(ISVGRectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGRectElement_GetTypeInfo(ISVGRectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGRectElement_GetIDsOfNames(ISVGRectElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGRectElement_Invoke(ISVGRectElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGRectElement methods ***/
static inline HRESULT ISVGRectElement_putref_x(ISVGRectElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x(This,v);
}
static inline HRESULT ISVGRectElement_get_x(ISVGRectElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGRectElement_putref_y(ISVGRectElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y(This,v);
}
static inline HRESULT ISVGRectElement_get_y(ISVGRectElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGRectElement_putref_width(ISVGRectElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_width(This,v);
}
static inline HRESULT ISVGRectElement_get_width(ISVGRectElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ISVGRectElement_putref_height(ISVGRectElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_height(This,v);
}
static inline HRESULT ISVGRectElement_get_height(ISVGRectElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT ISVGRectElement_putref_rx(ISVGRectElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_rx(This,v);
}
static inline HRESULT ISVGRectElement_get_rx(ISVGRectElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_rx(This,p);
}
static inline HRESULT ISVGRectElement_putref_ry(ISVGRectElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_ry(This,v);
}
static inline HRESULT ISVGRectElement_get_ry(ISVGRectElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_ry(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGRectElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPolygonElement interface
 */
#ifndef __ISVGPolygonElement_INTERFACE_DEFINED__
#define __ISVGPolygonElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPolygonElement, 0x30510519, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510519-98b5-11cf-bb82-00aa00bdce0b")
ISVGPolygonElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPolygonElement, 0x30510519, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPolygonElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPolygonElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPolygonElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPolygonElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPolygonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPolygonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPolygonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPolygonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGPolygonElementVtbl;

interface ISVGPolygonElement {
    CONST_VTBL ISVGPolygonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPolygonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPolygonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPolygonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPolygonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPolygonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPolygonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPolygonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPolygonElement_QueryInterface(ISVGPolygonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPolygonElement_AddRef(ISVGPolygonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPolygonElement_Release(ISVGPolygonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPolygonElement_GetTypeInfoCount(ISVGPolygonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPolygonElement_GetTypeInfo(ISVGPolygonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPolygonElement_GetIDsOfNames(ISVGPolygonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPolygonElement_Invoke(ISVGPolygonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGPolygonElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPolylineElement interface
 */
#ifndef __ISVGPolylineElement_INTERFACE_DEFINED__
#define __ISVGPolylineElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPolylineElement, 0x30510518, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510518-98b5-11cf-bb82-00aa00bdce0b")
ISVGPolylineElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPolylineElement, 0x30510518, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPolylineElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPolylineElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPolylineElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPolylineElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPolylineElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPolylineElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPolylineElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPolylineElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGPolylineElementVtbl;

interface ISVGPolylineElement {
    CONST_VTBL ISVGPolylineElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPolylineElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPolylineElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPolylineElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPolylineElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPolylineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPolylineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPolylineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPolylineElement_QueryInterface(ISVGPolylineElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPolylineElement_AddRef(ISVGPolylineElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPolylineElement_Release(ISVGPolylineElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPolylineElement_GetTypeInfoCount(ISVGPolylineElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPolylineElement_GetTypeInfo(ISVGPolylineElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPolylineElement_GetIDsOfNames(ISVGPolylineElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPolylineElement_Invoke(ISVGPolylineElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGPolylineElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGCircleElement dispinterface
 */
#ifndef __DispSVGCircleElement_DISPINTERFACE_DEFINED__
#define __DispSVGCircleElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGCircleElement, 0x3059000a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059000a-98b5-11cf-bb82-00aa00bdce0b")
DispSVGCircleElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGCircleElement, 0x3059000a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGCircleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGCircleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGCircleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGCircleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGCircleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGCircleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGCircleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGCircleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGCircleElementVtbl;

interface DispSVGCircleElement {
    CONST_VTBL DispSVGCircleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGCircleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGCircleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGCircleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGCircleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGCircleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGCircleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGCircleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGCircleElement_QueryInterface(DispSVGCircleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGCircleElement_AddRef(DispSVGCircleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGCircleElement_Release(DispSVGCircleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGCircleElement_GetTypeInfoCount(DispSVGCircleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGCircleElement_GetTypeInfo(DispSVGCircleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGCircleElement_GetIDsOfNames(DispSVGCircleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGCircleElement_Invoke(DispSVGCircleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGCircleElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGCircleElement coclass
 */

DEFINE_GUID(CLSID_SVGCircleElement, 0x30510578, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510578-98b5-11cf-bb82-00aa00bdce0b") SVGCircleElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGCircleElement, 0x30510578, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGCircleElement;
/*****************************************************************************
 * DispSVGEllipseElement dispinterface
 */
#ifndef __DispSVGEllipseElement_DISPINTERFACE_DEFINED__
#define __DispSVGEllipseElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGEllipseElement, 0x3059000b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059000b-98b5-11cf-bb82-00aa00bdce0b")
DispSVGEllipseElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGEllipseElement, 0x3059000b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGEllipseElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGEllipseElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGEllipseElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGEllipseElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGEllipseElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGEllipseElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGEllipseElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGEllipseElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGEllipseElementVtbl;

interface DispSVGEllipseElement {
    CONST_VTBL DispSVGEllipseElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGEllipseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGEllipseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGEllipseElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGEllipseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGEllipseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGEllipseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGEllipseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGEllipseElement_QueryInterface(DispSVGEllipseElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGEllipseElement_AddRef(DispSVGEllipseElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGEllipseElement_Release(DispSVGEllipseElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGEllipseElement_GetTypeInfoCount(DispSVGEllipseElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGEllipseElement_GetTypeInfo(DispSVGEllipseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGEllipseElement_GetIDsOfNames(DispSVGEllipseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGEllipseElement_Invoke(DispSVGEllipseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGEllipseElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGEllipseElement coclass
 */

DEFINE_GUID(CLSID_SVGEllipseElement, 0x30510579, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510579-98b5-11cf-bb82-00aa00bdce0b") SVGEllipseElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGEllipseElement, 0x30510579, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGEllipseElement;
/*****************************************************************************
 * DispSVGLineElement dispinterface
 */
#ifndef __DispSVGLineElement_DISPINTERFACE_DEFINED__
#define __DispSVGLineElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGLineElement, 0x3059000c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059000c-98b5-11cf-bb82-00aa00bdce0b")
DispSVGLineElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGLineElement, 0x3059000c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGLineElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGLineElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGLineElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGLineElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGLineElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGLineElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGLineElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGLineElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGLineElementVtbl;

interface DispSVGLineElement {
    CONST_VTBL DispSVGLineElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGLineElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGLineElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGLineElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGLineElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGLineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGLineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGLineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGLineElement_QueryInterface(DispSVGLineElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGLineElement_AddRef(DispSVGLineElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGLineElement_Release(DispSVGLineElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGLineElement_GetTypeInfoCount(DispSVGLineElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGLineElement_GetTypeInfo(DispSVGLineElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGLineElement_GetIDsOfNames(DispSVGLineElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGLineElement_Invoke(DispSVGLineElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGLineElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGLineElement coclass
 */

DEFINE_GUID(CLSID_SVGLineElement, 0x3051057a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051057a-98b5-11cf-bb82-00aa00bdce0b") SVGLineElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGLineElement, 0x3051057a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGLineElement;
/*****************************************************************************
 * DispSVGRectElement dispinterface
 */
#ifndef __DispSVGRectElement_DISPINTERFACE_DEFINED__
#define __DispSVGRectElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGRectElement, 0x30590009, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590009-98b5-11cf-bb82-00aa00bdce0b")
DispSVGRectElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGRectElement, 0x30590009, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGRectElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGRectElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGRectElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGRectElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGRectElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGRectElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGRectElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGRectElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGRectElementVtbl;

interface DispSVGRectElement {
    CONST_VTBL DispSVGRectElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGRectElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGRectElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGRectElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGRectElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGRectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGRectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGRectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGRectElement_QueryInterface(DispSVGRectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGRectElement_AddRef(DispSVGRectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGRectElement_Release(DispSVGRectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGRectElement_GetTypeInfoCount(DispSVGRectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGRectElement_GetTypeInfo(DispSVGRectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGRectElement_GetIDsOfNames(DispSVGRectElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGRectElement_Invoke(DispSVGRectElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGRectElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGRectElement coclass
 */

DEFINE_GUID(CLSID_SVGRectElement, 0x30510577, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510577-98b5-11cf-bb82-00aa00bdce0b") SVGRectElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGRectElement, 0x30510577, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGRectElement;
/*****************************************************************************
 * DispSVGPolygonElement dispinterface
 */
#ifndef __DispSVGPolygonElement_DISPINTERFACE_DEFINED__
#define __DispSVGPolygonElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPolygonElement, 0x3059000d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059000d-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPolygonElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPolygonElement, 0x3059000d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPolygonElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPolygonElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPolygonElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPolygonElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPolygonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPolygonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPolygonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPolygonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPolygonElementVtbl;

interface DispSVGPolygonElement {
    CONST_VTBL DispSVGPolygonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPolygonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPolygonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPolygonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPolygonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPolygonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPolygonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPolygonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPolygonElement_QueryInterface(DispSVGPolygonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPolygonElement_AddRef(DispSVGPolygonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPolygonElement_Release(DispSVGPolygonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPolygonElement_GetTypeInfoCount(DispSVGPolygonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPolygonElement_GetTypeInfo(DispSVGPolygonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPolygonElement_GetIDsOfNames(DispSVGPolygonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPolygonElement_Invoke(DispSVGPolygonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPolygonElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPolygonElement coclass
 */

DEFINE_GUID(CLSID_SVGPolygonElement, 0x3051057b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051057b-98b5-11cf-bb82-00aa00bdce0b") SVGPolygonElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPolygonElement, 0x3051057b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPolygonElement;
/*****************************************************************************
 * DispSVGPolylineElement dispinterface
 */
#ifndef __DispSVGPolylineElement_DISPINTERFACE_DEFINED__
#define __DispSVGPolylineElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPolylineElement, 0x3059000e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059000e-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPolylineElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPolylineElement, 0x3059000e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPolylineElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPolylineElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPolylineElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPolylineElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPolylineElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPolylineElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPolylineElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPolylineElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPolylineElementVtbl;

interface DispSVGPolylineElement {
    CONST_VTBL DispSVGPolylineElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPolylineElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPolylineElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPolylineElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPolylineElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPolylineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPolylineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPolylineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPolylineElement_QueryInterface(DispSVGPolylineElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPolylineElement_AddRef(DispSVGPolylineElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPolylineElement_Release(DispSVGPolylineElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPolylineElement_GetTypeInfoCount(DispSVGPolylineElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPolylineElement_GetTypeInfo(DispSVGPolylineElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPolylineElement_GetIDsOfNames(DispSVGPolylineElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPolylineElement_Invoke(DispSVGPolylineElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPolylineElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPolylineElement coclass
 */

DEFINE_GUID(CLSID_SVGPolylineElement, 0x3051057c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051057c-98b5-11cf-bb82-00aa00bdce0b") SVGPolylineElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPolylineElement, 0x3051057c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPolylineElement;
/*****************************************************************************
 * ISVGGElement interface
 */
#ifndef __ISVGGElement_INTERFACE_DEFINED__
#define __ISVGGElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGGElement, 0x305104e8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e8-98b5-11cf-bb82-00aa00bdce0b")
ISVGGElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGGElement, 0x305104e8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGGElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGGElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGGElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGGElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGGElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGGElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGGElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGGElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGGElementVtbl;

interface ISVGGElement {
    CONST_VTBL ISVGGElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGGElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGGElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGGElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGGElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGGElement_QueryInterface(ISVGGElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGGElement_AddRef(ISVGGElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGGElement_Release(ISVGGElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGGElement_GetTypeInfoCount(ISVGGElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGGElement_GetTypeInfo(ISVGGElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGGElement_GetIDsOfNames(ISVGGElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGGElement_Invoke(ISVGGElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGGElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGGElement dispinterface
 */
#ifndef __DispSVGGElement_DISPINTERFACE_DEFINED__
#define __DispSVGGElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGGElement, 0x30590002, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590002-98b5-11cf-bb82-00aa00bdce0b")
DispSVGGElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGGElement, 0x30590002, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGGElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGGElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGGElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGGElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGGElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGGElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGGElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGGElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGGElementVtbl;

interface DispSVGGElement {
    CONST_VTBL DispSVGGElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGGElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGGElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGGElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGGElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGGElement_QueryInterface(DispSVGGElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGGElement_AddRef(DispSVGGElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGGElement_Release(DispSVGGElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGGElement_GetTypeInfoCount(DispSVGGElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGGElement_GetTypeInfo(DispSVGGElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGGElement_GetIDsOfNames(DispSVGGElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGGElement_Invoke(DispSVGGElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGGElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGGElement coclass
 */

DEFINE_GUID(CLSID_SVGGElement, 0x3051056f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051056f-98b5-11cf-bb82-00aa00bdce0b") SVGGElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGGElement, 0x3051056f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGGElement;
/*****************************************************************************
 * ISVGSymbolElement interface
 */
#ifndef __ISVGSymbolElement_INTERFACE_DEFINED__
#define __ISVGSymbolElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGSymbolElement, 0x305104ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ec-98b5-11cf-bb82-00aa00bdce0b")
ISVGSymbolElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGSymbolElement, 0x305104ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGSymbolElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGSymbolElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGSymbolElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGSymbolElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGSymbolElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGSymbolElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGSymbolElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGSymbolElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGSymbolElementVtbl;

interface ISVGSymbolElement {
    CONST_VTBL ISVGSymbolElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGSymbolElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGSymbolElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGSymbolElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGSymbolElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGSymbolElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGSymbolElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGSymbolElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGSymbolElement_QueryInterface(ISVGSymbolElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGSymbolElement_AddRef(ISVGSymbolElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGSymbolElement_Release(ISVGSymbolElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGSymbolElement_GetTypeInfoCount(ISVGSymbolElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGSymbolElement_GetTypeInfo(ISVGSymbolElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGSymbolElement_GetIDsOfNames(ISVGSymbolElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGSymbolElement_Invoke(ISVGSymbolElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGSymbolElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGSymbolElement dispinterface
 */
#ifndef __DispSVGSymbolElement_DISPINTERFACE_DEFINED__
#define __DispSVGSymbolElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGSymbolElement, 0x30590004, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590004-98b5-11cf-bb82-00aa00bdce0b")
DispSVGSymbolElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGSymbolElement, 0x30590004, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGSymbolElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGSymbolElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGSymbolElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGSymbolElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGSymbolElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGSymbolElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGSymbolElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGSymbolElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGSymbolElementVtbl;

interface DispSVGSymbolElement {
    CONST_VTBL DispSVGSymbolElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGSymbolElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGSymbolElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGSymbolElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGSymbolElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGSymbolElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGSymbolElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGSymbolElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGSymbolElement_QueryInterface(DispSVGSymbolElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGSymbolElement_AddRef(DispSVGSymbolElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGSymbolElement_Release(DispSVGSymbolElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGSymbolElement_GetTypeInfoCount(DispSVGSymbolElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGSymbolElement_GetTypeInfo(DispSVGSymbolElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGSymbolElement_GetIDsOfNames(DispSVGSymbolElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGSymbolElement_Invoke(DispSVGSymbolElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGSymbolElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGSymbolElement coclass
 */

DEFINE_GUID(CLSID_SVGSymbolElement, 0x30510571, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510571-98b5-11cf-bb82-00aa00bdce0b") SVGSymbolElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGSymbolElement, 0x30510571, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGSymbolElement;
/*****************************************************************************
 * ISVGDefsElement interface
 */
#ifndef __ISVGDefsElement_INTERFACE_DEFINED__
#define __ISVGDefsElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGDefsElement, 0x305104e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104e9-98b5-11cf-bb82-00aa00bdce0b")
ISVGDefsElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGDefsElement, 0x305104e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGDefsElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGDefsElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGDefsElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGDefsElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGDefsElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGDefsElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGDefsElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGDefsElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGDefsElementVtbl;

interface ISVGDefsElement {
    CONST_VTBL ISVGDefsElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGDefsElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGDefsElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGDefsElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGDefsElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGDefsElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGDefsElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGDefsElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGDefsElement_QueryInterface(ISVGDefsElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGDefsElement_AddRef(ISVGDefsElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGDefsElement_Release(ISVGDefsElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGDefsElement_GetTypeInfoCount(ISVGDefsElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGDefsElement_GetTypeInfo(ISVGDefsElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGDefsElement_GetIDsOfNames(ISVGDefsElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGDefsElement_Invoke(ISVGDefsElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGDefsElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGDefsElement dispinterface
 */
#ifndef __DispSVGDefsElement_DISPINTERFACE_DEFINED__
#define __DispSVGDefsElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGDefsElement, 0x30590003, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590003-98b5-11cf-bb82-00aa00bdce0b")
DispSVGDefsElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGDefsElement, 0x30590003, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGDefsElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGDefsElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGDefsElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGDefsElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGDefsElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGDefsElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGDefsElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGDefsElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGDefsElementVtbl;

interface DispSVGDefsElement {
    CONST_VTBL DispSVGDefsElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGDefsElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGDefsElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGDefsElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGDefsElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGDefsElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGDefsElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGDefsElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGDefsElement_QueryInterface(DispSVGDefsElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGDefsElement_AddRef(DispSVGDefsElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGDefsElement_Release(DispSVGDefsElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGDefsElement_GetTypeInfoCount(DispSVGDefsElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGDefsElement_GetTypeInfo(DispSVGDefsElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGDefsElement_GetIDsOfNames(DispSVGDefsElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGDefsElement_Invoke(DispSVGDefsElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGDefsElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGDefsElement coclass
 */

DEFINE_GUID(CLSID_SVGDefsElement, 0x30510570, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510570-98b5-11cf-bb82-00aa00bdce0b") SVGDefsElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGDefsElement, 0x30510570, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGDefsElement;
/*****************************************************************************
 * ISVGAnimatedPathData interface
 */
#ifndef __ISVGAnimatedPathData_INTERFACE_DEFINED__
#define __ISVGAnimatedPathData_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedPathData, 0x30510511, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510511-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedPathData : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_pathSegList(
        ISVGPathSegList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pathSegList(
        ISVGPathSegList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_normalizedPathSegList(
        ISVGPathSegList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_normalizedPathSegList(
        ISVGPathSegList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animatedPathSegList(
        ISVGPathSegList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animatedPathSegList(
        ISVGPathSegList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animatedNormalizedPathSegList(
        ISVGPathSegList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animatedNormalizedPathSegList(
        ISVGPathSegList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedPathData, 0x30510511, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedPathDataVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedPathData *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedPathData *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedPathData *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedPathData *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedPathData *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedPathData *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedPathData *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedPathData methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_pathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList *v);

    HRESULT (STDMETHODCALLTYPE *get_pathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList **p);

    HRESULT (STDMETHODCALLTYPE *putref_normalizedPathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList *v);

    HRESULT (STDMETHODCALLTYPE *get_normalizedPathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList **p);

    HRESULT (STDMETHODCALLTYPE *putref_animatedPathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList *v);

    HRESULT (STDMETHODCALLTYPE *get_animatedPathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList **p);

    HRESULT (STDMETHODCALLTYPE *putref_animatedNormalizedPathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList *v);

    HRESULT (STDMETHODCALLTYPE *get_animatedNormalizedPathSegList)(
        ISVGAnimatedPathData *This,
        ISVGPathSegList **p);

    END_INTERFACE
} ISVGAnimatedPathDataVtbl;

interface ISVGAnimatedPathData {
    CONST_VTBL ISVGAnimatedPathDataVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedPathData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedPathData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedPathData_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedPathData_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedPathData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedPathData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedPathData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedPathData methods ***/
#define ISVGAnimatedPathData_putref_pathSegList(This,v) (This)->lpVtbl->putref_pathSegList(This,v)
#define ISVGAnimatedPathData_get_pathSegList(This,p) (This)->lpVtbl->get_pathSegList(This,p)
#define ISVGAnimatedPathData_putref_normalizedPathSegList(This,v) (This)->lpVtbl->putref_normalizedPathSegList(This,v)
#define ISVGAnimatedPathData_get_normalizedPathSegList(This,p) (This)->lpVtbl->get_normalizedPathSegList(This,p)
#define ISVGAnimatedPathData_putref_animatedPathSegList(This,v) (This)->lpVtbl->putref_animatedPathSegList(This,v)
#define ISVGAnimatedPathData_get_animatedPathSegList(This,p) (This)->lpVtbl->get_animatedPathSegList(This,p)
#define ISVGAnimatedPathData_putref_animatedNormalizedPathSegList(This,v) (This)->lpVtbl->putref_animatedNormalizedPathSegList(This,v)
#define ISVGAnimatedPathData_get_animatedNormalizedPathSegList(This,p) (This)->lpVtbl->get_animatedNormalizedPathSegList(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedPathData_QueryInterface(ISVGAnimatedPathData* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedPathData_AddRef(ISVGAnimatedPathData* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedPathData_Release(ISVGAnimatedPathData* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedPathData_GetTypeInfoCount(ISVGAnimatedPathData* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedPathData_GetTypeInfo(ISVGAnimatedPathData* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedPathData_GetIDsOfNames(ISVGAnimatedPathData* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedPathData_Invoke(ISVGAnimatedPathData* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedPathData methods ***/
static inline HRESULT ISVGAnimatedPathData_putref_pathSegList(ISVGAnimatedPathData* This,ISVGPathSegList *v) {
    return This->lpVtbl->putref_pathSegList(This,v);
}
static inline HRESULT ISVGAnimatedPathData_get_pathSegList(ISVGAnimatedPathData* This,ISVGPathSegList **p) {
    return This->lpVtbl->get_pathSegList(This,p);
}
static inline HRESULT ISVGAnimatedPathData_putref_normalizedPathSegList(ISVGAnimatedPathData* This,ISVGPathSegList *v) {
    return This->lpVtbl->putref_normalizedPathSegList(This,v);
}
static inline HRESULT ISVGAnimatedPathData_get_normalizedPathSegList(ISVGAnimatedPathData* This,ISVGPathSegList **p) {
    return This->lpVtbl->get_normalizedPathSegList(This,p);
}
static inline HRESULT ISVGAnimatedPathData_putref_animatedPathSegList(ISVGAnimatedPathData* This,ISVGPathSegList *v) {
    return This->lpVtbl->putref_animatedPathSegList(This,v);
}
static inline HRESULT ISVGAnimatedPathData_get_animatedPathSegList(ISVGAnimatedPathData* This,ISVGPathSegList **p) {
    return This->lpVtbl->get_animatedPathSegList(This,p);
}
static inline HRESULT ISVGAnimatedPathData_putref_animatedNormalizedPathSegList(ISVGAnimatedPathData* This,ISVGPathSegList *v) {
    return This->lpVtbl->putref_animatedNormalizedPathSegList(This,v);
}
static inline HRESULT ISVGAnimatedPathData_get_animatedNormalizedPathSegList(ISVGAnimatedPathData* This,ISVGPathSegList **p) {
    return This->lpVtbl->get_animatedNormalizedPathSegList(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedPathData_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGPathElement interface
 */
#ifndef __ISVGPathElement_INTERFACE_DEFINED__
#define __ISVGPathElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPathElement, 0x30510512, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510512-98b5-11cf-bb82-00aa00bdce0b")
ISVGPathElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_pathLength(
        ISVGAnimatedNumber *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pathLength(
        ISVGAnimatedNumber **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getTotalLength(
        float *pfltResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPointAtLength(
        float fltdistance,
        ISVGPoint **ppPointResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPathSegAtLength(
        float fltdistance,
        LONG *plResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegClosePath(
        ISVGPathSegClosePath **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegMovetoAbs(
        float x,
        float y,
        ISVGPathSegMovetoAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegMovetoRel(
        float x,
        float y,
        ISVGPathSegMovetoRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoAbs(
        float x,
        float y,
        ISVGPathSegLinetoAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoRel(
        float x,
        float y,
        ISVGPathSegLinetoRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicAbs(
        float x,
        float y,
        float x1,
        float y1,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicRel(
        float x,
        float y,
        float x1,
        float y1,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticAbs(
        float x,
        float y,
        float x1,
        float y1,
        ISVGPathSegCurvetoQuadraticAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticRel(
        float x,
        float y,
        float x1,
        float y1,
        ISVGPathSegCurvetoQuadraticRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegArcAbs(
        float x,
        float y,
        float r1,
        float r2,
        float angle,
        VARIANT_BOOL largeArcFlag,
        VARIANT_BOOL sweepFlag,
        ISVGPathSegArcAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegArcRel(
        float x,
        float y,
        float r1,
        float r2,
        float angle,
        VARIANT_BOOL largeArcFlag,
        VARIANT_BOOL sweepFlag,
        ISVGPathSegArcRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoHorizontalAbs(
        float x,
        ISVGPathSegLinetoHorizontalAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoHorizontalRel(
        float x,
        ISVGPathSegLinetoHorizontalRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoVerticalAbs(
        float y,
        ISVGPathSegLinetoVerticalAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoVerticalRel(
        float y,
        ISVGPathSegLinetoVerticalRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicSmoothAbs(
        float x,
        float y,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicSmoothAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicSmoothRel(
        float x,
        float y,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicSmoothRel **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticSmoothAbs(
        float x,
        float y,
        ISVGPathSegCurvetoQuadraticSmoothAbs **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticSmoothRel(
        float x,
        float y,
        ISVGPathSegCurvetoQuadraticSmoothRel **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPathElement, 0x30510512, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPathElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPathElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPathElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPathElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPathElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPathElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPathElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPathElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPathElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_pathLength)(
        ISVGPathElement *This,
        ISVGAnimatedNumber *v);

    HRESULT (STDMETHODCALLTYPE *get_pathLength)(
        ISVGPathElement *This,
        ISVGAnimatedNumber **p);

    HRESULT (STDMETHODCALLTYPE *getTotalLength)(
        ISVGPathElement *This,
        float *pfltResult);

    HRESULT (STDMETHODCALLTYPE *getPointAtLength)(
        ISVGPathElement *This,
        float fltdistance,
        ISVGPoint **ppPointResult);

    HRESULT (STDMETHODCALLTYPE *getPathSegAtLength)(
        ISVGPathElement *This,
        float fltdistance,
        LONG *plResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegClosePath)(
        ISVGPathElement *This,
        ISVGPathSegClosePath **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegMovetoAbs)(
        ISVGPathElement *This,
        float x,
        float y,
        ISVGPathSegMovetoAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegMovetoRel)(
        ISVGPathElement *This,
        float x,
        float y,
        ISVGPathSegMovetoRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegLinetoAbs)(
        ISVGPathElement *This,
        float x,
        float y,
        ISVGPathSegLinetoAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegLinetoRel)(
        ISVGPathElement *This,
        float x,
        float y,
        ISVGPathSegLinetoRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicAbs)(
        ISVGPathElement *This,
        float x,
        float y,
        float x1,
        float y1,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicRel)(
        ISVGPathElement *This,
        float x,
        float y,
        float x1,
        float y1,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticAbs)(
        ISVGPathElement *This,
        float x,
        float y,
        float x1,
        float y1,
        ISVGPathSegCurvetoQuadraticAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticRel)(
        ISVGPathElement *This,
        float x,
        float y,
        float x1,
        float y1,
        ISVGPathSegCurvetoQuadraticRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegArcAbs)(
        ISVGPathElement *This,
        float x,
        float y,
        float r1,
        float r2,
        float angle,
        VARIANT_BOOL largeArcFlag,
        VARIANT_BOOL sweepFlag,
        ISVGPathSegArcAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegArcRel)(
        ISVGPathElement *This,
        float x,
        float y,
        float r1,
        float r2,
        float angle,
        VARIANT_BOOL largeArcFlag,
        VARIANT_BOOL sweepFlag,
        ISVGPathSegArcRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegLinetoHorizontalAbs)(
        ISVGPathElement *This,
        float x,
        ISVGPathSegLinetoHorizontalAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegLinetoHorizontalRel)(
        ISVGPathElement *This,
        float x,
        ISVGPathSegLinetoHorizontalRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegLinetoVerticalAbs)(
        ISVGPathElement *This,
        float y,
        ISVGPathSegLinetoVerticalAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegLinetoVerticalRel)(
        ISVGPathElement *This,
        float y,
        ISVGPathSegLinetoVerticalRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicSmoothAbs)(
        ISVGPathElement *This,
        float x,
        float y,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicSmoothAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicSmoothRel)(
        ISVGPathElement *This,
        float x,
        float y,
        float x2,
        float y2,
        ISVGPathSegCurvetoCubicSmoothRel **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticSmoothAbs)(
        ISVGPathElement *This,
        float x,
        float y,
        ISVGPathSegCurvetoQuadraticSmoothAbs **ppResult);

    HRESULT (STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticSmoothRel)(
        ISVGPathElement *This,
        float x,
        float y,
        ISVGPathSegCurvetoQuadraticSmoothRel **ppResult);

    END_INTERFACE
} ISVGPathElementVtbl;

interface ISVGPathElement {
    CONST_VTBL ISVGPathElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPathElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPathElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPathElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPathElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPathElement methods ***/
#define ISVGPathElement_putref_pathLength(This,v) (This)->lpVtbl->putref_pathLength(This,v)
#define ISVGPathElement_get_pathLength(This,p) (This)->lpVtbl->get_pathLength(This,p)
#define ISVGPathElement_getTotalLength(This,pfltResult) (This)->lpVtbl->getTotalLength(This,pfltResult)
#define ISVGPathElement_getPointAtLength(This,fltdistance,ppPointResult) (This)->lpVtbl->getPointAtLength(This,fltdistance,ppPointResult)
#define ISVGPathElement_getPathSegAtLength(This,fltdistance,plResult) (This)->lpVtbl->getPathSegAtLength(This,fltdistance,plResult)
#define ISVGPathElement_createSVGPathSegClosePath(This,ppResult) (This)->lpVtbl->createSVGPathSegClosePath(This,ppResult)
#define ISVGPathElement_createSVGPathSegMovetoAbs(This,x,y,ppResult) (This)->lpVtbl->createSVGPathSegMovetoAbs(This,x,y,ppResult)
#define ISVGPathElement_createSVGPathSegMovetoRel(This,x,y,ppResult) (This)->lpVtbl->createSVGPathSegMovetoRel(This,x,y,ppResult)
#define ISVGPathElement_createSVGPathSegLinetoAbs(This,x,y,ppResult) (This)->lpVtbl->createSVGPathSegLinetoAbs(This,x,y,ppResult)
#define ISVGPathElement_createSVGPathSegLinetoRel(This,x,y,ppResult) (This)->lpVtbl->createSVGPathSegLinetoRel(This,x,y,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoCubicAbs(This,x,y,x1,y1,x2,y2,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoCubicAbs(This,x,y,x1,y1,x2,y2,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoCubicRel(This,x,y,x1,y1,x2,y2,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoCubicRel(This,x,y,x1,y1,x2,y2,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoQuadraticAbs(This,x,y,x1,y1,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoQuadraticAbs(This,x,y,x1,y1,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoQuadraticRel(This,x,y,x1,y1,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoQuadraticRel(This,x,y,x1,y1,ppResult)
#define ISVGPathElement_createSVGPathSegArcAbs(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult) (This)->lpVtbl->createSVGPathSegArcAbs(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult)
#define ISVGPathElement_createSVGPathSegArcRel(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult) (This)->lpVtbl->createSVGPathSegArcRel(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult)
#define ISVGPathElement_createSVGPathSegLinetoHorizontalAbs(This,x,ppResult) (This)->lpVtbl->createSVGPathSegLinetoHorizontalAbs(This,x,ppResult)
#define ISVGPathElement_createSVGPathSegLinetoHorizontalRel(This,x,ppResult) (This)->lpVtbl->createSVGPathSegLinetoHorizontalRel(This,x,ppResult)
#define ISVGPathElement_createSVGPathSegLinetoVerticalAbs(This,y,ppResult) (This)->lpVtbl->createSVGPathSegLinetoVerticalAbs(This,y,ppResult)
#define ISVGPathElement_createSVGPathSegLinetoVerticalRel(This,y,ppResult) (This)->lpVtbl->createSVGPathSegLinetoVerticalRel(This,y,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoCubicSmoothAbs(This,x,y,x2,y2,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoCubicSmoothAbs(This,x,y,x2,y2,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoCubicSmoothRel(This,x,y,x2,y2,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoCubicSmoothRel(This,x,y,x2,y2,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothAbs(This,x,y,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoQuadraticSmoothAbs(This,x,y,ppResult)
#define ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothRel(This,x,y,ppResult) (This)->lpVtbl->createSVGPathSegCurvetoQuadraticSmoothRel(This,x,y,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPathElement_QueryInterface(ISVGPathElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPathElement_AddRef(ISVGPathElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPathElement_Release(ISVGPathElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPathElement_GetTypeInfoCount(ISVGPathElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPathElement_GetTypeInfo(ISVGPathElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPathElement_GetIDsOfNames(ISVGPathElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPathElement_Invoke(ISVGPathElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPathElement methods ***/
static inline HRESULT ISVGPathElement_putref_pathLength(ISVGPathElement* This,ISVGAnimatedNumber *v) {
    return This->lpVtbl->putref_pathLength(This,v);
}
static inline HRESULT ISVGPathElement_get_pathLength(ISVGPathElement* This,ISVGAnimatedNumber **p) {
    return This->lpVtbl->get_pathLength(This,p);
}
static inline HRESULT ISVGPathElement_getTotalLength(ISVGPathElement* This,float *pfltResult) {
    return This->lpVtbl->getTotalLength(This,pfltResult);
}
static inline HRESULT ISVGPathElement_getPointAtLength(ISVGPathElement* This,float fltdistance,ISVGPoint **ppPointResult) {
    return This->lpVtbl->getPointAtLength(This,fltdistance,ppPointResult);
}
static inline HRESULT ISVGPathElement_getPathSegAtLength(ISVGPathElement* This,float fltdistance,LONG *plResult) {
    return This->lpVtbl->getPathSegAtLength(This,fltdistance,plResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegClosePath(ISVGPathElement* This,ISVGPathSegClosePath **ppResult) {
    return This->lpVtbl->createSVGPathSegClosePath(This,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegMovetoAbs(ISVGPathElement* This,float x,float y,ISVGPathSegMovetoAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegMovetoAbs(This,x,y,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegMovetoRel(ISVGPathElement* This,float x,float y,ISVGPathSegMovetoRel **ppResult) {
    return This->lpVtbl->createSVGPathSegMovetoRel(This,x,y,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegLinetoAbs(ISVGPathElement* This,float x,float y,ISVGPathSegLinetoAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegLinetoAbs(This,x,y,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegLinetoRel(ISVGPathElement* This,float x,float y,ISVGPathSegLinetoRel **ppResult) {
    return This->lpVtbl->createSVGPathSegLinetoRel(This,x,y,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoCubicAbs(ISVGPathElement* This,float x,float y,float x1,float y1,float x2,float y2,ISVGPathSegCurvetoCubicAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoCubicAbs(This,x,y,x1,y1,x2,y2,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoCubicRel(ISVGPathElement* This,float x,float y,float x1,float y1,float x2,float y2,ISVGPathSegCurvetoCubicRel **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoCubicRel(This,x,y,x1,y1,x2,y2,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoQuadraticAbs(ISVGPathElement* This,float x,float y,float x1,float y1,ISVGPathSegCurvetoQuadraticAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoQuadraticAbs(This,x,y,x1,y1,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoQuadraticRel(ISVGPathElement* This,float x,float y,float x1,float y1,ISVGPathSegCurvetoQuadraticRel **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoQuadraticRel(This,x,y,x1,y1,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegArcAbs(ISVGPathElement* This,float x,float y,float r1,float r2,float angle,VARIANT_BOOL largeArcFlag,VARIANT_BOOL sweepFlag,ISVGPathSegArcAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegArcAbs(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegArcRel(ISVGPathElement* This,float x,float y,float r1,float r2,float angle,VARIANT_BOOL largeArcFlag,VARIANT_BOOL sweepFlag,ISVGPathSegArcRel **ppResult) {
    return This->lpVtbl->createSVGPathSegArcRel(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegLinetoHorizontalAbs(ISVGPathElement* This,float x,ISVGPathSegLinetoHorizontalAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegLinetoHorizontalAbs(This,x,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegLinetoHorizontalRel(ISVGPathElement* This,float x,ISVGPathSegLinetoHorizontalRel **ppResult) {
    return This->lpVtbl->createSVGPathSegLinetoHorizontalRel(This,x,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegLinetoVerticalAbs(ISVGPathElement* This,float y,ISVGPathSegLinetoVerticalAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegLinetoVerticalAbs(This,y,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegLinetoVerticalRel(ISVGPathElement* This,float y,ISVGPathSegLinetoVerticalRel **ppResult) {
    return This->lpVtbl->createSVGPathSegLinetoVerticalRel(This,y,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoCubicSmoothAbs(ISVGPathElement* This,float x,float y,float x2,float y2,ISVGPathSegCurvetoCubicSmoothAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoCubicSmoothAbs(This,x,y,x2,y2,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoCubicSmoothRel(ISVGPathElement* This,float x,float y,float x2,float y2,ISVGPathSegCurvetoCubicSmoothRel **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoCubicSmoothRel(This,x,y,x2,y2,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothAbs(ISVGPathElement* This,float x,float y,ISVGPathSegCurvetoQuadraticSmoothAbs **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoQuadraticSmoothAbs(This,x,y,ppResult);
}
static inline HRESULT ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothRel(ISVGPathElement* This,float x,float y,ISVGPathSegCurvetoQuadraticSmoothRel **ppResult) {
    return This->lpVtbl->createSVGPathSegCurvetoQuadraticSmoothRel(This,x,y,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGPathElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGPathElement dispinterface
 */
#ifndef __DispSVGPathElement_DISPINTERFACE_DEFINED__
#define __DispSVGPathElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGPathElement, 0x30590011, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590011-98b5-11cf-bb82-00aa00bdce0b")
DispSVGPathElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGPathElement, 0x30590011, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGPathElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGPathElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGPathElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGPathElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGPathElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGPathElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGPathElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGPathElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGPathElementVtbl;

interface DispSVGPathElement {
    CONST_VTBL DispSVGPathElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGPathElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGPathElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGPathElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGPathElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGPathElement_QueryInterface(DispSVGPathElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGPathElement_AddRef(DispSVGPathElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGPathElement_Release(DispSVGPathElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGPathElement_GetTypeInfoCount(DispSVGPathElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGPathElement_GetTypeInfo(DispSVGPathElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGPathElement_GetIDsOfNames(DispSVGPathElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGPathElement_Invoke(DispSVGPathElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGPathElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPathElement coclass
 */

DEFINE_GUID(CLSID_SVGPathElement, 0x305105b2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105b2-98b5-11cf-bb82-00aa00bdce0b") SVGPathElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPathElement, 0x305105b2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPathElement;
typedef enum _svgPreserveAspectRatioAlignType {
    SVG_PRESERVEASPECTRATIO_UNKNOWN = 0,
    SVG_PRESERVEASPECTRATIO_NONE = 1,
    SVG_PRESERVEASPECTRATIO_XMINYMIN = 2,
    SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3,
    SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4,
    SVG_PRESERVEASPECTRATIO_XMINYMID = 5,
    SVG_PRESERVEASPECTRATIO_XMIDYMID = 6,
    SVG_PRESERVEASPECTRATIO_XMAXYMID = 7,
    SVG_PRESERVEASPECTRATIO_XMINYMAX = 8,
    SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9,
    SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10,
    svgPreserveAspectRatioAlignType_Max = 0x7fffffff
} svgPreserveAspectRatioAlignType;
typedef enum _svgPreserveAspectMeetOrSliceType {
    SVG_MEETORSLICE_UNKNOWN = 0,
    SVG_MEETORSLICE_MEET = 1,
    SVG_MEETORSLICE_SLICE = 2,
    svgPreserveAspectMeetOrSliceType_Max = 0x7fffffff
} svgPreserveAspectMeetOrSliceType;
/*****************************************************************************
 * ISVGPreserveAspectRatio interface
 */
#ifndef __ISVGPreserveAspectRatio_INTERFACE_DEFINED__
#define __ISVGPreserveAspectRatio_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGPreserveAspectRatio, 0x305104fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104fa-98b5-11cf-bb82-00aa00bdce0b")
ISVGPreserveAspectRatio : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_align(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_align(
        short *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_meetOrSlice(
        short v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_meetOrSlice(
        short *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGPreserveAspectRatio, 0x305104fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGPreserveAspectRatioVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGPreserveAspectRatio *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGPreserveAspectRatio *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGPreserveAspectRatio *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGPreserveAspectRatio *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGPreserveAspectRatio *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGPreserveAspectRatio *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGPreserveAspectRatio *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGPreserveAspectRatio methods ***/
    HRESULT (STDMETHODCALLTYPE *put_align)(
        ISVGPreserveAspectRatio *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_align)(
        ISVGPreserveAspectRatio *This,
        short *p);

    HRESULT (STDMETHODCALLTYPE *put_meetOrSlice)(
        ISVGPreserveAspectRatio *This,
        short v);

    HRESULT (STDMETHODCALLTYPE *get_meetOrSlice)(
        ISVGPreserveAspectRatio *This,
        short *p);

    END_INTERFACE
} ISVGPreserveAspectRatioVtbl;

interface ISVGPreserveAspectRatio {
    CONST_VTBL ISVGPreserveAspectRatioVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGPreserveAspectRatio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGPreserveAspectRatio_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGPreserveAspectRatio_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGPreserveAspectRatio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGPreserveAspectRatio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGPreserveAspectRatio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGPreserveAspectRatio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGPreserveAspectRatio methods ***/
#define ISVGPreserveAspectRatio_put_align(This,v) (This)->lpVtbl->put_align(This,v)
#define ISVGPreserveAspectRatio_get_align(This,p) (This)->lpVtbl->get_align(This,p)
#define ISVGPreserveAspectRatio_put_meetOrSlice(This,v) (This)->lpVtbl->put_meetOrSlice(This,v)
#define ISVGPreserveAspectRatio_get_meetOrSlice(This,p) (This)->lpVtbl->get_meetOrSlice(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGPreserveAspectRatio_QueryInterface(ISVGPreserveAspectRatio* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGPreserveAspectRatio_AddRef(ISVGPreserveAspectRatio* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGPreserveAspectRatio_Release(ISVGPreserveAspectRatio* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGPreserveAspectRatio_GetTypeInfoCount(ISVGPreserveAspectRatio* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGPreserveAspectRatio_GetTypeInfo(ISVGPreserveAspectRatio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGPreserveAspectRatio_GetIDsOfNames(ISVGPreserveAspectRatio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGPreserveAspectRatio_Invoke(ISVGPreserveAspectRatio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGPreserveAspectRatio methods ***/
static inline HRESULT ISVGPreserveAspectRatio_put_align(ISVGPreserveAspectRatio* This,short v) {
    return This->lpVtbl->put_align(This,v);
}
static inline HRESULT ISVGPreserveAspectRatio_get_align(ISVGPreserveAspectRatio* This,short *p) {
    return This->lpVtbl->get_align(This,p);
}
static inline HRESULT ISVGPreserveAspectRatio_put_meetOrSlice(ISVGPreserveAspectRatio* This,short v) {
    return This->lpVtbl->put_meetOrSlice(This,v);
}
static inline HRESULT ISVGPreserveAspectRatio_get_meetOrSlice(ISVGPreserveAspectRatio* This,short *p) {
    return This->lpVtbl->get_meetOrSlice(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGPreserveAspectRatio_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGPreserveAspectRatio coclass
 */

DEFINE_GUID(CLSID_SVGPreserveAspectRatio, 0x305105d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d0-98b5-11cf-bb82-00aa00bdce0b") SVGPreserveAspectRatio;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGPreserveAspectRatio, 0x305105d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGPreserveAspectRatio;
/*****************************************************************************
 * ISVGTextElement interface
 */
#ifndef __ISVGTextElement_INTERFACE_DEFINED__
#define __ISVGTextElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTextElement, 0x3051051c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051051c-98b5-11cf-bb82-00aa00bdce0b")
ISVGTextElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTextElement, 0x3051051c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTextElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTextElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTextElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTextElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTextElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTextElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTextElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTextElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGTextElementVtbl;

interface ISVGTextElement {
    CONST_VTBL ISVGTextElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTextElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTextElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTextElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTextElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTextElement_QueryInterface(ISVGTextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTextElement_AddRef(ISVGTextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTextElement_Release(ISVGTextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTextElement_GetTypeInfoCount(ISVGTextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTextElement_GetTypeInfo(ISVGTextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTextElement_GetIDsOfNames(ISVGTextElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTextElement_Invoke(ISVGTextElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGTextElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGTextElement dispinterface
 */
#ifndef __DispSVGTextElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGTextElement, 0x30590037, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590037-98b5-11cf-bb82-00aa00bdce0b")
DispSVGTextElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGTextElement, 0x30590037, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGTextElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGTextElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGTextElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGTextElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGTextElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGTextElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGTextElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGTextElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGTextElementVtbl;

interface DispSVGTextElement {
    CONST_VTBL DispSVGTextElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGTextElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGTextElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGTextElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGTextElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGTextElement_QueryInterface(DispSVGTextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGTextElement_AddRef(DispSVGTextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGTextElement_Release(DispSVGTextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGTextElement_GetTypeInfoCount(DispSVGTextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGTextElement_GetTypeInfo(DispSVGTextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGTextElement_GetIDsOfNames(DispSVGTextElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGTextElement_Invoke(DispSVGTextElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGTextElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTextElement coclass
 */

DEFINE_GUID(CLSID_SVGTextElement, 0x305105df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105df-98b5-11cf-bb82-00aa00bdce0b") SVGTextElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTextElement, 0x305105df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTextElement;
#ifndef __ISVGPreserveAspectRatio_FWD_DEFINED__
#define __ISVGPreserveAspectRatio_FWD_DEFINED__
typedef interface ISVGPreserveAspectRatio ISVGPreserveAspectRatio;
#ifdef __cplusplus
interface ISVGPreserveAspectRatio;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGAnimatedPreserveAspectRatio interface
 */
#ifndef __ISVGAnimatedPreserveAspectRatio_INTERFACE_DEFINED__
#define __ISVGAnimatedPreserveAspectRatio_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAnimatedPreserveAspectRatio, 0x305104fb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104fb-98b5-11cf-bb82-00aa00bdce0b")
ISVGAnimatedPreserveAspectRatio : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_baseVal(
        ISVGPreserveAspectRatio *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseVal(
        ISVGPreserveAspectRatio **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_animVal(
        ISVGPreserveAspectRatio *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_animVal(
        ISVGPreserveAspectRatio **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAnimatedPreserveAspectRatio, 0x305104fb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAnimatedPreserveAspectRatioVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAnimatedPreserveAspectRatio *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAnimatedPreserveAspectRatio *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAnimatedPreserveAspectRatio *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAnimatedPreserveAspectRatio *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAnimatedPreserveAspectRatio *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAnimatedPreserveAspectRatio *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAnimatedPreserveAspectRatio *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAnimatedPreserveAspectRatio methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_baseVal)(
        ISVGAnimatedPreserveAspectRatio *This,
        ISVGPreserveAspectRatio *v);

    HRESULT (STDMETHODCALLTYPE *get_baseVal)(
        ISVGAnimatedPreserveAspectRatio *This,
        ISVGPreserveAspectRatio **p);

    HRESULT (STDMETHODCALLTYPE *putref_animVal)(
        ISVGAnimatedPreserveAspectRatio *This,
        ISVGPreserveAspectRatio *v);

    HRESULT (STDMETHODCALLTYPE *get_animVal)(
        ISVGAnimatedPreserveAspectRatio *This,
        ISVGPreserveAspectRatio **p);

    END_INTERFACE
} ISVGAnimatedPreserveAspectRatioVtbl;

interface ISVGAnimatedPreserveAspectRatio {
    CONST_VTBL ISVGAnimatedPreserveAspectRatioVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAnimatedPreserveAspectRatio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAnimatedPreserveAspectRatio_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAnimatedPreserveAspectRatio_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAnimatedPreserveAspectRatio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAnimatedPreserveAspectRatio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAnimatedPreserveAspectRatio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAnimatedPreserveAspectRatio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAnimatedPreserveAspectRatio methods ***/
#define ISVGAnimatedPreserveAspectRatio_putref_baseVal(This,v) (This)->lpVtbl->putref_baseVal(This,v)
#define ISVGAnimatedPreserveAspectRatio_get_baseVal(This,p) (This)->lpVtbl->get_baseVal(This,p)
#define ISVGAnimatedPreserveAspectRatio_putref_animVal(This,v) (This)->lpVtbl->putref_animVal(This,v)
#define ISVGAnimatedPreserveAspectRatio_get_animVal(This,p) (This)->lpVtbl->get_animVal(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAnimatedPreserveAspectRatio_QueryInterface(ISVGAnimatedPreserveAspectRatio* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAnimatedPreserveAspectRatio_AddRef(ISVGAnimatedPreserveAspectRatio* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAnimatedPreserveAspectRatio_Release(ISVGAnimatedPreserveAspectRatio* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAnimatedPreserveAspectRatio_GetTypeInfoCount(ISVGAnimatedPreserveAspectRatio* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAnimatedPreserveAspectRatio_GetTypeInfo(ISVGAnimatedPreserveAspectRatio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAnimatedPreserveAspectRatio_GetIDsOfNames(ISVGAnimatedPreserveAspectRatio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAnimatedPreserveAspectRatio_Invoke(ISVGAnimatedPreserveAspectRatio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAnimatedPreserveAspectRatio methods ***/
static inline HRESULT ISVGAnimatedPreserveAspectRatio_putref_baseVal(ISVGAnimatedPreserveAspectRatio* This,ISVGPreserveAspectRatio *v) {
    return This->lpVtbl->putref_baseVal(This,v);
}
static inline HRESULT ISVGAnimatedPreserveAspectRatio_get_baseVal(ISVGAnimatedPreserveAspectRatio* This,ISVGPreserveAspectRatio **p) {
    return This->lpVtbl->get_baseVal(This,p);
}
static inline HRESULT ISVGAnimatedPreserveAspectRatio_putref_animVal(ISVGAnimatedPreserveAspectRatio* This,ISVGPreserveAspectRatio *v) {
    return This->lpVtbl->putref_animVal(This,v);
}
static inline HRESULT ISVGAnimatedPreserveAspectRatio_get_animVal(ISVGAnimatedPreserveAspectRatio* This,ISVGPreserveAspectRatio **p) {
    return This->lpVtbl->get_animVal(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAnimatedPreserveAspectRatio_INTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAnimatedPreserveAspectRatio coclass
 */

DEFINE_GUID(CLSID_SVGAnimatedPreserveAspectRatio, 0x305105ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105ce-98b5-11cf-bb82-00aa00bdce0b") SVGAnimatedPreserveAspectRatio;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAnimatedPreserveAspectRatio, 0x305105ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAnimatedPreserveAspectRatio;
/*****************************************************************************
 * ISVGImageElement interface
 */
#ifndef __ISVGImageElement_INTERFACE_DEFINED__
#define __ISVGImageElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGImageElement, 0x305104f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f0-98b5-11cf-bb82-00aa00bdce0b")
ISVGImageElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_x(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_width(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_height(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGImageElement, 0x305104f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGImageElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGImageElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGImageElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGImageElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGImageElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGImageElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGImageElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGImageElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGImageElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_x)(
        ISVGImageElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGImageElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y)(
        ISVGImageElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGImageElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_width)(
        ISVGImageElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        ISVGImageElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_height)(
        ISVGImageElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ISVGImageElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGImageElementVtbl;

interface ISVGImageElement {
    CONST_VTBL ISVGImageElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGImageElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGImageElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGImageElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGImageElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGImageElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGImageElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGImageElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGImageElement methods ***/
#define ISVGImageElement_putref_x(This,v) (This)->lpVtbl->putref_x(This,v)
#define ISVGImageElement_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGImageElement_putref_y(This,v) (This)->lpVtbl->putref_y(This,v)
#define ISVGImageElement_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGImageElement_putref_width(This,v) (This)->lpVtbl->putref_width(This,v)
#define ISVGImageElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ISVGImageElement_putref_height(This,v) (This)->lpVtbl->putref_height(This,v)
#define ISVGImageElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGImageElement_QueryInterface(ISVGImageElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGImageElement_AddRef(ISVGImageElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGImageElement_Release(ISVGImageElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGImageElement_GetTypeInfoCount(ISVGImageElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGImageElement_GetTypeInfo(ISVGImageElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGImageElement_GetIDsOfNames(ISVGImageElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGImageElement_Invoke(ISVGImageElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGImageElement methods ***/
static inline HRESULT ISVGImageElement_putref_x(ISVGImageElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x(This,v);
}
static inline HRESULT ISVGImageElement_get_x(ISVGImageElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGImageElement_putref_y(ISVGImageElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y(This,v);
}
static inline HRESULT ISVGImageElement_get_y(ISVGImageElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGImageElement_putref_width(ISVGImageElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_width(This,v);
}
static inline HRESULT ISVGImageElement_get_width(ISVGImageElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ISVGImageElement_putref_height(ISVGImageElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_height(This,v);
}
static inline HRESULT ISVGImageElement_get_height(ISVGImageElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGImageElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGImageElement dispinterface
 */
#ifndef __DispSVGImageElement_DISPINTERFACE_DEFINED__
#define __DispSVGImageElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGImageElement, 0x30590027, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590027-98b5-11cf-bb82-00aa00bdce0b")
DispSVGImageElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGImageElement, 0x30590027, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGImageElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGImageElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGImageElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGImageElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGImageElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGImageElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGImageElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGImageElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGImageElementVtbl;

interface DispSVGImageElement {
    CONST_VTBL DispSVGImageElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGImageElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGImageElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGImageElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGImageElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGImageElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGImageElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGImageElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGImageElement_QueryInterface(DispSVGImageElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGImageElement_AddRef(DispSVGImageElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGImageElement_Release(DispSVGImageElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGImageElement_GetTypeInfoCount(DispSVGImageElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGImageElement_GetTypeInfo(DispSVGImageElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGImageElement_GetIDsOfNames(DispSVGImageElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGImageElement_Invoke(DispSVGImageElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGImageElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGImageElement coclass
 */

DEFINE_GUID(CLSID_SVGImageElement, 0x305105cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105cf-98b5-11cf-bb82-00aa00bdce0b") SVGImageElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGImageElement, 0x305105cf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGImageElement;
typedef enum _svgUnitTypes {
    SVG_UNITTYPE_UNKNOWN = 0,
    SVG_UNITTYPE_USERSPACEONUSE = 1,
    SVG_UNITTYPE_OBJECTBOUNDINGBOX = 2,
    svgUnitTypes_Max = 0x7fffffff
} svgUnitTypes;
/*****************************************************************************
 * ISVGStopElement interface
 */
#ifndef __ISVGStopElement_INTERFACE_DEFINED__
#define __ISVGStopElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGStopElement, 0x3051052b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051052b-98b5-11cf-bb82-00aa00bdce0b")
ISVGStopElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_offset(
        ISVGAnimatedNumber *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_offset(
        ISVGAnimatedNumber **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGStopElement, 0x3051052b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGStopElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGStopElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGStopElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGStopElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGStopElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGStopElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGStopElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGStopElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGStopElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_offset)(
        ISVGStopElement *This,
        ISVGAnimatedNumber *v);

    HRESULT (STDMETHODCALLTYPE *get_offset)(
        ISVGStopElement *This,
        ISVGAnimatedNumber **p);

    END_INTERFACE
} ISVGStopElementVtbl;

interface ISVGStopElement {
    CONST_VTBL ISVGStopElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGStopElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGStopElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGStopElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGStopElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGStopElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGStopElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGStopElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGStopElement methods ***/
#define ISVGStopElement_putref_offset(This,v) (This)->lpVtbl->putref_offset(This,v)
#define ISVGStopElement_get_offset(This,p) (This)->lpVtbl->get_offset(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGStopElement_QueryInterface(ISVGStopElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGStopElement_AddRef(ISVGStopElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGStopElement_Release(ISVGStopElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGStopElement_GetTypeInfoCount(ISVGStopElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGStopElement_GetTypeInfo(ISVGStopElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGStopElement_GetIDsOfNames(ISVGStopElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGStopElement_Invoke(ISVGStopElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGStopElement methods ***/
static inline HRESULT ISVGStopElement_putref_offset(ISVGStopElement* This,ISVGAnimatedNumber *v) {
    return This->lpVtbl->putref_offset(This,v);
}
static inline HRESULT ISVGStopElement_get_offset(ISVGStopElement* This,ISVGAnimatedNumber **p) {
    return This->lpVtbl->get_offset(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGStopElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGStopElement dispinterface
 */
#ifndef __DispSVGStopElement_DISPINTERFACE_DEFINED__
#define __DispSVGStopElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGStopElement, 0x3059002d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059002d-98b5-11cf-bb82-00aa00bdce0b")
DispSVGStopElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGStopElement, 0x3059002d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGStopElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGStopElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGStopElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGStopElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGStopElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGStopElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGStopElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGStopElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGStopElementVtbl;

interface DispSVGStopElement {
    CONST_VTBL DispSVGStopElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGStopElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGStopElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGStopElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGStopElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGStopElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGStopElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGStopElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGStopElement_QueryInterface(DispSVGStopElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGStopElement_AddRef(DispSVGStopElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGStopElement_Release(DispSVGStopElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGStopElement_GetTypeInfoCount(DispSVGStopElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGStopElement_GetTypeInfo(DispSVGStopElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGStopElement_GetIDsOfNames(DispSVGStopElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGStopElement_Invoke(DispSVGStopElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGStopElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGStopElement coclass
 */

DEFINE_GUID(CLSID_SVGStopElement, 0x305105d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d5-98b5-11cf-bb82-00aa00bdce0b") SVGStopElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGStopElement, 0x305105d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGStopElement;
typedef enum _svgSpreadMethod {
    SVG_SPREADMETHOD_UNKNOWN = 0,
    SVG_SPREADMETHOD_PAD = 1,
    SVG_SPREADMETHOD_REFLECT = 2,
    SVG_SPREADMETHOD_REPEAT = 3,
    svgSpreadMethod_Max = 0x7fffffff
} svgSpreadMethod;
/*****************************************************************************
 * ISVGGradientElement interface
 */
#ifndef __ISVGGradientElement_INTERFACE_DEFINED__
#define __ISVGGradientElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGGradientElement, 0x30510528, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510528-98b5-11cf-bb82-00aa00bdce0b")
ISVGGradientElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_gradientUnits(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_gradientUnits(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_gradientTransform(
        ISVGAnimatedTransformList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_gradientTransform(
        ISVGAnimatedTransformList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_spreadMethod(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_spreadMethod(
        ISVGAnimatedEnumeration **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGGradientElement, 0x30510528, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGGradientElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGGradientElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGGradientElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGGradientElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGGradientElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGGradientElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGGradientElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGGradientElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGGradientElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_gradientUnits)(
        ISVGGradientElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_gradientUnits)(
        ISVGGradientElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_gradientTransform)(
        ISVGGradientElement *This,
        ISVGAnimatedTransformList *v);

    HRESULT (STDMETHODCALLTYPE *get_gradientTransform)(
        ISVGGradientElement *This,
        ISVGAnimatedTransformList **p);

    HRESULT (STDMETHODCALLTYPE *putref_spreadMethod)(
        ISVGGradientElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_spreadMethod)(
        ISVGGradientElement *This,
        ISVGAnimatedEnumeration **p);

    END_INTERFACE
} ISVGGradientElementVtbl;

interface ISVGGradientElement {
    CONST_VTBL ISVGGradientElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGGradientElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGGradientElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGGradientElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGGradientElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGGradientElement methods ***/
#define ISVGGradientElement_putref_gradientUnits(This,v) (This)->lpVtbl->putref_gradientUnits(This,v)
#define ISVGGradientElement_get_gradientUnits(This,p) (This)->lpVtbl->get_gradientUnits(This,p)
#define ISVGGradientElement_putref_gradientTransform(This,v) (This)->lpVtbl->putref_gradientTransform(This,v)
#define ISVGGradientElement_get_gradientTransform(This,p) (This)->lpVtbl->get_gradientTransform(This,p)
#define ISVGGradientElement_putref_spreadMethod(This,v) (This)->lpVtbl->putref_spreadMethod(This,v)
#define ISVGGradientElement_get_spreadMethod(This,p) (This)->lpVtbl->get_spreadMethod(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGGradientElement_QueryInterface(ISVGGradientElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGGradientElement_AddRef(ISVGGradientElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGGradientElement_Release(ISVGGradientElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGGradientElement_GetTypeInfoCount(ISVGGradientElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGGradientElement_GetTypeInfo(ISVGGradientElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGGradientElement_GetIDsOfNames(ISVGGradientElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGGradientElement_Invoke(ISVGGradientElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGGradientElement methods ***/
static inline HRESULT ISVGGradientElement_putref_gradientUnits(ISVGGradientElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_gradientUnits(This,v);
}
static inline HRESULT ISVGGradientElement_get_gradientUnits(ISVGGradientElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_gradientUnits(This,p);
}
static inline HRESULT ISVGGradientElement_putref_gradientTransform(ISVGGradientElement* This,ISVGAnimatedTransformList *v) {
    return This->lpVtbl->putref_gradientTransform(This,v);
}
static inline HRESULT ISVGGradientElement_get_gradientTransform(ISVGGradientElement* This,ISVGAnimatedTransformList **p) {
    return This->lpVtbl->get_gradientTransform(This,p);
}
static inline HRESULT ISVGGradientElement_putref_spreadMethod(ISVGGradientElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_spreadMethod(This,v);
}
static inline HRESULT ISVGGradientElement_get_spreadMethod(ISVGGradientElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_spreadMethod(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGGradientElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGGradientElement dispinterface
 */
#ifndef __DispSVGGradientElement_DISPINTERFACE_DEFINED__
#define __DispSVGGradientElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGGradientElement, 0x3059002e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059002e-98b5-11cf-bb82-00aa00bdce0b")
DispSVGGradientElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGGradientElement, 0x3059002e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGGradientElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGGradientElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGGradientElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGGradientElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGGradientElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGGradientElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGGradientElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGGradientElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGGradientElementVtbl;

interface DispSVGGradientElement {
    CONST_VTBL DispSVGGradientElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGGradientElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGGradientElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGGradientElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGGradientElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGGradientElement_QueryInterface(DispSVGGradientElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGGradientElement_AddRef(DispSVGGradientElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGGradientElement_Release(DispSVGGradientElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGGradientElement_GetTypeInfoCount(DispSVGGradientElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGGradientElement_GetTypeInfo(DispSVGGradientElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGGradientElement_GetIDsOfNames(DispSVGGradientElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGGradientElement_Invoke(DispSVGGradientElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGGradientElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGGradientElement coclass
 */

DEFINE_GUID(CLSID_SVGGradientElement, 0x305105d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d6-98b5-11cf-bb82-00aa00bdce0b") SVGGradientElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGGradientElement, 0x305105d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGGradientElement;
/*****************************************************************************
 * ISVGLinearGradientElement interface
 */
#ifndef __ISVGLinearGradientElement_INTERFACE_DEFINED__
#define __ISVGLinearGradientElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGLinearGradientElement, 0x30510529, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510529-98b5-11cf-bb82-00aa00bdce0b")
ISVGLinearGradientElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_x1(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x1(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y1(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y1(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_x2(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x2(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y2(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y2(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGLinearGradientElement, 0x30510529, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGLinearGradientElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGLinearGradientElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGLinearGradientElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGLinearGradientElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGLinearGradientElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGLinearGradientElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGLinearGradientElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGLinearGradientElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGLinearGradientElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_x1)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x1)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y1)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y1)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_x2)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x2)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y2)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y2)(
        ISVGLinearGradientElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGLinearGradientElementVtbl;

interface ISVGLinearGradientElement {
    CONST_VTBL ISVGLinearGradientElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGLinearGradientElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGLinearGradientElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGLinearGradientElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGLinearGradientElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGLinearGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGLinearGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGLinearGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGLinearGradientElement methods ***/
#define ISVGLinearGradientElement_putref_x1(This,v) (This)->lpVtbl->putref_x1(This,v)
#define ISVGLinearGradientElement_get_x1(This,p) (This)->lpVtbl->get_x1(This,p)
#define ISVGLinearGradientElement_putref_y1(This,v) (This)->lpVtbl->putref_y1(This,v)
#define ISVGLinearGradientElement_get_y1(This,p) (This)->lpVtbl->get_y1(This,p)
#define ISVGLinearGradientElement_putref_x2(This,v) (This)->lpVtbl->putref_x2(This,v)
#define ISVGLinearGradientElement_get_x2(This,p) (This)->lpVtbl->get_x2(This,p)
#define ISVGLinearGradientElement_putref_y2(This,v) (This)->lpVtbl->putref_y2(This,v)
#define ISVGLinearGradientElement_get_y2(This,p) (This)->lpVtbl->get_y2(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGLinearGradientElement_QueryInterface(ISVGLinearGradientElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGLinearGradientElement_AddRef(ISVGLinearGradientElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGLinearGradientElement_Release(ISVGLinearGradientElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGLinearGradientElement_GetTypeInfoCount(ISVGLinearGradientElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGLinearGradientElement_GetTypeInfo(ISVGLinearGradientElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGLinearGradientElement_GetIDsOfNames(ISVGLinearGradientElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGLinearGradientElement_Invoke(ISVGLinearGradientElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGLinearGradientElement methods ***/
static inline HRESULT ISVGLinearGradientElement_putref_x1(ISVGLinearGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x1(This,v);
}
static inline HRESULT ISVGLinearGradientElement_get_x1(ISVGLinearGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x1(This,p);
}
static inline HRESULT ISVGLinearGradientElement_putref_y1(ISVGLinearGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y1(This,v);
}
static inline HRESULT ISVGLinearGradientElement_get_y1(ISVGLinearGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y1(This,p);
}
static inline HRESULT ISVGLinearGradientElement_putref_x2(ISVGLinearGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x2(This,v);
}
static inline HRESULT ISVGLinearGradientElement_get_x2(ISVGLinearGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x2(This,p);
}
static inline HRESULT ISVGLinearGradientElement_putref_y2(ISVGLinearGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y2(This,v);
}
static inline HRESULT ISVGLinearGradientElement_get_y2(ISVGLinearGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y2(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGLinearGradientElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGLinearGradientElement dispinterface
 */
#ifndef __DispSVGLinearGradientElement_DISPINTERFACE_DEFINED__
#define __DispSVGLinearGradientElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGLinearGradientElement, 0x3059002a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059002a-98b5-11cf-bb82-00aa00bdce0b")
DispSVGLinearGradientElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGLinearGradientElement, 0x3059002a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGLinearGradientElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGLinearGradientElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGLinearGradientElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGLinearGradientElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGLinearGradientElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGLinearGradientElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGLinearGradientElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGLinearGradientElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGLinearGradientElementVtbl;

interface DispSVGLinearGradientElement {
    CONST_VTBL DispSVGLinearGradientElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGLinearGradientElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGLinearGradientElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGLinearGradientElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGLinearGradientElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGLinearGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGLinearGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGLinearGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGLinearGradientElement_QueryInterface(DispSVGLinearGradientElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGLinearGradientElement_AddRef(DispSVGLinearGradientElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGLinearGradientElement_Release(DispSVGLinearGradientElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGLinearGradientElement_GetTypeInfoCount(DispSVGLinearGradientElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGLinearGradientElement_GetTypeInfo(DispSVGLinearGradientElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGLinearGradientElement_GetIDsOfNames(DispSVGLinearGradientElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGLinearGradientElement_Invoke(DispSVGLinearGradientElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGLinearGradientElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGLinearGradientElement coclass
 */

DEFINE_GUID(CLSID_SVGLinearGradientElement, 0x305105d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d2-98b5-11cf-bb82-00aa00bdce0b") SVGLinearGradientElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGLinearGradientElement, 0x305105d2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGLinearGradientElement;
/*****************************************************************************
 * ISVGRadialGradientElement interface
 */
#ifndef __ISVGRadialGradientElement_INTERFACE_DEFINED__
#define __ISVGRadialGradientElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGRadialGradientElement, 0x3051052a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051052a-98b5-11cf-bb82-00aa00bdce0b")
ISVGRadialGradientElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_cx(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cx(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_cy(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cy(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_r(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_r(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_fx(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fx(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_fy(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fy(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGRadialGradientElement, 0x3051052a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGRadialGradientElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGRadialGradientElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGRadialGradientElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGRadialGradientElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGRadialGradientElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGRadialGradientElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGRadialGradientElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGRadialGradientElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGRadialGradientElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_cx)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_cx)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_cy)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_cy)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_r)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_r)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_fx)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_fx)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_fy)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_fy)(
        ISVGRadialGradientElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGRadialGradientElementVtbl;

interface ISVGRadialGradientElement {
    CONST_VTBL ISVGRadialGradientElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGRadialGradientElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGRadialGradientElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGRadialGradientElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGRadialGradientElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGRadialGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGRadialGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGRadialGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGRadialGradientElement methods ***/
#define ISVGRadialGradientElement_putref_cx(This,v) (This)->lpVtbl->putref_cx(This,v)
#define ISVGRadialGradientElement_get_cx(This,p) (This)->lpVtbl->get_cx(This,p)
#define ISVGRadialGradientElement_putref_cy(This,v) (This)->lpVtbl->putref_cy(This,v)
#define ISVGRadialGradientElement_get_cy(This,p) (This)->lpVtbl->get_cy(This,p)
#define ISVGRadialGradientElement_putref_r(This,v) (This)->lpVtbl->putref_r(This,v)
#define ISVGRadialGradientElement_get_r(This,p) (This)->lpVtbl->get_r(This,p)
#define ISVGRadialGradientElement_putref_fx(This,v) (This)->lpVtbl->putref_fx(This,v)
#define ISVGRadialGradientElement_get_fx(This,p) (This)->lpVtbl->get_fx(This,p)
#define ISVGRadialGradientElement_putref_fy(This,v) (This)->lpVtbl->putref_fy(This,v)
#define ISVGRadialGradientElement_get_fy(This,p) (This)->lpVtbl->get_fy(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGRadialGradientElement_QueryInterface(ISVGRadialGradientElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGRadialGradientElement_AddRef(ISVGRadialGradientElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGRadialGradientElement_Release(ISVGRadialGradientElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGRadialGradientElement_GetTypeInfoCount(ISVGRadialGradientElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGRadialGradientElement_GetTypeInfo(ISVGRadialGradientElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGRadialGradientElement_GetIDsOfNames(ISVGRadialGradientElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGRadialGradientElement_Invoke(ISVGRadialGradientElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGRadialGradientElement methods ***/
static inline HRESULT ISVGRadialGradientElement_putref_cx(ISVGRadialGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_cx(This,v);
}
static inline HRESULT ISVGRadialGradientElement_get_cx(ISVGRadialGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_cx(This,p);
}
static inline HRESULT ISVGRadialGradientElement_putref_cy(ISVGRadialGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_cy(This,v);
}
static inline HRESULT ISVGRadialGradientElement_get_cy(ISVGRadialGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_cy(This,p);
}
static inline HRESULT ISVGRadialGradientElement_putref_r(ISVGRadialGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_r(This,v);
}
static inline HRESULT ISVGRadialGradientElement_get_r(ISVGRadialGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_r(This,p);
}
static inline HRESULT ISVGRadialGradientElement_putref_fx(ISVGRadialGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_fx(This,v);
}
static inline HRESULT ISVGRadialGradientElement_get_fx(ISVGRadialGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_fx(This,p);
}
static inline HRESULT ISVGRadialGradientElement_putref_fy(ISVGRadialGradientElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_fy(This,v);
}
static inline HRESULT ISVGRadialGradientElement_get_fy(ISVGRadialGradientElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_fy(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGRadialGradientElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGRadialGradientElement dispinterface
 */
#ifndef __DispSVGRadialGradientElement_DISPINTERFACE_DEFINED__
#define __DispSVGRadialGradientElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGRadialGradientElement, 0x3059002b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059002b-98b5-11cf-bb82-00aa00bdce0b")
DispSVGRadialGradientElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGRadialGradientElement, 0x3059002b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGRadialGradientElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGRadialGradientElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGRadialGradientElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGRadialGradientElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGRadialGradientElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGRadialGradientElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGRadialGradientElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGRadialGradientElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGRadialGradientElementVtbl;

interface DispSVGRadialGradientElement {
    CONST_VTBL DispSVGRadialGradientElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGRadialGradientElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGRadialGradientElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGRadialGradientElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGRadialGradientElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGRadialGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGRadialGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGRadialGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGRadialGradientElement_QueryInterface(DispSVGRadialGradientElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGRadialGradientElement_AddRef(DispSVGRadialGradientElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGRadialGradientElement_Release(DispSVGRadialGradientElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGRadialGradientElement_GetTypeInfoCount(DispSVGRadialGradientElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGRadialGradientElement_GetTypeInfo(DispSVGRadialGradientElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGRadialGradientElement_GetIDsOfNames(DispSVGRadialGradientElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGRadialGradientElement_Invoke(DispSVGRadialGradientElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGRadialGradientElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGRadialGradientElement coclass
 */

DEFINE_GUID(CLSID_SVGRadialGradientElement, 0x305105d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d3-98b5-11cf-bb82-00aa00bdce0b") SVGRadialGradientElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGRadialGradientElement, 0x305105d3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGRadialGradientElement;
/*****************************************************************************
 * ISVGMaskElement interface
 */
#ifndef __ISVGMaskElement_INTERFACE_DEFINED__
#define __ISVGMaskElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGMaskElement, 0x3051052e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051052e-98b5-11cf-bb82-00aa00bdce0b")
ISVGMaskElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_maskUnits(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maskUnits(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_maskContentUnits(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maskContentUnits(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_x(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_width(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_height(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        ISVGAnimatedLength **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGMaskElement, 0x3051052e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGMaskElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGMaskElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGMaskElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGMaskElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGMaskElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGMaskElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGMaskElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGMaskElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGMaskElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_maskUnits)(
        ISVGMaskElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_maskUnits)(
        ISVGMaskElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_maskContentUnits)(
        ISVGMaskElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_maskContentUnits)(
        ISVGMaskElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_x)(
        ISVGMaskElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGMaskElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_y)(
        ISVGMaskElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGMaskElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_width)(
        ISVGMaskElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        ISVGMaskElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_height)(
        ISVGMaskElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        ISVGMaskElement *This,
        ISVGAnimatedLength **p);

    END_INTERFACE
} ISVGMaskElementVtbl;

interface ISVGMaskElement {
    CONST_VTBL ISVGMaskElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGMaskElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGMaskElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGMaskElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGMaskElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGMaskElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGMaskElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGMaskElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGMaskElement methods ***/
#define ISVGMaskElement_putref_maskUnits(This,v) (This)->lpVtbl->putref_maskUnits(This,v)
#define ISVGMaskElement_get_maskUnits(This,p) (This)->lpVtbl->get_maskUnits(This,p)
#define ISVGMaskElement_putref_maskContentUnits(This,v) (This)->lpVtbl->putref_maskContentUnits(This,v)
#define ISVGMaskElement_get_maskContentUnits(This,p) (This)->lpVtbl->get_maskContentUnits(This,p)
#define ISVGMaskElement_putref_x(This,v) (This)->lpVtbl->putref_x(This,v)
#define ISVGMaskElement_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGMaskElement_putref_y(This,v) (This)->lpVtbl->putref_y(This,v)
#define ISVGMaskElement_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGMaskElement_putref_width(This,v) (This)->lpVtbl->putref_width(This,v)
#define ISVGMaskElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define ISVGMaskElement_putref_height(This,v) (This)->lpVtbl->putref_height(This,v)
#define ISVGMaskElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGMaskElement_QueryInterface(ISVGMaskElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGMaskElement_AddRef(ISVGMaskElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGMaskElement_Release(ISVGMaskElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGMaskElement_GetTypeInfoCount(ISVGMaskElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGMaskElement_GetTypeInfo(ISVGMaskElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGMaskElement_GetIDsOfNames(ISVGMaskElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGMaskElement_Invoke(ISVGMaskElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGMaskElement methods ***/
static inline HRESULT ISVGMaskElement_putref_maskUnits(ISVGMaskElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_maskUnits(This,v);
}
static inline HRESULT ISVGMaskElement_get_maskUnits(ISVGMaskElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_maskUnits(This,p);
}
static inline HRESULT ISVGMaskElement_putref_maskContentUnits(ISVGMaskElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_maskContentUnits(This,v);
}
static inline HRESULT ISVGMaskElement_get_maskContentUnits(ISVGMaskElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_maskContentUnits(This,p);
}
static inline HRESULT ISVGMaskElement_putref_x(ISVGMaskElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_x(This,v);
}
static inline HRESULT ISVGMaskElement_get_x(ISVGMaskElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGMaskElement_putref_y(ISVGMaskElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_y(This,v);
}
static inline HRESULT ISVGMaskElement_get_y(ISVGMaskElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGMaskElement_putref_width(ISVGMaskElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_width(This,v);
}
static inline HRESULT ISVGMaskElement_get_width(ISVGMaskElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT ISVGMaskElement_putref_height(ISVGMaskElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_height(This,v);
}
static inline HRESULT ISVGMaskElement_get_height(ISVGMaskElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGMaskElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGMaskElement dispinterface
 */
#ifndef __DispSVGMaskElement_DISPINTERFACE_DEFINED__
#define __DispSVGMaskElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGMaskElement, 0x3059003c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059003c-98b5-11cf-bb82-00aa00bdce0b")
DispSVGMaskElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGMaskElement, 0x3059003c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGMaskElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGMaskElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGMaskElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGMaskElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGMaskElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGMaskElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGMaskElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGMaskElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGMaskElementVtbl;

interface DispSVGMaskElement {
    CONST_VTBL DispSVGMaskElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGMaskElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGMaskElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGMaskElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGMaskElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGMaskElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGMaskElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGMaskElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGMaskElement_QueryInterface(DispSVGMaskElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGMaskElement_AddRef(DispSVGMaskElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGMaskElement_Release(DispSVGMaskElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGMaskElement_GetTypeInfoCount(DispSVGMaskElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGMaskElement_GetTypeInfo(DispSVGMaskElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGMaskElement_GetIDsOfNames(DispSVGMaskElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGMaskElement_Invoke(DispSVGMaskElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGMaskElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGMaskElement coclass
 */

DEFINE_GUID(CLSID_SVGMaskElement, 0x305105e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105e7-98b5-11cf-bb82-00aa00bdce0b") SVGMaskElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGMaskElement, 0x305105e7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGMaskElement;
typedef enum _svgFeblendMode {
    SVG_FEBLEND_MODE_UNKNOWN = 0,
    SVG_FEBLEND_MODE_NORMAL = 1,
    SVG_FEBLEND_MODE_MULTIPLY = 2,
    SVG_FEBLEND_MODE_SCREEN = 3,
    SVG_FEBLEND_MODE_DARKEN = 4,
    SVG_FEBLEND_MODE_LIGHTEN = 5,
    svgFeblendMode_Max = 0x7fffffff
} svgFeblendMode;
typedef enum _svgFecolormatrixType {
    SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
    SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
    SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
    SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
    SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4,
    svgFecolormatrixType_Max = 0x7fffffff
} svgFecolormatrixType;
typedef enum _svgFecomponenttransferType {
    SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
    SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
    SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
    SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
    SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
    SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5,
    svgFecomponenttransferType_Max = 0x7fffffff
} svgFecomponenttransferType;
typedef enum _svgFecompositeOperator {
    SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,
    SVG_FECOMPOSITE_OPERATOR_OVER = 1,
    SVG_FECOMPOSITE_OPERATOR_IN = 2,
    SVG_FECOMPOSITE_OPERATOR_OUT = 3,
    SVG_FECOMPOSITE_OPERATOR_ATOP = 4,
    SVG_FECOMPOSITE_OPERATOR_XOR = 5,
    SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6,
    svgFecompositeOperator_Max = 0x7fffffff
} svgFecompositeOperator;
typedef enum _svgEdgemode {
    SVG_EDGEMODE_UNKNOWN = 0,
    SVG_EDGEMODE_DUPLICATE = 1,
    SVG_EDGEMODE_WRAP = 2,
    SVG_EDGEMODE_NONE = 3,
    svgEdgemode_Max = 0x7fffffff
} svgEdgemode;
typedef enum _svgPreserveAlpha {
    SVG_PRESERVEALPHA_FALSE = 0,
    SVG_PRESERVEALPHA_TRUE = 1,
    svgPreserveAlpha_Max = 0x7fffffff
} svgPreserveAlpha;
typedef enum _svgChannel {
    SVG_CHANNEL_UNKNOWN = 0,
    SVG_CHANNEL_R = 1,
    SVG_CHANNEL_G = 2,
    SVG_CHANNEL_B = 3,
    SVG_CHANNEL_A = 4,
    svgChannel_Max = 0x7fffffff
} svgChannel;
typedef enum _svgMorphologyOperator {
    SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
    SVG_MORPHOLOGY_OPERATOR_ERODE = 1,
    SVG_MORPHOLOGY_OPERATOR_DILATE = 2,
    svgMorphologyOperator_Max = 0x7fffffff
} svgMorphologyOperator;
typedef enum _svgTurbulenceType {
    SVG_TURBULENCE_TYPE_UNKNOWN = 0,
    SVG_TURBULENCE_TYPE_FACTALNOISE = 1,
    SVG_TURBULENCE_TYPE_TURBULENCE = 2,
    svgTurbulenceType_Max = 0x7fffffff
} svgTurbulenceType;
typedef enum _svgStitchtype {
    SVG_STITCHTYPE_UNKNOWN = 0,
    SVG_STITCHTYPE_STITCH = 1,
    SVG_STITCHTYPE_NOSTITCH = 2,
    svgStitchtype_Max = 0x7fffffff
} svgStitchtype;
typedef enum _svgMarkerUnits {
    SVG_MARKERUNITS_UNKNOWN = 0,
    SVG_MARKERUNITS_USERSPACEONUSE = 1,
    SVG_MARKERUNITS_STROKEWIDTH = 2,
    svgMarkerUnits_Max = 0x7fffffff
} svgMarkerUnits;
typedef enum _svgMarkerOrient {
    SVG_MARKER_ORIENT_UNKNOWN = 0,
    SVG_MARKER_ORIENT_AUTO = 1,
    SVG_MARKER_ORIENT_ANGLE = 2,
    svgMarkerOrient_Max = 0x7fffffff
} svgMarkerOrient;
typedef enum _svgMarkerOrientAttribute {
    svgMarkerOrientAttributeAuto = 0,
    svgMarkerOrientAttribute_Max = 0x7fffffff
} svgMarkerOrientAttribute;
/*****************************************************************************
 * ISVGMarkerElement interface
 */
#ifndef __ISVGMarkerElement_INTERFACE_DEFINED__
#define __ISVGMarkerElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGMarkerElement, 0x30510525, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510525-98b5-11cf-bb82-00aa00bdce0b")
ISVGMarkerElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_refX(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_refX(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_refY(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_refY(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_markerUnits(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_markerUnits(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_markerWidth(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_markerWidth(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_markerHeight(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_markerHeight(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_orientType(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_orientType(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_orientAngle(
        ISVGAnimatedAngle *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_orientAngle(
        ISVGAnimatedAngle **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE setOrientToAuto(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE setOrientToAngle(
        ISVGAngle *pSVGAngle) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGMarkerElement, 0x30510525, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGMarkerElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGMarkerElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGMarkerElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGMarkerElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGMarkerElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGMarkerElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGMarkerElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGMarkerElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGMarkerElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_refX)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_refX)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_refY)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_refY)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_markerUnits)(
        ISVGMarkerElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_markerUnits)(
        ISVGMarkerElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_markerWidth)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_markerWidth)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_markerHeight)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_markerHeight)(
        ISVGMarkerElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_orientType)(
        ISVGMarkerElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_orientType)(
        ISVGMarkerElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_orientAngle)(
        ISVGMarkerElement *This,
        ISVGAnimatedAngle *v);

    HRESULT (STDMETHODCALLTYPE *get_orientAngle)(
        ISVGMarkerElement *This,
        ISVGAnimatedAngle **p);

    HRESULT (STDMETHODCALLTYPE *setOrientToAuto)(
        ISVGMarkerElement *This);

    HRESULT (STDMETHODCALLTYPE *setOrientToAngle)(
        ISVGMarkerElement *This,
        ISVGAngle *pSVGAngle);

    END_INTERFACE
} ISVGMarkerElementVtbl;

interface ISVGMarkerElement {
    CONST_VTBL ISVGMarkerElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGMarkerElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGMarkerElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGMarkerElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGMarkerElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGMarkerElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGMarkerElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGMarkerElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGMarkerElement methods ***/
#define ISVGMarkerElement_putref_refX(This,v) (This)->lpVtbl->putref_refX(This,v)
#define ISVGMarkerElement_get_refX(This,p) (This)->lpVtbl->get_refX(This,p)
#define ISVGMarkerElement_putref_refY(This,v) (This)->lpVtbl->putref_refY(This,v)
#define ISVGMarkerElement_get_refY(This,p) (This)->lpVtbl->get_refY(This,p)
#define ISVGMarkerElement_putref_markerUnits(This,v) (This)->lpVtbl->putref_markerUnits(This,v)
#define ISVGMarkerElement_get_markerUnits(This,p) (This)->lpVtbl->get_markerUnits(This,p)
#define ISVGMarkerElement_putref_markerWidth(This,v) (This)->lpVtbl->putref_markerWidth(This,v)
#define ISVGMarkerElement_get_markerWidth(This,p) (This)->lpVtbl->get_markerWidth(This,p)
#define ISVGMarkerElement_putref_markerHeight(This,v) (This)->lpVtbl->putref_markerHeight(This,v)
#define ISVGMarkerElement_get_markerHeight(This,p) (This)->lpVtbl->get_markerHeight(This,p)
#define ISVGMarkerElement_putref_orientType(This,v) (This)->lpVtbl->putref_orientType(This,v)
#define ISVGMarkerElement_get_orientType(This,p) (This)->lpVtbl->get_orientType(This,p)
#define ISVGMarkerElement_putref_orientAngle(This,v) (This)->lpVtbl->putref_orientAngle(This,v)
#define ISVGMarkerElement_get_orientAngle(This,p) (This)->lpVtbl->get_orientAngle(This,p)
#define ISVGMarkerElement_setOrientToAuto(This) (This)->lpVtbl->setOrientToAuto(This)
#define ISVGMarkerElement_setOrientToAngle(This,pSVGAngle) (This)->lpVtbl->setOrientToAngle(This,pSVGAngle)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGMarkerElement_QueryInterface(ISVGMarkerElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGMarkerElement_AddRef(ISVGMarkerElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGMarkerElement_Release(ISVGMarkerElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGMarkerElement_GetTypeInfoCount(ISVGMarkerElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGMarkerElement_GetTypeInfo(ISVGMarkerElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGMarkerElement_GetIDsOfNames(ISVGMarkerElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGMarkerElement_Invoke(ISVGMarkerElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGMarkerElement methods ***/
static inline HRESULT ISVGMarkerElement_putref_refX(ISVGMarkerElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_refX(This,v);
}
static inline HRESULT ISVGMarkerElement_get_refX(ISVGMarkerElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_refX(This,p);
}
static inline HRESULT ISVGMarkerElement_putref_refY(ISVGMarkerElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_refY(This,v);
}
static inline HRESULT ISVGMarkerElement_get_refY(ISVGMarkerElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_refY(This,p);
}
static inline HRESULT ISVGMarkerElement_putref_markerUnits(ISVGMarkerElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_markerUnits(This,v);
}
static inline HRESULT ISVGMarkerElement_get_markerUnits(ISVGMarkerElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_markerUnits(This,p);
}
static inline HRESULT ISVGMarkerElement_putref_markerWidth(ISVGMarkerElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_markerWidth(This,v);
}
static inline HRESULT ISVGMarkerElement_get_markerWidth(ISVGMarkerElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_markerWidth(This,p);
}
static inline HRESULT ISVGMarkerElement_putref_markerHeight(ISVGMarkerElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_markerHeight(This,v);
}
static inline HRESULT ISVGMarkerElement_get_markerHeight(ISVGMarkerElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_markerHeight(This,p);
}
static inline HRESULT ISVGMarkerElement_putref_orientType(ISVGMarkerElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_orientType(This,v);
}
static inline HRESULT ISVGMarkerElement_get_orientType(ISVGMarkerElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_orientType(This,p);
}
static inline HRESULT ISVGMarkerElement_putref_orientAngle(ISVGMarkerElement* This,ISVGAnimatedAngle *v) {
    return This->lpVtbl->putref_orientAngle(This,v);
}
static inline HRESULT ISVGMarkerElement_get_orientAngle(ISVGMarkerElement* This,ISVGAnimatedAngle **p) {
    return This->lpVtbl->get_orientAngle(This,p);
}
static inline HRESULT ISVGMarkerElement_setOrientToAuto(ISVGMarkerElement* This) {
    return This->lpVtbl->setOrientToAuto(This);
}
static inline HRESULT ISVGMarkerElement_setOrientToAngle(ISVGMarkerElement* This,ISVGAngle *pSVGAngle) {
    return This->lpVtbl->setOrientToAngle(This,pSVGAngle);
}
#endif
#endif

#endif


#endif  /* __ISVGMarkerElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGMarkerElement dispinterface
 */
#ifndef __DispSVGMarkerElement_DISPINTERFACE_DEFINED__
#define __DispSVGMarkerElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGMarkerElement, 0x30590036, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590036-98b5-11cf-bb82-00aa00bdce0b")
DispSVGMarkerElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGMarkerElement, 0x30590036, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGMarkerElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGMarkerElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGMarkerElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGMarkerElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGMarkerElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGMarkerElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGMarkerElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGMarkerElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGMarkerElementVtbl;

interface DispSVGMarkerElement {
    CONST_VTBL DispSVGMarkerElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGMarkerElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGMarkerElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGMarkerElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGMarkerElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGMarkerElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGMarkerElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGMarkerElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGMarkerElement_QueryInterface(DispSVGMarkerElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGMarkerElement_AddRef(DispSVGMarkerElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGMarkerElement_Release(DispSVGMarkerElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGMarkerElement_GetTypeInfoCount(DispSVGMarkerElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGMarkerElement_GetTypeInfo(DispSVGMarkerElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGMarkerElement_GetIDsOfNames(DispSVGMarkerElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGMarkerElement_Invoke(DispSVGMarkerElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGMarkerElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGMarkerElement coclass
 */

DEFINE_GUID(CLSID_SVGMarkerElement, 0x305105de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105de-98b5-11cf-bb82-00aa00bdce0b") SVGMarkerElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGMarkerElement, 0x305105de, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGMarkerElement;
/*****************************************************************************
 * ISVGZoomEvent interface
 */
#ifndef __ISVGZoomEvent_INTERFACE_DEFINED__
#define __ISVGZoomEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGZoomEvent, 0x3051054e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051054e-98b5-11cf-bb82-00aa00bdce0b")
ISVGZoomEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_zoomRectScreen(
        ISVGRect **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_previousScale(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_previousTranslate(
        ISVGPoint **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_newScale(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_newTranslate(
        ISVGPoint **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGZoomEvent, 0x3051054e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGZoomEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGZoomEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGZoomEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGZoomEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGZoomEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGZoomEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGZoomEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGZoomEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGZoomEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_zoomRectScreen)(
        ISVGZoomEvent *This,
        ISVGRect **p);

    HRESULT (STDMETHODCALLTYPE *get_previousScale)(
        ISVGZoomEvent *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_previousTranslate)(
        ISVGZoomEvent *This,
        ISVGPoint **p);

    HRESULT (STDMETHODCALLTYPE *get_newScale)(
        ISVGZoomEvent *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_newTranslate)(
        ISVGZoomEvent *This,
        ISVGPoint **p);

    END_INTERFACE
} ISVGZoomEventVtbl;

interface ISVGZoomEvent {
    CONST_VTBL ISVGZoomEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGZoomEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGZoomEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGZoomEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGZoomEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGZoomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGZoomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGZoomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGZoomEvent methods ***/
#define ISVGZoomEvent_get_zoomRectScreen(This,p) (This)->lpVtbl->get_zoomRectScreen(This,p)
#define ISVGZoomEvent_get_previousScale(This,p) (This)->lpVtbl->get_previousScale(This,p)
#define ISVGZoomEvent_get_previousTranslate(This,p) (This)->lpVtbl->get_previousTranslate(This,p)
#define ISVGZoomEvent_get_newScale(This,p) (This)->lpVtbl->get_newScale(This,p)
#define ISVGZoomEvent_get_newTranslate(This,p) (This)->lpVtbl->get_newTranslate(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGZoomEvent_QueryInterface(ISVGZoomEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGZoomEvent_AddRef(ISVGZoomEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGZoomEvent_Release(ISVGZoomEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGZoomEvent_GetTypeInfoCount(ISVGZoomEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGZoomEvent_GetTypeInfo(ISVGZoomEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGZoomEvent_GetIDsOfNames(ISVGZoomEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGZoomEvent_Invoke(ISVGZoomEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGZoomEvent methods ***/
static inline HRESULT ISVGZoomEvent_get_zoomRectScreen(ISVGZoomEvent* This,ISVGRect **p) {
    return This->lpVtbl->get_zoomRectScreen(This,p);
}
static inline HRESULT ISVGZoomEvent_get_previousScale(ISVGZoomEvent* This,float *p) {
    return This->lpVtbl->get_previousScale(This,p);
}
static inline HRESULT ISVGZoomEvent_get_previousTranslate(ISVGZoomEvent* This,ISVGPoint **p) {
    return This->lpVtbl->get_previousTranslate(This,p);
}
static inline HRESULT ISVGZoomEvent_get_newScale(ISVGZoomEvent* This,float *p) {
    return This->lpVtbl->get_newScale(This,p);
}
static inline HRESULT ISVGZoomEvent_get_newTranslate(ISVGZoomEvent* This,ISVGPoint **p) {
    return This->lpVtbl->get_newTranslate(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGZoomEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGZoomEvent dispinterface
 */
#ifndef __DispSVGZoomEvent_DISPINTERFACE_DEFINED__
#define __DispSVGZoomEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGZoomEvent, 0x30590031, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590031-98b5-11cf-bb82-00aa00bdce0b")
DispSVGZoomEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGZoomEvent, 0x30590031, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGZoomEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGZoomEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGZoomEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGZoomEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGZoomEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGZoomEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGZoomEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGZoomEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGZoomEventVtbl;

interface DispSVGZoomEvent {
    CONST_VTBL DispSVGZoomEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGZoomEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGZoomEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGZoomEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGZoomEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGZoomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGZoomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGZoomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGZoomEvent_QueryInterface(DispSVGZoomEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGZoomEvent_AddRef(DispSVGZoomEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGZoomEvent_Release(DispSVGZoomEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGZoomEvent_GetTypeInfoCount(DispSVGZoomEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGZoomEvent_GetTypeInfo(DispSVGZoomEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGZoomEvent_GetIDsOfNames(DispSVGZoomEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGZoomEvent_Invoke(DispSVGZoomEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGZoomEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGZoomEvent coclass
 */

DEFINE_GUID(CLSID_SVGZoomEvent, 0x305105d9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d9-98b5-11cf-bb82-00aa00bdce0b") SVGZoomEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGZoomEvent, 0x305105d9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGZoomEvent;
/*****************************************************************************
 * ISVGAElement interface
 */
#ifndef __ISVGAElement_INTERFACE_DEFINED__
#define __ISVGAElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGAElement, 0x3051054b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051054b-98b5-11cf-bb82-00aa00bdce0b")
ISVGAElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_target(
        ISVGAnimatedString *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
        ISVGAnimatedString **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGAElement, 0x3051054b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGAElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGAElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGAElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGAElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGAElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGAElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGAElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGAElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGAElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_target)(
        ISVGAElement *This,
        ISVGAnimatedString *v);

    HRESULT (STDMETHODCALLTYPE *get_target)(
        ISVGAElement *This,
        ISVGAnimatedString **p);

    END_INTERFACE
} ISVGAElementVtbl;

interface ISVGAElement {
    CONST_VTBL ISVGAElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGAElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGAElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGAElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGAElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGAElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGAElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGAElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGAElement methods ***/
#define ISVGAElement_putref_target(This,v) (This)->lpVtbl->putref_target(This,v)
#define ISVGAElement_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGAElement_QueryInterface(ISVGAElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGAElement_AddRef(ISVGAElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGAElement_Release(ISVGAElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGAElement_GetTypeInfoCount(ISVGAElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGAElement_GetTypeInfo(ISVGAElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGAElement_GetIDsOfNames(ISVGAElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGAElement_Invoke(ISVGAElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGAElement methods ***/
static inline HRESULT ISVGAElement_putref_target(ISVGAElement* This,ISVGAnimatedString *v) {
    return This->lpVtbl->putref_target(This,v);
}
static inline HRESULT ISVGAElement_get_target(ISVGAElement* This,ISVGAnimatedString **p) {
    return This->lpVtbl->get_target(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGAElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGAElement dispinterface
 */
#ifndef __DispSVGAElement_DISPINTERFACE_DEFINED__
#define __DispSVGAElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGAElement, 0x30590033, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590033-98b5-11cf-bb82-00aa00bdce0b")
DispSVGAElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGAElement, 0x30590033, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGAElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGAElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGAElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGAElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGAElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGAElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGAElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGAElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGAElementVtbl;

interface DispSVGAElement {
    CONST_VTBL DispSVGAElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGAElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGAElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGAElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGAElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGAElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGAElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGAElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGAElement_QueryInterface(DispSVGAElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGAElement_AddRef(DispSVGAElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGAElement_Release(DispSVGAElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGAElement_GetTypeInfoCount(DispSVGAElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGAElement_GetTypeInfo(DispSVGAElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGAElement_GetIDsOfNames(DispSVGAElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGAElement_Invoke(DispSVGAElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGAElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGAElement coclass
 */

DEFINE_GUID(CLSID_SVGAElement, 0x305105db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105db-98b5-11cf-bb82-00aa00bdce0b") SVGAElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGAElement, 0x305105db, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGAElement;
/*****************************************************************************
 * ISVGViewElement interface
 */
#ifndef __ISVGViewElement_INTERFACE_DEFINED__
#define __ISVGViewElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGViewElement, 0x3051054c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051054c-98b5-11cf-bb82-00aa00bdce0b")
ISVGViewElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_viewTarget(
        ISVGStringList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_viewTarget(
        ISVGStringList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGViewElement, 0x3051054c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGViewElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGViewElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGViewElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGViewElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGViewElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGViewElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGViewElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGViewElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGViewElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_viewTarget)(
        ISVGViewElement *This,
        ISVGStringList *v);

    HRESULT (STDMETHODCALLTYPE *get_viewTarget)(
        ISVGViewElement *This,
        ISVGStringList **p);

    END_INTERFACE
} ISVGViewElementVtbl;

interface ISVGViewElement {
    CONST_VTBL ISVGViewElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGViewElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGViewElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGViewElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGViewElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGViewElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGViewElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGViewElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGViewElement methods ***/
#define ISVGViewElement_putref_viewTarget(This,v) (This)->lpVtbl->putref_viewTarget(This,v)
#define ISVGViewElement_get_viewTarget(This,p) (This)->lpVtbl->get_viewTarget(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGViewElement_QueryInterface(ISVGViewElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGViewElement_AddRef(ISVGViewElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGViewElement_Release(ISVGViewElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGViewElement_GetTypeInfoCount(ISVGViewElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGViewElement_GetTypeInfo(ISVGViewElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGViewElement_GetIDsOfNames(ISVGViewElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGViewElement_Invoke(ISVGViewElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGViewElement methods ***/
static inline HRESULT ISVGViewElement_putref_viewTarget(ISVGViewElement* This,ISVGStringList *v) {
    return This->lpVtbl->putref_viewTarget(This,v);
}
static inline HRESULT ISVGViewElement_get_viewTarget(ISVGViewElement* This,ISVGStringList **p) {
    return This->lpVtbl->get_viewTarget(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGViewElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGViewElement dispinterface
 */
#ifndef __DispSVGViewElement_DISPINTERFACE_DEFINED__
#define __DispSVGViewElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGViewElement, 0x30590034, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590034-98b5-11cf-bb82-00aa00bdce0b")
DispSVGViewElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGViewElement, 0x30590034, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGViewElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGViewElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGViewElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGViewElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGViewElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGViewElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGViewElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGViewElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGViewElementVtbl;

interface DispSVGViewElement {
    CONST_VTBL DispSVGViewElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGViewElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGViewElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGViewElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGViewElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGViewElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGViewElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGViewElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGViewElement_QueryInterface(DispSVGViewElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGViewElement_AddRef(DispSVGViewElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGViewElement_Release(DispSVGViewElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGViewElement_GetTypeInfoCount(DispSVGViewElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGViewElement_GetTypeInfo(DispSVGViewElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGViewElement_GetIDsOfNames(DispSVGViewElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGViewElement_Invoke(DispSVGViewElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGViewElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGViewElement coclass
 */

DEFINE_GUID(CLSID_SVGViewElement, 0x305105dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105dc-98b5-11cf-bb82-00aa00bdce0b") SVGViewElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGViewElement, 0x305105dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGViewElement;
typedef enum _htmlMediaNetworkState {
    htmlMediaNetworkStateEmpty = 0,
    htmlMediaNetworkStateIdle = 1,
    htmlMediaNetworkStateLoading = 2,
    htmlMediaNetworkStateNoSource = 3,
    htmlMediaNetworkState_Max = 0x7fffffff
} htmlMediaNetworkState;
typedef enum _htmlMediaReadyState {
    htmlMediaReadyStateHaveNothing = 0,
    htmlMediaReadyStateHaveMetadata = 1,
    htmlMediaReadyStateHaveCurrentData = 2,
    htmlMediaReadyStateHaveFutureData = 3,
    htmlMediaReadyStateHaveEnoughData = 4,
    htmlMediaReadyState_Max = 0x7fffffff
} htmlMediaReadyState;
typedef enum _htmlMediaErr {
    htmlMediaErrAborted = 0,
    htmlMediaErrNetwork = 1,
    htmlMediaErrDecode = 2,
    htmlMediaErrSrcNotSupported = 3,
    htmlMediaErr_Max = 0x7fffffff
} htmlMediaErr;
/*****************************************************************************
 * IHTMLMediaError interface
 */
#ifndef __IHTMLMediaError_INTERFACE_DEFINED__
#define __IHTMLMediaError_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMediaError, 0x30510704, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510704-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMediaError : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_code(
        short *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMediaError, 0x30510704, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMediaErrorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMediaError *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMediaError *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMediaError *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMediaError *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMediaError *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMediaError *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMediaError *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMediaError methods ***/
    HRESULT (STDMETHODCALLTYPE *get_code)(
        IHTMLMediaError *This,
        short *p);

    END_INTERFACE
} IHTMLMediaErrorVtbl;

interface IHTMLMediaError {
    CONST_VTBL IHTMLMediaErrorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMediaError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMediaError_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMediaError_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMediaError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMediaError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMediaError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMediaError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMediaError methods ***/
#define IHTMLMediaError_get_code(This,p) (This)->lpVtbl->get_code(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMediaError_QueryInterface(IHTMLMediaError* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMediaError_AddRef(IHTMLMediaError* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMediaError_Release(IHTMLMediaError* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMediaError_GetTypeInfoCount(IHTMLMediaError* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMediaError_GetTypeInfo(IHTMLMediaError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMediaError_GetIDsOfNames(IHTMLMediaError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMediaError_Invoke(IHTMLMediaError* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMediaError methods ***/
static inline HRESULT IHTMLMediaError_get_code(IHTMLMediaError* This,short *p) {
    return This->lpVtbl->get_code(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMediaError_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTimeRanges interface
 */
#ifndef __IHTMLTimeRanges_INTERFACE_DEFINED__
#define __IHTMLTimeRanges_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTimeRanges, 0x30510705, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510705-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTimeRanges : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE start(
        LONG index,
        float *startTime) = 0;

    virtual HRESULT STDMETHODCALLTYPE end(
        LONG index,
        float *endTime) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTimeRanges, 0x30510705, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTimeRangesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTimeRanges *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTimeRanges *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTimeRanges *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTimeRanges *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTimeRanges *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTimeRanges *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTimeRanges *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTimeRanges methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLTimeRanges *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *start)(
        IHTMLTimeRanges *This,
        LONG index,
        float *startTime);

    HRESULT (STDMETHODCALLTYPE *end)(
        IHTMLTimeRanges *This,
        LONG index,
        float *endTime);

    END_INTERFACE
} IHTMLTimeRangesVtbl;

interface IHTMLTimeRanges {
    CONST_VTBL IHTMLTimeRangesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTimeRanges_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTimeRanges_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTimeRanges_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTimeRanges_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTimeRanges_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTimeRanges_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTimeRanges_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTimeRanges methods ***/
#define IHTMLTimeRanges_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLTimeRanges_start(This,index,startTime) (This)->lpVtbl->start(This,index,startTime)
#define IHTMLTimeRanges_end(This,index,endTime) (This)->lpVtbl->end(This,index,endTime)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTimeRanges_QueryInterface(IHTMLTimeRanges* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTimeRanges_AddRef(IHTMLTimeRanges* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTimeRanges_Release(IHTMLTimeRanges* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTimeRanges_GetTypeInfoCount(IHTMLTimeRanges* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTimeRanges_GetTypeInfo(IHTMLTimeRanges* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTimeRanges_GetIDsOfNames(IHTMLTimeRanges* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTimeRanges_Invoke(IHTMLTimeRanges* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTimeRanges methods ***/
static inline HRESULT IHTMLTimeRanges_get_length(IHTMLTimeRanges* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLTimeRanges_start(IHTMLTimeRanges* This,LONG index,float *startTime) {
    return This->lpVtbl->start(This,index,startTime);
}
static inline HRESULT IHTMLTimeRanges_end(IHTMLTimeRanges* This,LONG index,float *endTime) {
    return This->lpVtbl->end(This,index,endTime);
}
#endif
#endif

#endif


#endif  /* __IHTMLTimeRanges_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLTimeRanges2 interface
 */
#ifndef __IHTMLTimeRanges2_INTERFACE_DEFINED__
#define __IHTMLTimeRanges2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLTimeRanges2, 0x3051080b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051080b-98b5-11cf-bb82-00aa00bdce0b")
IHTMLTimeRanges2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE startDouble(
        LONG index,
        double *startTime) = 0;

    virtual HRESULT STDMETHODCALLTYPE endDouble(
        LONG index,
        double *endTime) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLTimeRanges2, 0x3051080b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLTimeRanges2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLTimeRanges2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLTimeRanges2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLTimeRanges2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLTimeRanges2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLTimeRanges2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLTimeRanges2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLTimeRanges2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLTimeRanges2 methods ***/
    HRESULT (STDMETHODCALLTYPE *startDouble)(
        IHTMLTimeRanges2 *This,
        LONG index,
        double *startTime);

    HRESULT (STDMETHODCALLTYPE *endDouble)(
        IHTMLTimeRanges2 *This,
        LONG index,
        double *endTime);

    END_INTERFACE
} IHTMLTimeRanges2Vtbl;

interface IHTMLTimeRanges2 {
    CONST_VTBL IHTMLTimeRanges2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLTimeRanges2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLTimeRanges2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLTimeRanges2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLTimeRanges2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLTimeRanges2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLTimeRanges2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLTimeRanges2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLTimeRanges2 methods ***/
#define IHTMLTimeRanges2_startDouble(This,index,startTime) (This)->lpVtbl->startDouble(This,index,startTime)
#define IHTMLTimeRanges2_endDouble(This,index,endTime) (This)->lpVtbl->endDouble(This,index,endTime)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLTimeRanges2_QueryInterface(IHTMLTimeRanges2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLTimeRanges2_AddRef(IHTMLTimeRanges2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLTimeRanges2_Release(IHTMLTimeRanges2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLTimeRanges2_GetTypeInfoCount(IHTMLTimeRanges2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLTimeRanges2_GetTypeInfo(IHTMLTimeRanges2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLTimeRanges2_GetIDsOfNames(IHTMLTimeRanges2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLTimeRanges2_Invoke(IHTMLTimeRanges2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLTimeRanges2 methods ***/
static inline HRESULT IHTMLTimeRanges2_startDouble(IHTMLTimeRanges2* This,LONG index,double *startTime) {
    return This->lpVtbl->startDouble(This,index,startTime);
}
static inline HRESULT IHTMLTimeRanges2_endDouble(IHTMLTimeRanges2* This,LONG index,double *endTime) {
    return This->lpVtbl->endDouble(This,index,endTime);
}
#endif
#endif

#endif


#endif  /* __IHTMLTimeRanges2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMediaElement interface
 */
#ifndef __IHTMLMediaElement_INTERFACE_DEFINED__
#define __IHTMLMediaElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMediaElement, 0x30510706, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510706-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMediaElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_error(
        IHTMLMediaError **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentSrc(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_networkState(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_preload(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_preload(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_buffered(
        IHTMLTimeRanges **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE load(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE canPlayType(
        BSTR type,
        BSTR *canPlay) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_seeking(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_currentTime(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentTime(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_initialTime(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_duration(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_paused(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultPlaybackRate(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultPlaybackRate(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_playbackRate(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_playbackRate(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_played(
        IHTMLTimeRanges **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_seekable(
        IHTMLTimeRanges **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ended(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_autoplay(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_autoplay(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_loop(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loop(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE play(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE pause(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_controls(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_controls(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_volume(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_volume(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_muted(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_muted(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_autobuffer(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_autobuffer(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMediaElement, 0x30510706, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMediaElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMediaElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMediaElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMediaElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMediaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMediaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMediaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMediaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMediaElement methods ***/
    HRESULT (STDMETHODCALLTYPE *get_error)(
        IHTMLMediaElement *This,
        IHTMLMediaError **p);

    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLMediaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLMediaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_currentSrc)(
        IHTMLMediaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_networkState)(
        IHTMLMediaElement *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_preload)(
        IHTMLMediaElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_preload)(
        IHTMLMediaElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_buffered)(
        IHTMLMediaElement *This,
        IHTMLTimeRanges **p);

    HRESULT (STDMETHODCALLTYPE *load)(
        IHTMLMediaElement *This);

    HRESULT (STDMETHODCALLTYPE *canPlayType)(
        IHTMLMediaElement *This,
        BSTR type,
        BSTR *canPlay);

    HRESULT (STDMETHODCALLTYPE *get_seeking)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_currentTime)(
        IHTMLMediaElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_currentTime)(
        IHTMLMediaElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_initialTime)(
        IHTMLMediaElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_duration)(
        IHTMLMediaElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_paused)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultPlaybackRate)(
        IHTMLMediaElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_defaultPlaybackRate)(
        IHTMLMediaElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_playbackRate)(
        IHTMLMediaElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_playbackRate)(
        IHTMLMediaElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_played)(
        IHTMLMediaElement *This,
        IHTMLTimeRanges **p);

    HRESULT (STDMETHODCALLTYPE *get_seekable)(
        IHTMLMediaElement *This,
        IHTMLTimeRanges **p);

    HRESULT (STDMETHODCALLTYPE *get_ended)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_autoplay)(
        IHTMLMediaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_autoplay)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_loop)(
        IHTMLMediaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_loop)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *play)(
        IHTMLMediaElement *This);

    HRESULT (STDMETHODCALLTYPE *pause)(
        IHTMLMediaElement *This);

    HRESULT (STDMETHODCALLTYPE *put_controls)(
        IHTMLMediaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_controls)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_volume)(
        IHTMLMediaElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_volume)(
        IHTMLMediaElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_muted)(
        IHTMLMediaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_muted)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_autobuffer)(
        IHTMLMediaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_autobuffer)(
        IHTMLMediaElement *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLMediaElementVtbl;

interface IHTMLMediaElement {
    CONST_VTBL IHTMLMediaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMediaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMediaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMediaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMediaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMediaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMediaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMediaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMediaElement methods ***/
#define IHTMLMediaElement_get_error(This,p) (This)->lpVtbl->get_error(This,p)
#define IHTMLMediaElement_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLMediaElement_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLMediaElement_get_currentSrc(This,p) (This)->lpVtbl->get_currentSrc(This,p)
#define IHTMLMediaElement_get_networkState(This,p) (This)->lpVtbl->get_networkState(This,p)
#define IHTMLMediaElement_put_preload(This,v) (This)->lpVtbl->put_preload(This,v)
#define IHTMLMediaElement_get_preload(This,p) (This)->lpVtbl->get_preload(This,p)
#define IHTMLMediaElement_get_buffered(This,p) (This)->lpVtbl->get_buffered(This,p)
#define IHTMLMediaElement_load(This) (This)->lpVtbl->load(This)
#define IHTMLMediaElement_canPlayType(This,type,canPlay) (This)->lpVtbl->canPlayType(This,type,canPlay)
#define IHTMLMediaElement_get_seeking(This,p) (This)->lpVtbl->get_seeking(This,p)
#define IHTMLMediaElement_put_currentTime(This,v) (This)->lpVtbl->put_currentTime(This,v)
#define IHTMLMediaElement_get_currentTime(This,p) (This)->lpVtbl->get_currentTime(This,p)
#define IHTMLMediaElement_get_initialTime(This,p) (This)->lpVtbl->get_initialTime(This,p)
#define IHTMLMediaElement_get_duration(This,p) (This)->lpVtbl->get_duration(This,p)
#define IHTMLMediaElement_get_paused(This,p) (This)->lpVtbl->get_paused(This,p)
#define IHTMLMediaElement_put_defaultPlaybackRate(This,v) (This)->lpVtbl->put_defaultPlaybackRate(This,v)
#define IHTMLMediaElement_get_defaultPlaybackRate(This,p) (This)->lpVtbl->get_defaultPlaybackRate(This,p)
#define IHTMLMediaElement_put_playbackRate(This,v) (This)->lpVtbl->put_playbackRate(This,v)
#define IHTMLMediaElement_get_playbackRate(This,p) (This)->lpVtbl->get_playbackRate(This,p)
#define IHTMLMediaElement_get_played(This,p) (This)->lpVtbl->get_played(This,p)
#define IHTMLMediaElement_get_seekable(This,p) (This)->lpVtbl->get_seekable(This,p)
#define IHTMLMediaElement_get_ended(This,p) (This)->lpVtbl->get_ended(This,p)
#define IHTMLMediaElement_put_autoplay(This,v) (This)->lpVtbl->put_autoplay(This,v)
#define IHTMLMediaElement_get_autoplay(This,p) (This)->lpVtbl->get_autoplay(This,p)
#define IHTMLMediaElement_put_loop(This,v) (This)->lpVtbl->put_loop(This,v)
#define IHTMLMediaElement_get_loop(This,p) (This)->lpVtbl->get_loop(This,p)
#define IHTMLMediaElement_play(This) (This)->lpVtbl->play(This)
#define IHTMLMediaElement_pause(This) (This)->lpVtbl->pause(This)
#define IHTMLMediaElement_put_controls(This,v) (This)->lpVtbl->put_controls(This,v)
#define IHTMLMediaElement_get_controls(This,p) (This)->lpVtbl->get_controls(This,p)
#define IHTMLMediaElement_put_volume(This,v) (This)->lpVtbl->put_volume(This,v)
#define IHTMLMediaElement_get_volume(This,p) (This)->lpVtbl->get_volume(This,p)
#define IHTMLMediaElement_put_muted(This,v) (This)->lpVtbl->put_muted(This,v)
#define IHTMLMediaElement_get_muted(This,p) (This)->lpVtbl->get_muted(This,p)
#define IHTMLMediaElement_put_autobuffer(This,v) (This)->lpVtbl->put_autobuffer(This,v)
#define IHTMLMediaElement_get_autobuffer(This,p) (This)->lpVtbl->get_autobuffer(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMediaElement_QueryInterface(IHTMLMediaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMediaElement_AddRef(IHTMLMediaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMediaElement_Release(IHTMLMediaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMediaElement_GetTypeInfoCount(IHTMLMediaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMediaElement_GetTypeInfo(IHTMLMediaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMediaElement_GetIDsOfNames(IHTMLMediaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMediaElement_Invoke(IHTMLMediaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMediaElement methods ***/
static inline HRESULT IHTMLMediaElement_get_error(IHTMLMediaElement* This,IHTMLMediaError **p) {
    return This->lpVtbl->get_error(This,p);
}
static inline HRESULT IHTMLMediaElement_put_src(IHTMLMediaElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLMediaElement_get_src(IHTMLMediaElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLMediaElement_get_currentSrc(IHTMLMediaElement* This,BSTR *p) {
    return This->lpVtbl->get_currentSrc(This,p);
}
static inline HRESULT IHTMLMediaElement_get_networkState(IHTMLMediaElement* This,USHORT *p) {
    return This->lpVtbl->get_networkState(This,p);
}
static inline HRESULT IHTMLMediaElement_put_preload(IHTMLMediaElement* This,BSTR v) {
    return This->lpVtbl->put_preload(This,v);
}
static inline HRESULT IHTMLMediaElement_get_preload(IHTMLMediaElement* This,BSTR *p) {
    return This->lpVtbl->get_preload(This,p);
}
static inline HRESULT IHTMLMediaElement_get_buffered(IHTMLMediaElement* This,IHTMLTimeRanges **p) {
    return This->lpVtbl->get_buffered(This,p);
}
static inline HRESULT IHTMLMediaElement_load(IHTMLMediaElement* This) {
    return This->lpVtbl->load(This);
}
static inline HRESULT IHTMLMediaElement_canPlayType(IHTMLMediaElement* This,BSTR type,BSTR *canPlay) {
    return This->lpVtbl->canPlayType(This,type,canPlay);
}
static inline HRESULT IHTMLMediaElement_get_seeking(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_seeking(This,p);
}
static inline HRESULT IHTMLMediaElement_put_currentTime(IHTMLMediaElement* This,float v) {
    return This->lpVtbl->put_currentTime(This,v);
}
static inline HRESULT IHTMLMediaElement_get_currentTime(IHTMLMediaElement* This,float *p) {
    return This->lpVtbl->get_currentTime(This,p);
}
static inline HRESULT IHTMLMediaElement_get_initialTime(IHTMLMediaElement* This,float *p) {
    return This->lpVtbl->get_initialTime(This,p);
}
static inline HRESULT IHTMLMediaElement_get_duration(IHTMLMediaElement* This,float *p) {
    return This->lpVtbl->get_duration(This,p);
}
static inline HRESULT IHTMLMediaElement_get_paused(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_paused(This,p);
}
static inline HRESULT IHTMLMediaElement_put_defaultPlaybackRate(IHTMLMediaElement* This,float v) {
    return This->lpVtbl->put_defaultPlaybackRate(This,v);
}
static inline HRESULT IHTMLMediaElement_get_defaultPlaybackRate(IHTMLMediaElement* This,float *p) {
    return This->lpVtbl->get_defaultPlaybackRate(This,p);
}
static inline HRESULT IHTMLMediaElement_put_playbackRate(IHTMLMediaElement* This,float v) {
    return This->lpVtbl->put_playbackRate(This,v);
}
static inline HRESULT IHTMLMediaElement_get_playbackRate(IHTMLMediaElement* This,float *p) {
    return This->lpVtbl->get_playbackRate(This,p);
}
static inline HRESULT IHTMLMediaElement_get_played(IHTMLMediaElement* This,IHTMLTimeRanges **p) {
    return This->lpVtbl->get_played(This,p);
}
static inline HRESULT IHTMLMediaElement_get_seekable(IHTMLMediaElement* This,IHTMLTimeRanges **p) {
    return This->lpVtbl->get_seekable(This,p);
}
static inline HRESULT IHTMLMediaElement_get_ended(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_ended(This,p);
}
static inline HRESULT IHTMLMediaElement_put_autoplay(IHTMLMediaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_autoplay(This,v);
}
static inline HRESULT IHTMLMediaElement_get_autoplay(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_autoplay(This,p);
}
static inline HRESULT IHTMLMediaElement_put_loop(IHTMLMediaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_loop(This,v);
}
static inline HRESULT IHTMLMediaElement_get_loop(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_loop(This,p);
}
static inline HRESULT IHTMLMediaElement_play(IHTMLMediaElement* This) {
    return This->lpVtbl->play(This);
}
static inline HRESULT IHTMLMediaElement_pause(IHTMLMediaElement* This) {
    return This->lpVtbl->pause(This);
}
static inline HRESULT IHTMLMediaElement_put_controls(IHTMLMediaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_controls(This,v);
}
static inline HRESULT IHTMLMediaElement_get_controls(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_controls(This,p);
}
static inline HRESULT IHTMLMediaElement_put_volume(IHTMLMediaElement* This,float v) {
    return This->lpVtbl->put_volume(This,v);
}
static inline HRESULT IHTMLMediaElement_get_volume(IHTMLMediaElement* This,float *p) {
    return This->lpVtbl->get_volume(This,p);
}
static inline HRESULT IHTMLMediaElement_put_muted(IHTMLMediaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_muted(This,v);
}
static inline HRESULT IHTMLMediaElement_get_muted(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_muted(This,p);
}
static inline HRESULT IHTMLMediaElement_put_autobuffer(IHTMLMediaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_autobuffer(This,v);
}
static inline HRESULT IHTMLMediaElement_get_autobuffer(IHTMLMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_autobuffer(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMediaElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMediaElement2 interface
 */
#ifndef __IHTMLMediaElement2_INTERFACE_DEFINED__
#define __IHTMLMediaElement2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMediaElement2, 0x30510809, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510809-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMediaElement2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_currentTimeDouble(
        double v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentTimeDouble(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_initialTimeDouble(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_durationDouble(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_defaultPlaybackRateDouble(
        double v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaultPlaybackRateDouble(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_playbackRateDouble(
        double v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_playbackRateDouble(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_volumeDouble(
        double v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_volumeDouble(
        double *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMediaElement2, 0x30510809, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMediaElement2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMediaElement2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMediaElement2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMediaElement2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMediaElement2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMediaElement2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMediaElement2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMediaElement2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMediaElement2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_currentTimeDouble)(
        IHTMLMediaElement2 *This,
        double v);

    HRESULT (STDMETHODCALLTYPE *get_currentTimeDouble)(
        IHTMLMediaElement2 *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *get_initialTimeDouble)(
        IHTMLMediaElement2 *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *get_durationDouble)(
        IHTMLMediaElement2 *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *put_defaultPlaybackRateDouble)(
        IHTMLMediaElement2 *This,
        double v);

    HRESULT (STDMETHODCALLTYPE *get_defaultPlaybackRateDouble)(
        IHTMLMediaElement2 *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *put_playbackRateDouble)(
        IHTMLMediaElement2 *This,
        double v);

    HRESULT (STDMETHODCALLTYPE *get_playbackRateDouble)(
        IHTMLMediaElement2 *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *put_volumeDouble)(
        IHTMLMediaElement2 *This,
        double v);

    HRESULT (STDMETHODCALLTYPE *get_volumeDouble)(
        IHTMLMediaElement2 *This,
        double *p);

    END_INTERFACE
} IHTMLMediaElement2Vtbl;

interface IHTMLMediaElement2 {
    CONST_VTBL IHTMLMediaElement2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMediaElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMediaElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMediaElement2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMediaElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMediaElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMediaElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMediaElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMediaElement2 methods ***/
#define IHTMLMediaElement2_put_currentTimeDouble(This,v) (This)->lpVtbl->put_currentTimeDouble(This,v)
#define IHTMLMediaElement2_get_currentTimeDouble(This,p) (This)->lpVtbl->get_currentTimeDouble(This,p)
#define IHTMLMediaElement2_get_initialTimeDouble(This,p) (This)->lpVtbl->get_initialTimeDouble(This,p)
#define IHTMLMediaElement2_get_durationDouble(This,p) (This)->lpVtbl->get_durationDouble(This,p)
#define IHTMLMediaElement2_put_defaultPlaybackRateDouble(This,v) (This)->lpVtbl->put_defaultPlaybackRateDouble(This,v)
#define IHTMLMediaElement2_get_defaultPlaybackRateDouble(This,p) (This)->lpVtbl->get_defaultPlaybackRateDouble(This,p)
#define IHTMLMediaElement2_put_playbackRateDouble(This,v) (This)->lpVtbl->put_playbackRateDouble(This,v)
#define IHTMLMediaElement2_get_playbackRateDouble(This,p) (This)->lpVtbl->get_playbackRateDouble(This,p)
#define IHTMLMediaElement2_put_volumeDouble(This,v) (This)->lpVtbl->put_volumeDouble(This,v)
#define IHTMLMediaElement2_get_volumeDouble(This,p) (This)->lpVtbl->get_volumeDouble(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMediaElement2_QueryInterface(IHTMLMediaElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMediaElement2_AddRef(IHTMLMediaElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMediaElement2_Release(IHTMLMediaElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMediaElement2_GetTypeInfoCount(IHTMLMediaElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMediaElement2_GetTypeInfo(IHTMLMediaElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMediaElement2_GetIDsOfNames(IHTMLMediaElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMediaElement2_Invoke(IHTMLMediaElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMediaElement2 methods ***/
static inline HRESULT IHTMLMediaElement2_put_currentTimeDouble(IHTMLMediaElement2* This,double v) {
    return This->lpVtbl->put_currentTimeDouble(This,v);
}
static inline HRESULT IHTMLMediaElement2_get_currentTimeDouble(IHTMLMediaElement2* This,double *p) {
    return This->lpVtbl->get_currentTimeDouble(This,p);
}
static inline HRESULT IHTMLMediaElement2_get_initialTimeDouble(IHTMLMediaElement2* This,double *p) {
    return This->lpVtbl->get_initialTimeDouble(This,p);
}
static inline HRESULT IHTMLMediaElement2_get_durationDouble(IHTMLMediaElement2* This,double *p) {
    return This->lpVtbl->get_durationDouble(This,p);
}
static inline HRESULT IHTMLMediaElement2_put_defaultPlaybackRateDouble(IHTMLMediaElement2* This,double v) {
    return This->lpVtbl->put_defaultPlaybackRateDouble(This,v);
}
static inline HRESULT IHTMLMediaElement2_get_defaultPlaybackRateDouble(IHTMLMediaElement2* This,double *p) {
    return This->lpVtbl->get_defaultPlaybackRateDouble(This,p);
}
static inline HRESULT IHTMLMediaElement2_put_playbackRateDouble(IHTMLMediaElement2* This,double v) {
    return This->lpVtbl->put_playbackRateDouble(This,v);
}
static inline HRESULT IHTMLMediaElement2_get_playbackRateDouble(IHTMLMediaElement2* This,double *p) {
    return This->lpVtbl->get_playbackRateDouble(This,p);
}
static inline HRESULT IHTMLMediaElement2_put_volumeDouble(IHTMLMediaElement2* This,double v) {
    return This->lpVtbl->put_volumeDouble(This,v);
}
static inline HRESULT IHTMLMediaElement2_get_volumeDouble(IHTMLMediaElement2* This,double *p) {
    return This->lpVtbl->get_volumeDouble(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMediaElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLMSMediaElement interface
 */
#ifndef __IHTMLMSMediaElement_INTERFACE_DEFINED__
#define __IHTMLMSMediaElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLMSMediaElement, 0x30510792, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510792-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMSMediaElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_msPlayToDisabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msPlayToDisabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_msPlayToPrimary(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msPlayToPrimary(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLMSMediaElement, 0x30510792, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLMSMediaElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLMSMediaElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLMSMediaElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLMSMediaElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLMSMediaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLMSMediaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLMSMediaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLMSMediaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLMSMediaElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_msPlayToDisabled)(
        IHTMLMSMediaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_msPlayToDisabled)(
        IHTMLMSMediaElement *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_msPlayToPrimary)(
        IHTMLMSMediaElement *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_msPlayToPrimary)(
        IHTMLMSMediaElement *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLMSMediaElementVtbl;

interface IHTMLMSMediaElement {
    CONST_VTBL IHTMLMSMediaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLMSMediaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLMSMediaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLMSMediaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLMSMediaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLMSMediaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLMSMediaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLMSMediaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLMSMediaElement methods ***/
#define IHTMLMSMediaElement_put_msPlayToDisabled(This,v) (This)->lpVtbl->put_msPlayToDisabled(This,v)
#define IHTMLMSMediaElement_get_msPlayToDisabled(This,p) (This)->lpVtbl->get_msPlayToDisabled(This,p)
#define IHTMLMSMediaElement_put_msPlayToPrimary(This,v) (This)->lpVtbl->put_msPlayToPrimary(This,v)
#define IHTMLMSMediaElement_get_msPlayToPrimary(This,p) (This)->lpVtbl->get_msPlayToPrimary(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLMSMediaElement_QueryInterface(IHTMLMSMediaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLMSMediaElement_AddRef(IHTMLMSMediaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLMSMediaElement_Release(IHTMLMSMediaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLMSMediaElement_GetTypeInfoCount(IHTMLMSMediaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLMSMediaElement_GetTypeInfo(IHTMLMSMediaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLMSMediaElement_GetIDsOfNames(IHTMLMSMediaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLMSMediaElement_Invoke(IHTMLMSMediaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLMSMediaElement methods ***/
static inline HRESULT IHTMLMSMediaElement_put_msPlayToDisabled(IHTMLMSMediaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_msPlayToDisabled(This,v);
}
static inline HRESULT IHTMLMSMediaElement_get_msPlayToDisabled(IHTMLMSMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_msPlayToDisabled(This,p);
}
static inline HRESULT IHTMLMSMediaElement_put_msPlayToPrimary(IHTMLMSMediaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_msPlayToPrimary(This,v);
}
static inline HRESULT IHTMLMSMediaElement_get_msPlayToPrimary(IHTMLMSMediaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_msPlayToPrimary(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMSMediaElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLSourceElement interface
 */
#ifndef __IHTMLSourceElement_INTERFACE_DEFINED__
#define __IHTMLSourceElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLSourceElement, 0x30510707, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510707-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSourceElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_src(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_src(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLSourceElement, 0x30510707, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLSourceElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLSourceElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLSourceElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLSourceElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLSourceElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLSourceElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLSourceElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLSourceElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLSourceElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_src)(
        IHTMLSourceElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_src)(
        IHTMLSourceElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_type)(
        IHTMLSourceElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLSourceElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_media)(
        IHTMLSourceElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        IHTMLSourceElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLSourceElementVtbl;

interface IHTMLSourceElement {
    CONST_VTBL IHTMLSourceElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLSourceElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLSourceElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLSourceElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLSourceElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLSourceElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLSourceElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLSourceElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLSourceElement methods ***/
#define IHTMLSourceElement_put_src(This,v) (This)->lpVtbl->put_src(This,v)
#define IHTMLSourceElement_get_src(This,p) (This)->lpVtbl->get_src(This,p)
#define IHTMLSourceElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define IHTMLSourceElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLSourceElement_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define IHTMLSourceElement_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLSourceElement_QueryInterface(IHTMLSourceElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLSourceElement_AddRef(IHTMLSourceElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLSourceElement_Release(IHTMLSourceElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLSourceElement_GetTypeInfoCount(IHTMLSourceElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLSourceElement_GetTypeInfo(IHTMLSourceElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLSourceElement_GetIDsOfNames(IHTMLSourceElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLSourceElement_Invoke(IHTMLSourceElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLSourceElement methods ***/
static inline HRESULT IHTMLSourceElement_put_src(IHTMLSourceElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static inline HRESULT IHTMLSourceElement_get_src(IHTMLSourceElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static inline HRESULT IHTMLSourceElement_put_type(IHTMLSourceElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT IHTMLSourceElement_get_type(IHTMLSourceElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLSourceElement_put_media(IHTMLSourceElement* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT IHTMLSourceElement_get_media(IHTMLSourceElement* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLSourceElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAudioElement interface
 */
#ifndef __IHTMLAudioElement_INTERFACE_DEFINED__
#define __IHTMLAudioElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAudioElement, 0x30510708, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510708-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAudioElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAudioElement, 0x30510708, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAudioElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAudioElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAudioElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAudioElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAudioElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAudioElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAudioElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAudioElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} IHTMLAudioElementVtbl;

interface IHTMLAudioElement {
    CONST_VTBL IHTMLAudioElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAudioElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAudioElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAudioElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAudioElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAudioElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAudioElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAudioElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAudioElement_QueryInterface(IHTMLAudioElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAudioElement_AddRef(IHTMLAudioElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAudioElement_Release(IHTMLAudioElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAudioElement_GetTypeInfoCount(IHTMLAudioElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAudioElement_GetTypeInfo(IHTMLAudioElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAudioElement_GetIDsOfNames(IHTMLAudioElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAudioElement_Invoke(IHTMLAudioElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __IHTMLAudioElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLVideoElement interface
 */
#ifndef __IHTMLVideoElement_INTERFACE_DEFINED__
#define __IHTMLVideoElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLVideoElement, 0x30510709, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510709-98b5-11cf-bb82-00aa00bdce0b")
IHTMLVideoElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_width(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_height(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_videoWidth(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_videoHeight(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_poster(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_poster(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLVideoElement, 0x30510709, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLVideoElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLVideoElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLVideoElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLVideoElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLVideoElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLVideoElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLVideoElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLVideoElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLVideoElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_width)(
        IHTMLVideoElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IHTMLVideoElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_height)(
        IHTMLVideoElement *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IHTMLVideoElement *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_videoWidth)(
        IHTMLVideoElement *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *get_videoHeight)(
        IHTMLVideoElement *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *put_poster)(
        IHTMLVideoElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_poster)(
        IHTMLVideoElement *This,
        BSTR *p);

    END_INTERFACE
} IHTMLVideoElementVtbl;

interface IHTMLVideoElement {
    CONST_VTBL IHTMLVideoElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLVideoElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLVideoElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLVideoElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLVideoElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLVideoElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLVideoElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLVideoElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLVideoElement methods ***/
#define IHTMLVideoElement_put_width(This,v) (This)->lpVtbl->put_width(This,v)
#define IHTMLVideoElement_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IHTMLVideoElement_put_height(This,v) (This)->lpVtbl->put_height(This,v)
#define IHTMLVideoElement_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IHTMLVideoElement_get_videoWidth(This,p) (This)->lpVtbl->get_videoWidth(This,p)
#define IHTMLVideoElement_get_videoHeight(This,p) (This)->lpVtbl->get_videoHeight(This,p)
#define IHTMLVideoElement_put_poster(This,v) (This)->lpVtbl->put_poster(This,v)
#define IHTMLVideoElement_get_poster(This,p) (This)->lpVtbl->get_poster(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLVideoElement_QueryInterface(IHTMLVideoElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLVideoElement_AddRef(IHTMLVideoElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLVideoElement_Release(IHTMLVideoElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLVideoElement_GetTypeInfoCount(IHTMLVideoElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLVideoElement_GetTypeInfo(IHTMLVideoElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLVideoElement_GetIDsOfNames(IHTMLVideoElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLVideoElement_Invoke(IHTMLVideoElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLVideoElement methods ***/
static inline HRESULT IHTMLVideoElement_put_width(IHTMLVideoElement* This,LONG v) {
    return This->lpVtbl->put_width(This,v);
}
static inline HRESULT IHTMLVideoElement_get_width(IHTMLVideoElement* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IHTMLVideoElement_put_height(IHTMLVideoElement* This,LONG v) {
    return This->lpVtbl->put_height(This,v);
}
static inline HRESULT IHTMLVideoElement_get_height(IHTMLVideoElement* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IHTMLVideoElement_get_videoWidth(IHTMLVideoElement* This,ULONG *p) {
    return This->lpVtbl->get_videoWidth(This,p);
}
static inline HRESULT IHTMLVideoElement_get_videoHeight(IHTMLVideoElement* This,ULONG *p) {
    return This->lpVtbl->get_videoHeight(This,p);
}
static inline HRESULT IHTMLVideoElement_put_poster(IHTMLVideoElement* This,BSTR v) {
    return This->lpVtbl->put_poster(This,v);
}
static inline HRESULT IHTMLVideoElement_get_poster(IHTMLVideoElement* This,BSTR *p) {
    return This->lpVtbl->get_poster(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLVideoElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAudioElementFactory interface
 */
#ifndef __IHTMLAudioElementFactory_INTERFACE_DEFINED__
#define __IHTMLAudioElementFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAudioElementFactory, 0x305107eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107eb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAudioElementFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE create(
        VARIANT src,
        IHTMLAudioElement **a) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAudioElementFactory, 0x305107eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAudioElementFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAudioElementFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAudioElementFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAudioElementFactory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAudioElementFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAudioElementFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAudioElementFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAudioElementFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAudioElementFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *create)(
        IHTMLAudioElementFactory *This,
        VARIANT src,
        IHTMLAudioElement **a);

    END_INTERFACE
} IHTMLAudioElementFactoryVtbl;

interface IHTMLAudioElementFactory {
    CONST_VTBL IHTMLAudioElementFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAudioElementFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAudioElementFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAudioElementFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAudioElementFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAudioElementFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAudioElementFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAudioElementFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAudioElementFactory methods ***/
#define IHTMLAudioElementFactory_create(This,src,a) (This)->lpVtbl->create(This,src,a)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAudioElementFactory_QueryInterface(IHTMLAudioElementFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAudioElementFactory_AddRef(IHTMLAudioElementFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAudioElementFactory_Release(IHTMLAudioElementFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAudioElementFactory_GetTypeInfoCount(IHTMLAudioElementFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAudioElementFactory_GetTypeInfo(IHTMLAudioElementFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAudioElementFactory_GetIDsOfNames(IHTMLAudioElementFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAudioElementFactory_Invoke(IHTMLAudioElementFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAudioElementFactory methods ***/
static inline HRESULT IHTMLAudioElementFactory_create(IHTMLAudioElementFactory* This,VARIANT src,IHTMLAudioElement **a) {
    return This->lpVtbl->create(This,src,a);
}
#endif
#endif

#endif


#endif  /* __IHTMLAudioElementFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLMediaError dispinterface
 */
#ifndef __DispHTMLMediaError_DISPINTERFACE_DEFINED__
#define __DispHTMLMediaError_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLMediaError, 0x30590086, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590086-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLMediaError : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLMediaError, 0x30590086, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLMediaErrorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLMediaError *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLMediaError *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLMediaError *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLMediaError *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLMediaError *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLMediaError *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLMediaError *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLMediaErrorVtbl;

interface DispHTMLMediaError {
    CONST_VTBL DispHTMLMediaErrorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLMediaError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLMediaError_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLMediaError_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLMediaError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLMediaError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLMediaError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLMediaError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLMediaError_QueryInterface(DispHTMLMediaError* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLMediaError_AddRef(DispHTMLMediaError* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLMediaError_Release(DispHTMLMediaError* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLMediaError_GetTypeInfoCount(DispHTMLMediaError* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLMediaError_GetTypeInfo(DispHTMLMediaError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLMediaError_GetIDsOfNames(DispHTMLMediaError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLMediaError_Invoke(DispHTMLMediaError* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLMediaError_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMediaError coclass
 */

DEFINE_GUID(CLSID_HTMLMediaError, 0x3051070a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051070a-98b5-11cf-bb82-00aa00bdce0b") HTMLMediaError;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMediaError, 0x3051070a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMediaError;
/*****************************************************************************
 * DispHTMLTimeRanges dispinterface
 */
#ifndef __DispHTMLTimeRanges_DISPINTERFACE_DEFINED__
#define __DispHTMLTimeRanges_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLTimeRanges, 0x30590087, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590087-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLTimeRanges : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLTimeRanges, 0x30590087, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLTimeRangesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLTimeRanges *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLTimeRanges *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLTimeRanges *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLTimeRanges *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLTimeRanges *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLTimeRanges *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLTimeRanges *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLTimeRangesVtbl;

interface DispHTMLTimeRanges {
    CONST_VTBL DispHTMLTimeRangesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLTimeRanges_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLTimeRanges_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLTimeRanges_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLTimeRanges_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLTimeRanges_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLTimeRanges_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLTimeRanges_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLTimeRanges_QueryInterface(DispHTMLTimeRanges* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLTimeRanges_AddRef(DispHTMLTimeRanges* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLTimeRanges_Release(DispHTMLTimeRanges* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLTimeRanges_GetTypeInfoCount(DispHTMLTimeRanges* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLTimeRanges_GetTypeInfo(DispHTMLTimeRanges* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLTimeRanges_GetIDsOfNames(DispHTMLTimeRanges* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLTimeRanges_Invoke(DispHTMLTimeRanges* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLTimeRanges_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLTimeRanges coclass
 */

DEFINE_GUID(CLSID_HTMLTimeRanges, 0x3051070b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051070b-98b5-11cf-bb82-00aa00bdce0b") HTMLTimeRanges;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLTimeRanges, 0x3051070b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTimeRanges;
/*****************************************************************************
 * DispHTMLMediaElement dispinterface
 */
#ifndef __DispHTMLMediaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMediaElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLMediaElement, 0x30590088, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590088-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLMediaElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLMediaElement, 0x30590088, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLMediaElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLMediaElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLMediaElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLMediaElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLMediaElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLMediaElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLMediaElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLMediaElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLMediaElementVtbl;

interface DispHTMLMediaElement {
    CONST_VTBL DispHTMLMediaElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLMediaElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLMediaElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLMediaElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLMediaElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLMediaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLMediaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLMediaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLMediaElement_QueryInterface(DispHTMLMediaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLMediaElement_AddRef(DispHTMLMediaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLMediaElement_Release(DispHTMLMediaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLMediaElement_GetTypeInfoCount(DispHTMLMediaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLMediaElement_GetTypeInfo(DispHTMLMediaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLMediaElement_GetIDsOfNames(DispHTMLMediaElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLMediaElement_Invoke(DispHTMLMediaElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLMediaElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLMediaElement coclass
 */

DEFINE_GUID(CLSID_HTMLMediaElement, 0x3051070c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051070c-98b5-11cf-bb82-00aa00bdce0b") HTMLMediaElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLMediaElement, 0x3051070c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMediaElement;
/*****************************************************************************
 * DispHTMLSourceElement dispinterface
 */
#ifndef __DispHTMLSourceElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSourceElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLSourceElement, 0x30590089, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590089-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLSourceElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLSourceElement, 0x30590089, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLSourceElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLSourceElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLSourceElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLSourceElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLSourceElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLSourceElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLSourceElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLSourceElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLSourceElementVtbl;

interface DispHTMLSourceElement {
    CONST_VTBL DispHTMLSourceElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLSourceElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLSourceElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLSourceElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLSourceElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLSourceElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLSourceElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLSourceElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLSourceElement_QueryInterface(DispHTMLSourceElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLSourceElement_AddRef(DispHTMLSourceElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLSourceElement_Release(DispHTMLSourceElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLSourceElement_GetTypeInfoCount(DispHTMLSourceElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLSourceElement_GetTypeInfo(DispHTMLSourceElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLSourceElement_GetIDsOfNames(DispHTMLSourceElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLSourceElement_Invoke(DispHTMLSourceElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLSourceElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLSourceElement coclass
 */

DEFINE_GUID(CLSID_HTMLSourceElement, 0x3051070d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051070d-98b5-11cf-bb82-00aa00bdce0b") HTMLSourceElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLSourceElement, 0x3051070d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSourceElement;
/*****************************************************************************
 * DispHTMLAudioElement dispinterface
 */
#ifndef __DispHTMLAudioElement_DISPINTERFACE_DEFINED__
#define __DispHTMLAudioElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLAudioElement, 0x3059008a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059008a-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLAudioElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLAudioElement, 0x3059008a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLAudioElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLAudioElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLAudioElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLAudioElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLAudioElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLAudioElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLAudioElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLAudioElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLAudioElementVtbl;

interface DispHTMLAudioElement {
    CONST_VTBL DispHTMLAudioElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLAudioElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLAudioElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLAudioElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLAudioElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLAudioElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLAudioElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLAudioElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLAudioElement_QueryInterface(DispHTMLAudioElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLAudioElement_AddRef(DispHTMLAudioElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLAudioElement_Release(DispHTMLAudioElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLAudioElement_GetTypeInfoCount(DispHTMLAudioElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLAudioElement_GetTypeInfo(DispHTMLAudioElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLAudioElement_GetIDsOfNames(DispHTMLAudioElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLAudioElement_Invoke(DispHTMLAudioElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLAudioElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAudioElement coclass
 */

DEFINE_GUID(CLSID_HTMLAudioElement, 0x3051070e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051070e-98b5-11cf-bb82-00aa00bdce0b") HTMLAudioElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAudioElement, 0x3051070e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CAudioElement;
/*****************************************************************************
 * HTMLAudioElementFactory coclass
 */

DEFINE_GUID(CLSID_HTMLAudioElementFactory, 0x305107ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107ec-98b5-11cf-bb82-00aa00bdce0b") HTMLAudioElementFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAudioElementFactory, 0x305107ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CAudioElementFactory;
/*****************************************************************************
 * DispHTMLVideoElement dispinterface
 */
#ifndef __DispHTMLVideoElement_DISPINTERFACE_DEFINED__
#define __DispHTMLVideoElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLVideoElement, 0x3059008b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059008b-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLVideoElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLVideoElement, 0x3059008b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLVideoElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLVideoElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLVideoElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLVideoElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLVideoElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLVideoElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLVideoElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLVideoElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLVideoElementVtbl;

interface DispHTMLVideoElement {
    CONST_VTBL DispHTMLVideoElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLVideoElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLVideoElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLVideoElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLVideoElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLVideoElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLVideoElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLVideoElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLVideoElement_QueryInterface(DispHTMLVideoElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLVideoElement_AddRef(DispHTMLVideoElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLVideoElement_Release(DispHTMLVideoElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLVideoElement_GetTypeInfoCount(DispHTMLVideoElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLVideoElement_GetTypeInfo(DispHTMLVideoElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLVideoElement_GetIDsOfNames(DispHTMLVideoElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLVideoElement_Invoke(DispHTMLVideoElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLVideoElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLVideoElement coclass
 */

DEFINE_GUID(CLSID_HTMLVideoElement, 0x3051070f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051070f-98b5-11cf-bb82-00aa00bdce0b") HTMLVideoElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLVideoElement, 0x3051070f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CVideoElement;
/*****************************************************************************
 * ISVGSwitchElement interface
 */
#ifndef __ISVGSwitchElement_INTERFACE_DEFINED__
#define __ISVGSwitchElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGSwitchElement, 0x305104f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f1-98b5-11cf-bb82-00aa00bdce0b")
ISVGSwitchElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGSwitchElement, 0x305104f1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGSwitchElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGSwitchElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGSwitchElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGSwitchElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGSwitchElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGSwitchElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGSwitchElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGSwitchElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGSwitchElementVtbl;

interface ISVGSwitchElement {
    CONST_VTBL ISVGSwitchElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGSwitchElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGSwitchElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGSwitchElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGSwitchElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGSwitchElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGSwitchElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGSwitchElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGSwitchElement_QueryInterface(ISVGSwitchElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGSwitchElement_AddRef(ISVGSwitchElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGSwitchElement_Release(ISVGSwitchElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGSwitchElement_GetTypeInfoCount(ISVGSwitchElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGSwitchElement_GetTypeInfo(ISVGSwitchElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGSwitchElement_GetIDsOfNames(ISVGSwitchElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGSwitchElement_Invoke(ISVGSwitchElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGSwitchElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGSwitchElement dispinterface
 */
#ifndef __DispSVGSwitchElement_DISPINTERFACE_DEFINED__
#define __DispSVGSwitchElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGSwitchElement, 0x30590030, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590030-98b5-11cf-bb82-00aa00bdce0b")
DispSVGSwitchElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGSwitchElement, 0x30590030, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGSwitchElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGSwitchElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGSwitchElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGSwitchElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGSwitchElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGSwitchElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGSwitchElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGSwitchElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGSwitchElementVtbl;

interface DispSVGSwitchElement {
    CONST_VTBL DispSVGSwitchElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGSwitchElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGSwitchElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGSwitchElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGSwitchElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGSwitchElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGSwitchElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGSwitchElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGSwitchElement_QueryInterface(DispSVGSwitchElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGSwitchElement_AddRef(DispSVGSwitchElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGSwitchElement_Release(DispSVGSwitchElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGSwitchElement_GetTypeInfoCount(DispSVGSwitchElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGSwitchElement_GetTypeInfo(DispSVGSwitchElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGSwitchElement_GetIDsOfNames(DispSVGSwitchElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGSwitchElement_Invoke(DispSVGSwitchElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGSwitchElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGSwitchElement coclass
 */

DEFINE_GUID(CLSID_SVGSwitchElement, 0x305105d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d8-98b5-11cf-bb82-00aa00bdce0b") SVGSwitchElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGSwitchElement, 0x305105d8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGSwitchElement;
/*****************************************************************************
 * ISVGDescElement interface
 */
#ifndef __ISVGDescElement_INTERFACE_DEFINED__
#define __ISVGDescElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGDescElement, 0x305104ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ea-98b5-11cf-bb82-00aa00bdce0b")
ISVGDescElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGDescElement, 0x305104ea, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGDescElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGDescElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGDescElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGDescElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGDescElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGDescElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGDescElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGDescElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGDescElementVtbl;

interface ISVGDescElement {
    CONST_VTBL ISVGDescElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGDescElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGDescElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGDescElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGDescElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGDescElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGDescElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGDescElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGDescElement_QueryInterface(ISVGDescElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGDescElement_AddRef(ISVGDescElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGDescElement_Release(ISVGDescElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGDescElement_GetTypeInfoCount(ISVGDescElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGDescElement_GetTypeInfo(ISVGDescElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGDescElement_GetIDsOfNames(ISVGDescElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGDescElement_Invoke(ISVGDescElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGDescElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGDescElement dispinterface
 */
#ifndef __DispSVGDescElement_DISPINTERFACE_DEFINED__
#define __DispSVGDescElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGDescElement, 0x30590005, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590005-98b5-11cf-bb82-00aa00bdce0b")
DispSVGDescElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGDescElement, 0x30590005, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGDescElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGDescElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGDescElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGDescElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGDescElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGDescElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGDescElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGDescElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGDescElementVtbl;

interface DispSVGDescElement {
    CONST_VTBL DispSVGDescElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGDescElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGDescElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGDescElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGDescElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGDescElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGDescElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGDescElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGDescElement_QueryInterface(DispSVGDescElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGDescElement_AddRef(DispSVGDescElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGDescElement_Release(DispSVGDescElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGDescElement_GetTypeInfoCount(DispSVGDescElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGDescElement_GetTypeInfo(DispSVGDescElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGDescElement_GetIDsOfNames(DispSVGDescElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGDescElement_Invoke(DispSVGDescElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGDescElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGDescElement coclass
 */

DEFINE_GUID(CLSID_SVGDescElement, 0x30510572, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510572-98b5-11cf-bb82-00aa00bdce0b") SVGDescElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGDescElement, 0x30510572, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGDescElement;
/*****************************************************************************
 * ISVGTitleElement interface
 */
#ifndef __ISVGTitleElement_INTERFACE_DEFINED__
#define __ISVGTitleElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTitleElement, 0x305104eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104eb-98b5-11cf-bb82-00aa00bdce0b")
ISVGTitleElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTitleElement, 0x305104eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTitleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTitleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTitleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTitleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTitleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTitleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTitleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTitleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGTitleElementVtbl;

interface ISVGTitleElement {
    CONST_VTBL ISVGTitleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTitleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTitleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTitleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTitleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTitleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTitleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTitleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTitleElement_QueryInterface(ISVGTitleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTitleElement_AddRef(ISVGTitleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTitleElement_Release(ISVGTitleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTitleElement_GetTypeInfoCount(ISVGTitleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTitleElement_GetTypeInfo(ISVGTitleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTitleElement_GetIDsOfNames(ISVGTitleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTitleElement_Invoke(ISVGTitleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGTitleElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGTitleElement dispinterface
 */
#ifndef __DispSVGTitleElement_DISPINTERFACE_DEFINED__
#define __DispSVGTitleElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGTitleElement, 0x30590006, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590006-98b5-11cf-bb82-00aa00bdce0b")
DispSVGTitleElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGTitleElement, 0x30590006, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGTitleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGTitleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGTitleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGTitleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGTitleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGTitleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGTitleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGTitleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGTitleElementVtbl;

interface DispSVGTitleElement {
    CONST_VTBL DispSVGTitleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGTitleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGTitleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGTitleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGTitleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGTitleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGTitleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGTitleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGTitleElement_QueryInterface(DispSVGTitleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGTitleElement_AddRef(DispSVGTitleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGTitleElement_Release(DispSVGTitleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGTitleElement_GetTypeInfoCount(DispSVGTitleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGTitleElement_GetTypeInfo(DispSVGTitleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGTitleElement_GetIDsOfNames(DispSVGTitleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGTitleElement_Invoke(DispSVGTitleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGTitleElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTitleElement coclass
 */

DEFINE_GUID(CLSID_SVGTitleElement, 0x30510573, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510573-98b5-11cf-bb82-00aa00bdce0b") SVGTitleElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTitleElement, 0x30510573, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTitleElement;
/*****************************************************************************
 * ISVGMetadataElement interface
 */
#ifndef __ISVGMetadataElement_INTERFACE_DEFINED__
#define __ISVGMetadataElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGMetadataElement, 0x30510560, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510560-98b5-11cf-bb82-00aa00bdce0b")
ISVGMetadataElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGMetadataElement, 0x30510560, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGMetadataElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGMetadataElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGMetadataElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGMetadataElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGMetadataElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGMetadataElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGMetadataElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGMetadataElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGMetadataElementVtbl;

interface ISVGMetadataElement {
    CONST_VTBL ISVGMetadataElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGMetadataElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGMetadataElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGMetadataElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGMetadataElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGMetadataElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGMetadataElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGMetadataElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGMetadataElement_QueryInterface(ISVGMetadataElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGMetadataElement_AddRef(ISVGMetadataElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGMetadataElement_Release(ISVGMetadataElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGMetadataElement_GetTypeInfoCount(ISVGMetadataElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGMetadataElement_GetTypeInfo(ISVGMetadataElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGMetadataElement_GetIDsOfNames(ISVGMetadataElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGMetadataElement_Invoke(ISVGMetadataElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGMetadataElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGMetadataElement dispinterface
 */
#ifndef __DispSVGMetadataElement_DISPINTERFACE_DEFINED__
#define __DispSVGMetadataElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGMetadataElement, 0x3059002f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059002f-98b5-11cf-bb82-00aa00bdce0b")
DispSVGMetadataElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGMetadataElement, 0x3059002f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGMetadataElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGMetadataElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGMetadataElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGMetadataElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGMetadataElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGMetadataElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGMetadataElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGMetadataElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGMetadataElementVtbl;

interface DispSVGMetadataElement {
    CONST_VTBL DispSVGMetadataElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGMetadataElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGMetadataElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGMetadataElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGMetadataElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGMetadataElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGMetadataElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGMetadataElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGMetadataElement_QueryInterface(DispSVGMetadataElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGMetadataElement_AddRef(DispSVGMetadataElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGMetadataElement_Release(DispSVGMetadataElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGMetadataElement_GetTypeInfoCount(DispSVGMetadataElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGMetadataElement_GetTypeInfo(DispSVGMetadataElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGMetadataElement_GetIDsOfNames(DispSVGMetadataElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGMetadataElement_Invoke(DispSVGMetadataElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGMetadataElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGMetadataElement coclass
 */

DEFINE_GUID(CLSID_SVGMetadataElement, 0x305105d7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d7-98b5-11cf-bb82-00aa00bdce0b") SVGMetadataElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGMetadataElement, 0x305105d7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGMetadataElement;
#ifndef __ISVGElement_FWD_DEFINED__
#define __ISVGElement_FWD_DEFINED__
typedef interface ISVGElement ISVGElement;
#ifdef __cplusplus
interface ISVGElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGUseElement_FWD_DEFINED__
#define __ISVGUseElement_FWD_DEFINED__
typedef interface ISVGUseElement ISVGUseElement;
#ifdef __cplusplus
interface ISVGUseElement;
#endif /* __cplusplus */
#endif

#ifndef __ISVGElementInstanceList_FWD_DEFINED__
#define __ISVGElementInstanceList_FWD_DEFINED__
typedef interface ISVGElementInstanceList ISVGElementInstanceList;
#ifdef __cplusplus
interface ISVGElementInstanceList;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGElementInstance interface
 */
#ifndef __ISVGElementInstance_INTERFACE_DEFINED__
#define __ISVGElementInstance_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGElementInstance, 0x305104ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ee-98b5-11cf-bb82-00aa00bdce0b")
ISVGElementInstance : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_correspondingElement(
        ISVGElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_correspondingUseElement(
        ISVGUseElement **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentNode(
        ISVGElementInstance **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_childNodes(
        ISVGElementInstanceList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_firstChild(
        ISVGElementInstance **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lastChild(
        ISVGElementInstance **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_previousSibling(
        ISVGElementInstance **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_nextSibling(
        ISVGElementInstance **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGElementInstance, 0x305104ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGElementInstanceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGElementInstance *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGElementInstance *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGElementInstance *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGElementInstance *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGElementInstance *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGElementInstance *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGElementInstance *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGElementInstance methods ***/
    HRESULT (STDMETHODCALLTYPE *get_correspondingElement)(
        ISVGElementInstance *This,
        ISVGElement **p);

    HRESULT (STDMETHODCALLTYPE *get_correspondingUseElement)(
        ISVGElementInstance *This,
        ISVGUseElement **p);

    HRESULT (STDMETHODCALLTYPE *get_parentNode)(
        ISVGElementInstance *This,
        ISVGElementInstance **p);

    HRESULT (STDMETHODCALLTYPE *get_childNodes)(
        ISVGElementInstance *This,
        ISVGElementInstanceList **p);

    HRESULT (STDMETHODCALLTYPE *get_firstChild)(
        ISVGElementInstance *This,
        ISVGElementInstance **p);

    HRESULT (STDMETHODCALLTYPE *get_lastChild)(
        ISVGElementInstance *This,
        ISVGElementInstance **p);

    HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
        ISVGElementInstance *This,
        ISVGElementInstance **p);

    HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
        ISVGElementInstance *This,
        ISVGElementInstance **p);

    END_INTERFACE
} ISVGElementInstanceVtbl;

interface ISVGElementInstance {
    CONST_VTBL ISVGElementInstanceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGElementInstance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGElementInstance_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGElementInstance_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGElementInstance_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGElementInstance_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGElementInstance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGElementInstance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGElementInstance methods ***/
#define ISVGElementInstance_get_correspondingElement(This,p) (This)->lpVtbl->get_correspondingElement(This,p)
#define ISVGElementInstance_get_correspondingUseElement(This,p) (This)->lpVtbl->get_correspondingUseElement(This,p)
#define ISVGElementInstance_get_parentNode(This,p) (This)->lpVtbl->get_parentNode(This,p)
#define ISVGElementInstance_get_childNodes(This,p) (This)->lpVtbl->get_childNodes(This,p)
#define ISVGElementInstance_get_firstChild(This,p) (This)->lpVtbl->get_firstChild(This,p)
#define ISVGElementInstance_get_lastChild(This,p) (This)->lpVtbl->get_lastChild(This,p)
#define ISVGElementInstance_get_previousSibling(This,p) (This)->lpVtbl->get_previousSibling(This,p)
#define ISVGElementInstance_get_nextSibling(This,p) (This)->lpVtbl->get_nextSibling(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGElementInstance_QueryInterface(ISVGElementInstance* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGElementInstance_AddRef(ISVGElementInstance* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGElementInstance_Release(ISVGElementInstance* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGElementInstance_GetTypeInfoCount(ISVGElementInstance* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGElementInstance_GetTypeInfo(ISVGElementInstance* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGElementInstance_GetIDsOfNames(ISVGElementInstance* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGElementInstance_Invoke(ISVGElementInstance* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGElementInstance methods ***/
static inline HRESULT ISVGElementInstance_get_correspondingElement(ISVGElementInstance* This,ISVGElement **p) {
    return This->lpVtbl->get_correspondingElement(This,p);
}
static inline HRESULT ISVGElementInstance_get_correspondingUseElement(ISVGElementInstance* This,ISVGUseElement **p) {
    return This->lpVtbl->get_correspondingUseElement(This,p);
}
static inline HRESULT ISVGElementInstance_get_parentNode(ISVGElementInstance* This,ISVGElementInstance **p) {
    return This->lpVtbl->get_parentNode(This,p);
}
static inline HRESULT ISVGElementInstance_get_childNodes(ISVGElementInstance* This,ISVGElementInstanceList **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static inline HRESULT ISVGElementInstance_get_firstChild(ISVGElementInstance* This,ISVGElementInstance **p) {
    return This->lpVtbl->get_firstChild(This,p);
}
static inline HRESULT ISVGElementInstance_get_lastChild(ISVGElementInstance* This,ISVGElementInstance **p) {
    return This->lpVtbl->get_lastChild(This,p);
}
static inline HRESULT ISVGElementInstance_get_previousSibling(ISVGElementInstance* This,ISVGElementInstance **p) {
    return This->lpVtbl->get_previousSibling(This,p);
}
static inline HRESULT ISVGElementInstance_get_nextSibling(ISVGElementInstance* This,ISVGElementInstance **p) {
    return This->lpVtbl->get_nextSibling(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGElementInstance_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGElementInstance dispinterface
 */
#ifndef __DispSVGElementInstance_DISPINTERFACE_DEFINED__
#define __DispSVGElementInstance_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGElementInstance, 0x30590007, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590007-98b5-11cf-bb82-00aa00bdce0b")
DispSVGElementInstance : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGElementInstance, 0x30590007, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGElementInstanceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGElementInstance *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGElementInstance *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGElementInstance *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGElementInstance *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGElementInstance *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGElementInstance *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGElementInstance *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGElementInstanceVtbl;

interface DispSVGElementInstance {
    CONST_VTBL DispSVGElementInstanceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGElementInstance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGElementInstance_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGElementInstance_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGElementInstance_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGElementInstance_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGElementInstance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGElementInstance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGElementInstance_QueryInterface(DispSVGElementInstance* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGElementInstance_AddRef(DispSVGElementInstance* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGElementInstance_Release(DispSVGElementInstance* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGElementInstance_GetTypeInfoCount(DispSVGElementInstance* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGElementInstance_GetTypeInfo(DispSVGElementInstance* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGElementInstance_GetIDsOfNames(DispSVGElementInstance* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGElementInstance_Invoke(DispSVGElementInstance* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGElementInstance_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGElementInstance coclass
 */

DEFINE_GUID(CLSID_SVGElementInstance, 0x30510575, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510575-98b5-11cf-bb82-00aa00bdce0b") SVGElementInstance;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGElementInstance, 0x30510575, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGElementInstance;
#ifndef __ISVGElementInstance_FWD_DEFINED__
#define __ISVGElementInstance_FWD_DEFINED__
typedef interface ISVGElementInstance ISVGElementInstance;
#ifdef __cplusplus
interface ISVGElementInstance;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * ISVGElementInstanceList interface
 */
#ifndef __ISVGElementInstanceList_INTERFACE_DEFINED__
#define __ISVGElementInstanceList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGElementInstanceList, 0x305104ef, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104ef-98b5-11cf-bb82-00aa00bdce0b")
ISVGElementInstanceList : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        ISVGElementInstance **ppResult) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGElementInstanceList, 0x305104ef, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGElementInstanceListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGElementInstanceList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGElementInstanceList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGElementInstanceList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGElementInstanceList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGElementInstanceList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGElementInstanceList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGElementInstanceList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGElementInstanceList methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        ISVGElementInstanceList *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        ISVGElementInstanceList *This,
        LONG index,
        ISVGElementInstance **ppResult);

    END_INTERFACE
} ISVGElementInstanceListVtbl;

interface ISVGElementInstanceList {
    CONST_VTBL ISVGElementInstanceListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGElementInstanceList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGElementInstanceList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGElementInstanceList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGElementInstanceList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGElementInstanceList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGElementInstanceList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGElementInstanceList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGElementInstanceList methods ***/
#define ISVGElementInstanceList_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define ISVGElementInstanceList_item(This,index,ppResult) (This)->lpVtbl->item(This,index,ppResult)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGElementInstanceList_QueryInterface(ISVGElementInstanceList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGElementInstanceList_AddRef(ISVGElementInstanceList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGElementInstanceList_Release(ISVGElementInstanceList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGElementInstanceList_GetTypeInfoCount(ISVGElementInstanceList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGElementInstanceList_GetTypeInfo(ISVGElementInstanceList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGElementInstanceList_GetIDsOfNames(ISVGElementInstanceList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGElementInstanceList_Invoke(ISVGElementInstanceList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGElementInstanceList methods ***/
static inline HRESULT ISVGElementInstanceList_get_length(ISVGElementInstanceList* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT ISVGElementInstanceList_item(ISVGElementInstanceList* This,LONG index,ISVGElementInstance **ppResult) {
    return This->lpVtbl->item(This,index,ppResult);
}
#endif
#endif

#endif


#endif  /* __ISVGElementInstanceList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGElementInstanceList dispinterface
 */
#ifndef __DispSVGElementInstanceList_DISPINTERFACE_DEFINED__
#define __DispSVGElementInstanceList_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGElementInstanceList, 0x30590008, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590008-98b5-11cf-bb82-00aa00bdce0b")
DispSVGElementInstanceList : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGElementInstanceList, 0x30590008, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGElementInstanceListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGElementInstanceList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGElementInstanceList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGElementInstanceList *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGElementInstanceList *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGElementInstanceList *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGElementInstanceList *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGElementInstanceList *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGElementInstanceListVtbl;

interface DispSVGElementInstanceList {
    CONST_VTBL DispSVGElementInstanceListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGElementInstanceList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGElementInstanceList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGElementInstanceList_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGElementInstanceList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGElementInstanceList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGElementInstanceList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGElementInstanceList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGElementInstanceList_QueryInterface(DispSVGElementInstanceList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGElementInstanceList_AddRef(DispSVGElementInstanceList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGElementInstanceList_Release(DispSVGElementInstanceList* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGElementInstanceList_GetTypeInfoCount(DispSVGElementInstanceList* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGElementInstanceList_GetTypeInfo(DispSVGElementInstanceList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGElementInstanceList_GetIDsOfNames(DispSVGElementInstanceList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGElementInstanceList_Invoke(DispSVGElementInstanceList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGElementInstanceList_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGElementInstanceList coclass
 */

DEFINE_GUID(CLSID_SVGElementInstanceList, 0x30510576, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510576-98b5-11cf-bb82-00aa00bdce0b") SVGElementInstanceList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGElementInstanceList, 0x30510576, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGElementInstanceList;
/*****************************************************************************
 * IDOMException interface
 */
#ifndef __IDOMException_INTERFACE_DEFINED__
#define __IDOMException_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMException, 0x3051072b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051072b-98b5-11cf-bb82-00aa00bdce0b")
IDOMException : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_code(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_code(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_message(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMException, 0x3051072b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMException methods ***/
    HRESULT (STDMETHODCALLTYPE *put_code)(
        IDOMException *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_code)(
        IDOMException *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_message)(
        IDOMException *This,
        BSTR *p);

    END_INTERFACE
} IDOMExceptionVtbl;

interface IDOMException {
    CONST_VTBL IDOMExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMException methods ***/
#define IDOMException_put_code(This,v) (This)->lpVtbl->put_code(This,v)
#define IDOMException_get_code(This,p) (This)->lpVtbl->get_code(This,p)
#define IDOMException_get_message(This,p) (This)->lpVtbl->get_message(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMException_QueryInterface(IDOMException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMException_AddRef(IDOMException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMException_Release(IDOMException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMException_GetTypeInfoCount(IDOMException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMException_GetTypeInfo(IDOMException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMException_GetIDsOfNames(IDOMException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMException_Invoke(IDOMException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMException methods ***/
static inline HRESULT IDOMException_put_code(IDOMException* This,LONG v) {
    return This->lpVtbl->put_code(This,v);
}
static inline HRESULT IDOMException_get_code(IDOMException* This,LONG *p) {
    return This->lpVtbl->get_code(This,p);
}
static inline HRESULT IDOMException_get_message(IDOMException* This,BSTR *p) {
    return This->lpVtbl->get_message(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMException_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IRangeException interface
 */
#ifndef __IRangeException_INTERFACE_DEFINED__
#define __IRangeException_INTERFACE_DEFINED__

DEFINE_GUID(IID_IRangeException, 0x3051072d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051072d-98b5-11cf-bb82-00aa00bdce0b")
IRangeException : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_code(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_code(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_message(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRangeException, 0x3051072d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IRangeExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IRangeException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IRangeException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IRangeException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IRangeException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IRangeException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IRangeException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IRangeException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IRangeException methods ***/
    HRESULT (STDMETHODCALLTYPE *put_code)(
        IRangeException *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_code)(
        IRangeException *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_message)(
        IRangeException *This,
        BSTR *p);

    END_INTERFACE
} IRangeExceptionVtbl;

interface IRangeException {
    CONST_VTBL IRangeExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRangeException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRangeException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRangeException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IRangeException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IRangeException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IRangeException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IRangeException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IRangeException methods ***/
#define IRangeException_put_code(This,v) (This)->lpVtbl->put_code(This,v)
#define IRangeException_get_code(This,p) (This)->lpVtbl->get_code(This,p)
#define IRangeException_get_message(This,p) (This)->lpVtbl->get_message(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IRangeException_QueryInterface(IRangeException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IRangeException_AddRef(IRangeException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IRangeException_Release(IRangeException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IRangeException_GetTypeInfoCount(IRangeException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IRangeException_GetTypeInfo(IRangeException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IRangeException_GetIDsOfNames(IRangeException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IRangeException_Invoke(IRangeException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IRangeException methods ***/
static inline HRESULT IRangeException_put_code(IRangeException* This,LONG v) {
    return This->lpVtbl->put_code(This,v);
}
static inline HRESULT IRangeException_get_code(IRangeException* This,LONG *p) {
    return This->lpVtbl->get_code(This,p);
}
static inline HRESULT IRangeException_get_message(IRangeException* This,BSTR *p) {
    return This->lpVtbl->get_message(This,p);
}
#endif
#endif

#endif


#endif  /* __IRangeException_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISVGException interface
 */
#ifndef __ISVGException_INTERFACE_DEFINED__
#define __ISVGException_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGException, 0x3051072f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051072f-98b5-11cf-bb82-00aa00bdce0b")
ISVGException : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_code(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_code(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_message(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGException, 0x3051072f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGException methods ***/
    HRESULT (STDMETHODCALLTYPE *put_code)(
        ISVGException *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_code)(
        ISVGException *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_message)(
        ISVGException *This,
        BSTR *p);

    END_INTERFACE
} ISVGExceptionVtbl;

interface ISVGException {
    CONST_VTBL ISVGExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGException methods ***/
#define ISVGException_put_code(This,v) (This)->lpVtbl->put_code(This,v)
#define ISVGException_get_code(This,p) (This)->lpVtbl->get_code(This,p)
#define ISVGException_get_message(This,p) (This)->lpVtbl->get_message(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGException_QueryInterface(ISVGException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGException_AddRef(ISVGException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGException_Release(ISVGException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGException_GetTypeInfoCount(ISVGException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGException_GetTypeInfo(ISVGException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGException_GetIDsOfNames(ISVGException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGException_Invoke(ISVGException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGException methods ***/
static inline HRESULT ISVGException_put_code(ISVGException* This,LONG v) {
    return This->lpVtbl->put_code(This,v);
}
static inline HRESULT ISVGException_get_code(ISVGException* This,LONG *p) {
    return This->lpVtbl->get_code(This,p);
}
static inline HRESULT ISVGException_get_message(ISVGException* This,BSTR *p) {
    return This->lpVtbl->get_message(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGException_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEventException interface
 */
#ifndef __IEventException_INTERFACE_DEFINED__
#define __IEventException_INTERFACE_DEFINED__

DEFINE_GUID(IID_IEventException, 0x3051073a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051073a-98b5-11cf-bb82-00aa00bdce0b")
IEventException : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_code(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_code(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_message(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEventException, 0x3051073a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IEventExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IEventException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IEventException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IEventException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IEventException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IEventException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IEventException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IEventException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IEventException methods ***/
    HRESULT (STDMETHODCALLTYPE *put_code)(
        IEventException *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_code)(
        IEventException *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_message)(
        IEventException *This,
        BSTR *p);

    END_INTERFACE
} IEventExceptionVtbl;

interface IEventException {
    CONST_VTBL IEventExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEventException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEventException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEventException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IEventException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IEventException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IEventException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IEventException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IEventException methods ***/
#define IEventException_put_code(This,v) (This)->lpVtbl->put_code(This,v)
#define IEventException_get_code(This,p) (This)->lpVtbl->get_code(This,p)
#define IEventException_get_message(This,p) (This)->lpVtbl->get_message(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IEventException_QueryInterface(IEventException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IEventException_AddRef(IEventException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IEventException_Release(IEventException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IEventException_GetTypeInfoCount(IEventException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IEventException_GetTypeInfo(IEventException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IEventException_GetIDsOfNames(IEventException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IEventException_Invoke(IEventException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IEventException methods ***/
static inline HRESULT IEventException_put_code(IEventException* This,LONG v) {
    return This->lpVtbl->put_code(This,v);
}
static inline HRESULT IEventException_get_code(IEventException* This,LONG *p) {
    return This->lpVtbl->get_code(This,p);
}
static inline HRESULT IEventException_get_message(IEventException* This,BSTR *p) {
    return This->lpVtbl->get_message(This,p);
}
#endif
#endif

#endif


#endif  /* __IEventException_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMException dispinterface
 */
#ifndef __DispDOMException_DISPINTERFACE_DEFINED__
#define __DispDOMException_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMException, 0x30590094, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590094-98b5-11cf-bb82-00aa00bdce0b")
DispDOMException : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMException, 0x30590094, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMExceptionVtbl;

interface DispDOMException {
    CONST_VTBL DispDOMExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMException_QueryInterface(DispDOMException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMException_AddRef(DispDOMException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMException_Release(DispDOMException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMException_GetTypeInfoCount(DispDOMException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMException_GetTypeInfo(DispDOMException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMException_GetIDsOfNames(DispDOMException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMException_Invoke(DispDOMException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMException_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMException coclass
 */

DEFINE_GUID(CLSID_DOMException, 0x3051072c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051072c-98b5-11cf-bb82-00aa00bdce0b") DOMException;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMException, 0x3051072c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMException;
/*****************************************************************************
 * DispRangeException dispinterface
 */
#ifndef __DispRangeException_DISPINTERFACE_DEFINED__
#define __DispRangeException_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispRangeException, 0x30590095, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590095-98b5-11cf-bb82-00aa00bdce0b")
DispRangeException : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispRangeException, 0x30590095, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispRangeExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispRangeException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispRangeException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispRangeException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispRangeException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispRangeException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispRangeException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispRangeException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispRangeExceptionVtbl;

interface DispRangeException {
    CONST_VTBL DispRangeExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispRangeException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispRangeException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispRangeException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispRangeException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispRangeException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispRangeException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispRangeException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispRangeException_QueryInterface(DispRangeException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispRangeException_AddRef(DispRangeException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispRangeException_Release(DispRangeException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispRangeException_GetTypeInfoCount(DispRangeException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispRangeException_GetTypeInfo(DispRangeException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispRangeException_GetIDsOfNames(DispRangeException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispRangeException_Invoke(DispRangeException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispRangeException_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * RangeException coclass
 */

DEFINE_GUID(CLSID_RangeException, 0x3051072e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051072e-98b5-11cf-bb82-00aa00bdce0b") RangeException;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(RangeException, 0x3051072e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CRangeException;
/*****************************************************************************
 * DispSVGException dispinterface
 */
#ifndef __DispSVGException_DISPINTERFACE_DEFINED__
#define __DispSVGException_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGException, 0x30590096, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590096-98b5-11cf-bb82-00aa00bdce0b")
DispSVGException : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGException, 0x30590096, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGExceptionVtbl;

interface DispSVGException {
    CONST_VTBL DispSVGExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGException_QueryInterface(DispSVGException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGException_AddRef(DispSVGException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGException_Release(DispSVGException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGException_GetTypeInfoCount(DispSVGException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGException_GetTypeInfo(DispSVGException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGException_GetIDsOfNames(DispSVGException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGException_Invoke(DispSVGException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGException_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGException coclass
 */

DEFINE_GUID(CLSID_SVGException, 0x30510730, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510730-98b5-11cf-bb82-00aa00bdce0b") SVGException;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGException, 0x30510730, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGException;
/*****************************************************************************
 * DispEventException dispinterface
 */
#ifndef __DispEventException_DISPINTERFACE_DEFINED__
#define __DispEventException_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispEventException, 0x30590099, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590099-98b5-11cf-bb82-00aa00bdce0b")
DispEventException : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispEventException, 0x30590099, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispEventExceptionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispEventException *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispEventException *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispEventException *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispEventException *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispEventException *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispEventException *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispEventException *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispEventExceptionVtbl;

interface DispEventException {
    CONST_VTBL DispEventExceptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispEventException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispEventException_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispEventException_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispEventException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispEventException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispEventException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispEventException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispEventException_QueryInterface(DispEventException* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispEventException_AddRef(DispEventException* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispEventException_Release(DispEventException* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispEventException_GetTypeInfoCount(DispEventException* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispEventException_GetTypeInfo(DispEventException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispEventException_GetIDsOfNames(DispEventException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispEventException_Invoke(DispEventException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispEventException_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * EventException coclass
 */

DEFINE_GUID(CLSID_EventException, 0x3051073b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051073b-98b5-11cf-bb82-00aa00bdce0b") EventException;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(EventException, 0x3051073b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CEventException;
/*****************************************************************************
 * ISVGScriptElement interface
 */
#ifndef __ISVGScriptElement_INTERFACE_DEFINED__
#define __ISVGScriptElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGScriptElement, 0x3051054d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051054d-98b5-11cf-bb82-00aa00bdce0b")
ISVGScriptElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGScriptElement, 0x3051054d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGScriptElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGScriptElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGScriptElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGScriptElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGScriptElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGScriptElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGScriptElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGScriptElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGScriptElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_type)(
        ISVGScriptElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        ISVGScriptElement *This,
        BSTR *p);

    END_INTERFACE
} ISVGScriptElementVtbl;

interface ISVGScriptElement {
    CONST_VTBL ISVGScriptElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGScriptElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGScriptElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGScriptElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGScriptElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGScriptElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGScriptElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGScriptElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGScriptElement methods ***/
#define ISVGScriptElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define ISVGScriptElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGScriptElement_QueryInterface(ISVGScriptElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGScriptElement_AddRef(ISVGScriptElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGScriptElement_Release(ISVGScriptElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGScriptElement_GetTypeInfoCount(ISVGScriptElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGScriptElement_GetTypeInfo(ISVGScriptElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGScriptElement_GetIDsOfNames(ISVGScriptElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGScriptElement_Invoke(ISVGScriptElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGScriptElement methods ***/
static inline HRESULT ISVGScriptElement_put_type(ISVGScriptElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT ISVGScriptElement_get_type(ISVGScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGScriptElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGScriptElement dispinterface
 */
#ifndef __DispSVGScriptElement_DISPINTERFACE_DEFINED__
#define __DispSVGScriptElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGScriptElement, 0x30590039, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590039-98b5-11cf-bb82-00aa00bdce0b")
DispSVGScriptElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGScriptElement, 0x30590039, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGScriptElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGScriptElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGScriptElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGScriptElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGScriptElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGScriptElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGScriptElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGScriptElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGScriptElementVtbl;

interface DispSVGScriptElement {
    CONST_VTBL DispSVGScriptElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGScriptElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGScriptElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGScriptElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGScriptElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGScriptElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGScriptElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGScriptElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGScriptElement_QueryInterface(DispSVGScriptElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGScriptElement_AddRef(DispSVGScriptElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGScriptElement_Release(DispSVGScriptElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGScriptElement_GetTypeInfoCount(DispSVGScriptElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGScriptElement_GetTypeInfo(DispSVGScriptElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGScriptElement_GetIDsOfNames(DispSVGScriptElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGScriptElement_Invoke(DispSVGScriptElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGScriptElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGScriptElement coclass
 */

DEFINE_GUID(CLSID_SVGScriptElement, 0x305105e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105e1-98b5-11cf-bb82-00aa00bdce0b") SVGScriptElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGScriptElement, 0x305105e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGScriptElement;
/*****************************************************************************
 * ISVGStyleElement interface
 */
#ifndef __ISVGStyleElement_INTERFACE_DEFINED__
#define __ISVGStyleElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGStyleElement, 0x305104f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104f3-98b5-11cf-bb82-00aa00bdce0b")
ISVGStyleElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_type(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGStyleElement, 0x305104f3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGStyleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGStyleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGStyleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGStyleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGStyleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGStyleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGStyleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGStyleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGStyleElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_type)(
        ISVGStyleElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_type)(
        ISVGStyleElement *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_media)(
        ISVGStyleElement *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_media)(
        ISVGStyleElement *This,
        BSTR *p);

    END_INTERFACE
} ISVGStyleElementVtbl;

interface ISVGStyleElement {
    CONST_VTBL ISVGStyleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGStyleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGStyleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGStyleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGStyleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGStyleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGStyleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGStyleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGStyleElement methods ***/
#define ISVGStyleElement_put_type(This,v) (This)->lpVtbl->put_type(This,v)
#define ISVGStyleElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define ISVGStyleElement_put_media(This,v) (This)->lpVtbl->put_media(This,v)
#define ISVGStyleElement_get_media(This,p) (This)->lpVtbl->get_media(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGStyleElement_QueryInterface(ISVGStyleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGStyleElement_AddRef(ISVGStyleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGStyleElement_Release(ISVGStyleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGStyleElement_GetTypeInfoCount(ISVGStyleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGStyleElement_GetTypeInfo(ISVGStyleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGStyleElement_GetIDsOfNames(ISVGStyleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGStyleElement_Invoke(ISVGStyleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGStyleElement methods ***/
static inline HRESULT ISVGStyleElement_put_type(ISVGStyleElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static inline HRESULT ISVGStyleElement_get_type(ISVGStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT ISVGStyleElement_put_media(ISVGStyleElement* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static inline HRESULT ISVGStyleElement_get_media(ISVGStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGStyleElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGStyleElement dispinterface
 */
#ifndef __DispSVGStyleElement_DISPINTERFACE_DEFINED__
#define __DispSVGStyleElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGStyleElement, 0x30590029, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590029-98b5-11cf-bb82-00aa00bdce0b")
DispSVGStyleElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGStyleElement, 0x30590029, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGStyleElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGStyleElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGStyleElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGStyleElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGStyleElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGStyleElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGStyleElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGStyleElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGStyleElementVtbl;

interface DispSVGStyleElement {
    CONST_VTBL DispSVGStyleElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGStyleElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGStyleElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGStyleElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGStyleElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGStyleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGStyleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGStyleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGStyleElement_QueryInterface(DispSVGStyleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGStyleElement_AddRef(DispSVGStyleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGStyleElement_Release(DispSVGStyleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGStyleElement_GetTypeInfoCount(DispSVGStyleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGStyleElement_GetTypeInfo(DispSVGStyleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGStyleElement_GetIDsOfNames(DispSVGStyleElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGStyleElement_Invoke(DispSVGStyleElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGStyleElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGStyleElement coclass
 */

DEFINE_GUID(CLSID_SVGStyleElement, 0x305105d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105d1-98b5-11cf-bb82-00aa00bdce0b") SVGStyleElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGStyleElement, 0x305105d1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGStyleElement;
typedef enum _lengthAdjust {
    LENGTHADJUST_UNKNOWN = 0,
    LENGTHADJUST_SPACING = 1,
    LENGTHADJUST_SPACINGANDGLYPHS = 2,
    lengthAdjust_Max = 0x7fffffff
} lengthAdjust;
/*****************************************************************************
 * ISVGTextContentElement interface
 */
#ifndef __ISVGTextContentElement_INTERFACE_DEFINED__
#define __ISVGTextContentElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTextContentElement, 0x3051051a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051051a-98b5-11cf-bb82-00aa00bdce0b")
ISVGTextContentElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_textLength(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textLength(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_lengthAdjust(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lengthAdjust(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getNumberOfChars(
        LONG *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getComputedTextLength(
        float *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getSubStringLength(
        LONG charnum,
        LONG nchars,
        float *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getStartPositionOfChar(
        LONG charnum,
        ISVGPoint **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getEndPositionOfChar(
        LONG charnum,
        ISVGPoint **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getExtentOfChar(
        LONG charnum,
        ISVGRect **ppResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getRotationOfChar(
        LONG charnum,
        float *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE getCharNumAtPosition(
        ISVGPoint *point,
        LONG *pResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE selectSubString(
        LONG charnum,
        LONG nchars) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTextContentElement, 0x3051051a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTextContentElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTextContentElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTextContentElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTextContentElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTextContentElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTextContentElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTextContentElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTextContentElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGTextContentElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_textLength)(
        ISVGTextContentElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_textLength)(
        ISVGTextContentElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_lengthAdjust)(
        ISVGTextContentElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_lengthAdjust)(
        ISVGTextContentElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *getNumberOfChars)(
        ISVGTextContentElement *This,
        LONG *pResult);

    HRESULT (STDMETHODCALLTYPE *getComputedTextLength)(
        ISVGTextContentElement *This,
        float *pResult);

    HRESULT (STDMETHODCALLTYPE *getSubStringLength)(
        ISVGTextContentElement *This,
        LONG charnum,
        LONG nchars,
        float *pResult);

    HRESULT (STDMETHODCALLTYPE *getStartPositionOfChar)(
        ISVGTextContentElement *This,
        LONG charnum,
        ISVGPoint **ppResult);

    HRESULT (STDMETHODCALLTYPE *getEndPositionOfChar)(
        ISVGTextContentElement *This,
        LONG charnum,
        ISVGPoint **ppResult);

    HRESULT (STDMETHODCALLTYPE *getExtentOfChar)(
        ISVGTextContentElement *This,
        LONG charnum,
        ISVGRect **ppResult);

    HRESULT (STDMETHODCALLTYPE *getRotationOfChar)(
        ISVGTextContentElement *This,
        LONG charnum,
        float *pResult);

    HRESULT (STDMETHODCALLTYPE *getCharNumAtPosition)(
        ISVGTextContentElement *This,
        ISVGPoint *point,
        LONG *pResult);

    HRESULT (STDMETHODCALLTYPE *selectSubString)(
        ISVGTextContentElement *This,
        LONG charnum,
        LONG nchars);

    END_INTERFACE
} ISVGTextContentElementVtbl;

interface ISVGTextContentElement {
    CONST_VTBL ISVGTextContentElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTextContentElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTextContentElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTextContentElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTextContentElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTextContentElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTextContentElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTextContentElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGTextContentElement methods ***/
#define ISVGTextContentElement_putref_textLength(This,v) (This)->lpVtbl->putref_textLength(This,v)
#define ISVGTextContentElement_get_textLength(This,p) (This)->lpVtbl->get_textLength(This,p)
#define ISVGTextContentElement_putref_lengthAdjust(This,v) (This)->lpVtbl->putref_lengthAdjust(This,v)
#define ISVGTextContentElement_get_lengthAdjust(This,p) (This)->lpVtbl->get_lengthAdjust(This,p)
#define ISVGTextContentElement_getNumberOfChars(This,pResult) (This)->lpVtbl->getNumberOfChars(This,pResult)
#define ISVGTextContentElement_getComputedTextLength(This,pResult) (This)->lpVtbl->getComputedTextLength(This,pResult)
#define ISVGTextContentElement_getSubStringLength(This,charnum,nchars,pResult) (This)->lpVtbl->getSubStringLength(This,charnum,nchars,pResult)
#define ISVGTextContentElement_getStartPositionOfChar(This,charnum,ppResult) (This)->lpVtbl->getStartPositionOfChar(This,charnum,ppResult)
#define ISVGTextContentElement_getEndPositionOfChar(This,charnum,ppResult) (This)->lpVtbl->getEndPositionOfChar(This,charnum,ppResult)
#define ISVGTextContentElement_getExtentOfChar(This,charnum,ppResult) (This)->lpVtbl->getExtentOfChar(This,charnum,ppResult)
#define ISVGTextContentElement_getRotationOfChar(This,charnum,pResult) (This)->lpVtbl->getRotationOfChar(This,charnum,pResult)
#define ISVGTextContentElement_getCharNumAtPosition(This,point,pResult) (This)->lpVtbl->getCharNumAtPosition(This,point,pResult)
#define ISVGTextContentElement_selectSubString(This,charnum,nchars) (This)->lpVtbl->selectSubString(This,charnum,nchars)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTextContentElement_QueryInterface(ISVGTextContentElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTextContentElement_AddRef(ISVGTextContentElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTextContentElement_Release(ISVGTextContentElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTextContentElement_GetTypeInfoCount(ISVGTextContentElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTextContentElement_GetTypeInfo(ISVGTextContentElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTextContentElement_GetIDsOfNames(ISVGTextContentElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTextContentElement_Invoke(ISVGTextContentElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGTextContentElement methods ***/
static inline HRESULT ISVGTextContentElement_putref_textLength(ISVGTextContentElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_textLength(This,v);
}
static inline HRESULT ISVGTextContentElement_get_textLength(ISVGTextContentElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_textLength(This,p);
}
static inline HRESULT ISVGTextContentElement_putref_lengthAdjust(ISVGTextContentElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_lengthAdjust(This,v);
}
static inline HRESULT ISVGTextContentElement_get_lengthAdjust(ISVGTextContentElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_lengthAdjust(This,p);
}
static inline HRESULT ISVGTextContentElement_getNumberOfChars(ISVGTextContentElement* This,LONG *pResult) {
    return This->lpVtbl->getNumberOfChars(This,pResult);
}
static inline HRESULT ISVGTextContentElement_getComputedTextLength(ISVGTextContentElement* This,float *pResult) {
    return This->lpVtbl->getComputedTextLength(This,pResult);
}
static inline HRESULT ISVGTextContentElement_getSubStringLength(ISVGTextContentElement* This,LONG charnum,LONG nchars,float *pResult) {
    return This->lpVtbl->getSubStringLength(This,charnum,nchars,pResult);
}
static inline HRESULT ISVGTextContentElement_getStartPositionOfChar(ISVGTextContentElement* This,LONG charnum,ISVGPoint **ppResult) {
    return This->lpVtbl->getStartPositionOfChar(This,charnum,ppResult);
}
static inline HRESULT ISVGTextContentElement_getEndPositionOfChar(ISVGTextContentElement* This,LONG charnum,ISVGPoint **ppResult) {
    return This->lpVtbl->getEndPositionOfChar(This,charnum,ppResult);
}
static inline HRESULT ISVGTextContentElement_getExtentOfChar(ISVGTextContentElement* This,LONG charnum,ISVGRect **ppResult) {
    return This->lpVtbl->getExtentOfChar(This,charnum,ppResult);
}
static inline HRESULT ISVGTextContentElement_getRotationOfChar(ISVGTextContentElement* This,LONG charnum,float *pResult) {
    return This->lpVtbl->getRotationOfChar(This,charnum,pResult);
}
static inline HRESULT ISVGTextContentElement_getCharNumAtPosition(ISVGTextContentElement* This,ISVGPoint *point,LONG *pResult) {
    return This->lpVtbl->getCharNumAtPosition(This,point,pResult);
}
static inline HRESULT ISVGTextContentElement_selectSubString(ISVGTextContentElement* This,LONG charnum,LONG nchars) {
    return This->lpVtbl->selectSubString(This,charnum,nchars);
}
#endif
#endif

#endif


#endif  /* __ISVGTextContentElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGTextContentElement dispinterface
 */
#ifndef __DispSVGTextContentElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextContentElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGTextContentElement, 0x30590035, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590035-98b5-11cf-bb82-00aa00bdce0b")
DispSVGTextContentElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGTextContentElement, 0x30590035, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGTextContentElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGTextContentElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGTextContentElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGTextContentElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGTextContentElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGTextContentElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGTextContentElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGTextContentElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGTextContentElementVtbl;

interface DispSVGTextContentElement {
    CONST_VTBL DispSVGTextContentElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGTextContentElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGTextContentElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGTextContentElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGTextContentElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGTextContentElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGTextContentElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGTextContentElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGTextContentElement_QueryInterface(DispSVGTextContentElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGTextContentElement_AddRef(DispSVGTextContentElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGTextContentElement_Release(DispSVGTextContentElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGTextContentElement_GetTypeInfoCount(DispSVGTextContentElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGTextContentElement_GetTypeInfo(DispSVGTextContentElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGTextContentElement_GetIDsOfNames(DispSVGTextContentElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGTextContentElement_Invoke(DispSVGTextContentElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGTextContentElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTextContentElement coclass
 */

DEFINE_GUID(CLSID_SVGTextContentElement, 0x305105dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105dd-98b5-11cf-bb82-00aa00bdce0b") SVGTextContentElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTextContentElement, 0x305105dd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTextContentElement;
/*****************************************************************************
 * ISVGTextPositioningElement interface
 */
#ifndef __ISVGTextPositioningElement_INTERFACE_DEFINED__
#define __ISVGTextPositioningElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTextPositioningElement, 0x3051051b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051051b-98b5-11cf-bb82-00aa00bdce0b")
ISVGTextPositioningElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_x(
        ISVGAnimatedLengthList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        ISVGAnimatedLengthList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_y(
        ISVGAnimatedLengthList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        ISVGAnimatedLengthList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_dx(
        ISVGAnimatedLengthList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dx(
        ISVGAnimatedLengthList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_dy(
        ISVGAnimatedLengthList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dy(
        ISVGAnimatedLengthList **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_rotate(
        ISVGAnimatedNumberList *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rotate(
        ISVGAnimatedNumberList **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTextPositioningElement, 0x3051051b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTextPositioningElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTextPositioningElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTextPositioningElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTextPositioningElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTextPositioningElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTextPositioningElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTextPositioningElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTextPositioningElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGTextPositioningElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_x)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList *v);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList **p);

    HRESULT (STDMETHODCALLTYPE *putref_y)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList *v);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList **p);

    HRESULT (STDMETHODCALLTYPE *putref_dx)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList *v);

    HRESULT (STDMETHODCALLTYPE *get_dx)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList **p);

    HRESULT (STDMETHODCALLTYPE *putref_dy)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList *v);

    HRESULT (STDMETHODCALLTYPE *get_dy)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedLengthList **p);

    HRESULT (STDMETHODCALLTYPE *putref_rotate)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedNumberList *v);

    HRESULT (STDMETHODCALLTYPE *get_rotate)(
        ISVGTextPositioningElement *This,
        ISVGAnimatedNumberList **p);

    END_INTERFACE
} ISVGTextPositioningElementVtbl;

interface ISVGTextPositioningElement {
    CONST_VTBL ISVGTextPositioningElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTextPositioningElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTextPositioningElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTextPositioningElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTextPositioningElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTextPositioningElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTextPositioningElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTextPositioningElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGTextPositioningElement methods ***/
#define ISVGTextPositioningElement_putref_x(This,v) (This)->lpVtbl->putref_x(This,v)
#define ISVGTextPositioningElement_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ISVGTextPositioningElement_putref_y(This,v) (This)->lpVtbl->putref_y(This,v)
#define ISVGTextPositioningElement_get_y(This,p) (This)->lpVtbl->get_y(This,p)
#define ISVGTextPositioningElement_putref_dx(This,v) (This)->lpVtbl->putref_dx(This,v)
#define ISVGTextPositioningElement_get_dx(This,p) (This)->lpVtbl->get_dx(This,p)
#define ISVGTextPositioningElement_putref_dy(This,v) (This)->lpVtbl->putref_dy(This,v)
#define ISVGTextPositioningElement_get_dy(This,p) (This)->lpVtbl->get_dy(This,p)
#define ISVGTextPositioningElement_putref_rotate(This,v) (This)->lpVtbl->putref_rotate(This,v)
#define ISVGTextPositioningElement_get_rotate(This,p) (This)->lpVtbl->get_rotate(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTextPositioningElement_QueryInterface(ISVGTextPositioningElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTextPositioningElement_AddRef(ISVGTextPositioningElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTextPositioningElement_Release(ISVGTextPositioningElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTextPositioningElement_GetTypeInfoCount(ISVGTextPositioningElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTextPositioningElement_GetTypeInfo(ISVGTextPositioningElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTextPositioningElement_GetIDsOfNames(ISVGTextPositioningElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTextPositioningElement_Invoke(ISVGTextPositioningElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGTextPositioningElement methods ***/
static inline HRESULT ISVGTextPositioningElement_putref_x(ISVGTextPositioningElement* This,ISVGAnimatedLengthList *v) {
    return This->lpVtbl->putref_x(This,v);
}
static inline HRESULT ISVGTextPositioningElement_get_x(ISVGTextPositioningElement* This,ISVGAnimatedLengthList **p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ISVGTextPositioningElement_putref_y(ISVGTextPositioningElement* This,ISVGAnimatedLengthList *v) {
    return This->lpVtbl->putref_y(This,v);
}
static inline HRESULT ISVGTextPositioningElement_get_y(ISVGTextPositioningElement* This,ISVGAnimatedLengthList **p) {
    return This->lpVtbl->get_y(This,p);
}
static inline HRESULT ISVGTextPositioningElement_putref_dx(ISVGTextPositioningElement* This,ISVGAnimatedLengthList *v) {
    return This->lpVtbl->putref_dx(This,v);
}
static inline HRESULT ISVGTextPositioningElement_get_dx(ISVGTextPositioningElement* This,ISVGAnimatedLengthList **p) {
    return This->lpVtbl->get_dx(This,p);
}
static inline HRESULT ISVGTextPositioningElement_putref_dy(ISVGTextPositioningElement* This,ISVGAnimatedLengthList *v) {
    return This->lpVtbl->putref_dy(This,v);
}
static inline HRESULT ISVGTextPositioningElement_get_dy(ISVGTextPositioningElement* This,ISVGAnimatedLengthList **p) {
    return This->lpVtbl->get_dy(This,p);
}
static inline HRESULT ISVGTextPositioningElement_putref_rotate(ISVGTextPositioningElement* This,ISVGAnimatedNumberList *v) {
    return This->lpVtbl->putref_rotate(This,v);
}
static inline HRESULT ISVGTextPositioningElement_get_rotate(ISVGTextPositioningElement* This,ISVGAnimatedNumberList **p) {
    return This->lpVtbl->get_rotate(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGTextPositioningElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGTextPositioningElement dispinterface
 */
#ifndef __DispSVGTextPositioningElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextPositioningElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGTextPositioningElement, 0x30590038, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590038-98b5-11cf-bb82-00aa00bdce0b")
DispSVGTextPositioningElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGTextPositioningElement, 0x30590038, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGTextPositioningElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGTextPositioningElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGTextPositioningElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGTextPositioningElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGTextPositioningElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGTextPositioningElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGTextPositioningElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGTextPositioningElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGTextPositioningElementVtbl;

interface DispSVGTextPositioningElement {
    CONST_VTBL DispSVGTextPositioningElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGTextPositioningElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGTextPositioningElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGTextPositioningElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGTextPositioningElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGTextPositioningElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGTextPositioningElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGTextPositioningElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGTextPositioningElement_QueryInterface(DispSVGTextPositioningElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGTextPositioningElement_AddRef(DispSVGTextPositioningElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGTextPositioningElement_Release(DispSVGTextPositioningElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGTextPositioningElement_GetTypeInfoCount(DispSVGTextPositioningElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGTextPositioningElement_GetTypeInfo(DispSVGTextPositioningElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGTextPositioningElement_GetIDsOfNames(DispSVGTextPositioningElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGTextPositioningElement_Invoke(DispSVGTextPositioningElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGTextPositioningElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTextPositioningElement coclass
 */

DEFINE_GUID(CLSID_SVGTextPositioningElement, 0x305105e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105e0-98b5-11cf-bb82-00aa00bdce0b") SVGTextPositioningElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTextPositioningElement, 0x305105e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTextPositioningElement;
/*****************************************************************************
 * IDOMDocumentType interface
 */
#ifndef __IDOMDocumentType_INTERFACE_DEFINED__
#define __IDOMDocumentType_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMDocumentType, 0x30510738, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510738-98b5-11cf-bb82-00aa00bdce0b")
IDOMDocumentType : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_entities(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_notations(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_publicId(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_systemId(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_internalSubset(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMDocumentType, 0x30510738, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMDocumentTypeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMDocumentType *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMDocumentType *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMDocumentType *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMDocumentType *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMDocumentType *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMDocumentType *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMDocumentType *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMDocumentType methods ***/
    HRESULT (STDMETHODCALLTYPE *get_name)(
        IDOMDocumentType *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_entities)(
        IDOMDocumentType *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_notations)(
        IDOMDocumentType *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_publicId)(
        IDOMDocumentType *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_systemId)(
        IDOMDocumentType *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_internalSubset)(
        IDOMDocumentType *This,
        VARIANT *p);

    END_INTERFACE
} IDOMDocumentTypeVtbl;

interface IDOMDocumentType {
    CONST_VTBL IDOMDocumentTypeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMDocumentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMDocumentType_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMDocumentType_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMDocumentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMDocumentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMDocumentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMDocumentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMDocumentType methods ***/
#define IDOMDocumentType_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IDOMDocumentType_get_entities(This,p) (This)->lpVtbl->get_entities(This,p)
#define IDOMDocumentType_get_notations(This,p) (This)->lpVtbl->get_notations(This,p)
#define IDOMDocumentType_get_publicId(This,p) (This)->lpVtbl->get_publicId(This,p)
#define IDOMDocumentType_get_systemId(This,p) (This)->lpVtbl->get_systemId(This,p)
#define IDOMDocumentType_get_internalSubset(This,p) (This)->lpVtbl->get_internalSubset(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMDocumentType_QueryInterface(IDOMDocumentType* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMDocumentType_AddRef(IDOMDocumentType* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMDocumentType_Release(IDOMDocumentType* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMDocumentType_GetTypeInfoCount(IDOMDocumentType* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMDocumentType_GetTypeInfo(IDOMDocumentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMDocumentType_GetIDsOfNames(IDOMDocumentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMDocumentType_Invoke(IDOMDocumentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMDocumentType methods ***/
static inline HRESULT IDOMDocumentType_get_name(IDOMDocumentType* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IDOMDocumentType_get_entities(IDOMDocumentType* This,IDispatch **p) {
    return This->lpVtbl->get_entities(This,p);
}
static inline HRESULT IDOMDocumentType_get_notations(IDOMDocumentType* This,IDispatch **p) {
    return This->lpVtbl->get_notations(This,p);
}
static inline HRESULT IDOMDocumentType_get_publicId(IDOMDocumentType* This,VARIANT *p) {
    return This->lpVtbl->get_publicId(This,p);
}
static inline HRESULT IDOMDocumentType_get_systemId(IDOMDocumentType* This,VARIANT *p) {
    return This->lpVtbl->get_systemId(This,p);
}
static inline HRESULT IDOMDocumentType_get_internalSubset(IDOMDocumentType* This,VARIANT *p) {
    return This->lpVtbl->get_internalSubset(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMDocumentType_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMDocumentType dispinterface
 */
#ifndef __DispDOMDocumentType_DISPINTERFACE_DEFINED__
#define __DispDOMDocumentType_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMDocumentType, 0x30590098, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30590098-98b5-11cf-bb82-00aa00bdce0b")
DispDOMDocumentType : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMDocumentType, 0x30590098, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMDocumentTypeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMDocumentType *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMDocumentType *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMDocumentType *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMDocumentType *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMDocumentType *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMDocumentType *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMDocumentType *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMDocumentTypeVtbl;

interface DispDOMDocumentType {
    CONST_VTBL DispDOMDocumentTypeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMDocumentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMDocumentType_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMDocumentType_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMDocumentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMDocumentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMDocumentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMDocumentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMDocumentType_QueryInterface(DispDOMDocumentType* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMDocumentType_AddRef(DispDOMDocumentType* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMDocumentType_Release(DispDOMDocumentType* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMDocumentType_GetTypeInfoCount(DispDOMDocumentType* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMDocumentType_GetTypeInfo(DispDOMDocumentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMDocumentType_GetIDsOfNames(DispDOMDocumentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMDocumentType_Invoke(DispDOMDocumentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMDocumentType_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMDocumentType coclass
 */

DEFINE_GUID(CLSID_DOMDocumentType, 0x30510739, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510739-98b5-11cf-bb82-00aa00bdce0b") DOMDocumentType;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMDocumentType, 0x30510739, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDocumentType;
/*****************************************************************************
 * IDOMNodeIterator interface
 */
#ifndef __IDOMNodeIterator_INTERFACE_DEFINED__
#define __IDOMNodeIterator_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMNodeIterator, 0x30510746, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510746-98b5-11cf-bb82-00aa00bdce0b")
IDOMNodeIterator : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_root(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_whatToShow(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_filter(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_expandEntityReferences(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE nextNode(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE previousNode(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE detach(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMNodeIterator, 0x30510746, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMNodeIteratorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMNodeIterator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMNodeIterator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMNodeIterator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMNodeIterator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMNodeIterator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMNodeIterator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMNodeIterator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMNodeIterator methods ***/
    HRESULT (STDMETHODCALLTYPE *get_root)(
        IDOMNodeIterator *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_whatToShow)(
        IDOMNodeIterator *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *get_filter)(
        IDOMNodeIterator *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_expandEntityReferences)(
        IDOMNodeIterator *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *nextNode)(
        IDOMNodeIterator *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *previousNode)(
        IDOMNodeIterator *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *detach)(
        IDOMNodeIterator *This);

    END_INTERFACE
} IDOMNodeIteratorVtbl;

interface IDOMNodeIterator {
    CONST_VTBL IDOMNodeIteratorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMNodeIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMNodeIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMNodeIterator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMNodeIterator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMNodeIterator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMNodeIterator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMNodeIterator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMNodeIterator methods ***/
#define IDOMNodeIterator_get_root(This,p) (This)->lpVtbl->get_root(This,p)
#define IDOMNodeIterator_get_whatToShow(This,p) (This)->lpVtbl->get_whatToShow(This,p)
#define IDOMNodeIterator_get_filter(This,p) (This)->lpVtbl->get_filter(This,p)
#define IDOMNodeIterator_get_expandEntityReferences(This,p) (This)->lpVtbl->get_expandEntityReferences(This,p)
#define IDOMNodeIterator_nextNode(This,ppRetNode) (This)->lpVtbl->nextNode(This,ppRetNode)
#define IDOMNodeIterator_previousNode(This,ppRetNode) (This)->lpVtbl->previousNode(This,ppRetNode)
#define IDOMNodeIterator_detach(This) (This)->lpVtbl->detach(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMNodeIterator_QueryInterface(IDOMNodeIterator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMNodeIterator_AddRef(IDOMNodeIterator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMNodeIterator_Release(IDOMNodeIterator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMNodeIterator_GetTypeInfoCount(IDOMNodeIterator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMNodeIterator_GetTypeInfo(IDOMNodeIterator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMNodeIterator_GetIDsOfNames(IDOMNodeIterator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMNodeIterator_Invoke(IDOMNodeIterator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMNodeIterator methods ***/
static inline HRESULT IDOMNodeIterator_get_root(IDOMNodeIterator* This,IDispatch **p) {
    return This->lpVtbl->get_root(This,p);
}
static inline HRESULT IDOMNodeIterator_get_whatToShow(IDOMNodeIterator* This,ULONG *p) {
    return This->lpVtbl->get_whatToShow(This,p);
}
static inline HRESULT IDOMNodeIterator_get_filter(IDOMNodeIterator* This,IDispatch **p) {
    return This->lpVtbl->get_filter(This,p);
}
static inline HRESULT IDOMNodeIterator_get_expandEntityReferences(IDOMNodeIterator* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_expandEntityReferences(This,p);
}
static inline HRESULT IDOMNodeIterator_nextNode(IDOMNodeIterator* This,IDispatch **ppRetNode) {
    return This->lpVtbl->nextNode(This,ppRetNode);
}
static inline HRESULT IDOMNodeIterator_previousNode(IDOMNodeIterator* This,IDispatch **ppRetNode) {
    return This->lpVtbl->previousNode(This,ppRetNode);
}
static inline HRESULT IDOMNodeIterator_detach(IDOMNodeIterator* This) {
    return This->lpVtbl->detach(This);
}
#endif
#endif

#endif


#endif  /* __IDOMNodeIterator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDOMTreeWalker interface
 */
#ifndef __IDOMTreeWalker_INTERFACE_DEFINED__
#define __IDOMTreeWalker_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMTreeWalker, 0x30510748, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510748-98b5-11cf-bb82-00aa00bdce0b")
IDOMTreeWalker : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_root(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_whatToShow(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_filter(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_expandEntityReferences(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_currentNode(
        IDispatch *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentNode(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE parentNode(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE firstChild(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE lastChild(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE previousSibling(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE nextSibling(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE previousNode(
        IDispatch **ppRetNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE nextNode(
        IDispatch **ppRetNode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMTreeWalker, 0x30510748, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMTreeWalkerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMTreeWalker *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMTreeWalker *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMTreeWalker *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMTreeWalker *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMTreeWalker *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMTreeWalker *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMTreeWalker *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMTreeWalker methods ***/
    HRESULT (STDMETHODCALLTYPE *get_root)(
        IDOMTreeWalker *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_whatToShow)(
        IDOMTreeWalker *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *get_filter)(
        IDOMTreeWalker *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_expandEntityReferences)(
        IDOMTreeWalker *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *putref_currentNode)(
        IDOMTreeWalker *This,
        IDispatch *v);

    HRESULT (STDMETHODCALLTYPE *get_currentNode)(
        IDOMTreeWalker *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *parentNode)(
        IDOMTreeWalker *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *firstChild)(
        IDOMTreeWalker *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *lastChild)(
        IDOMTreeWalker *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *previousSibling)(
        IDOMTreeWalker *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *nextSibling)(
        IDOMTreeWalker *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *previousNode)(
        IDOMTreeWalker *This,
        IDispatch **ppRetNode);

    HRESULT (STDMETHODCALLTYPE *nextNode)(
        IDOMTreeWalker *This,
        IDispatch **ppRetNode);

    END_INTERFACE
} IDOMTreeWalkerVtbl;

interface IDOMTreeWalker {
    CONST_VTBL IDOMTreeWalkerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMTreeWalker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMTreeWalker_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMTreeWalker_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMTreeWalker_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMTreeWalker_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMTreeWalker_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMTreeWalker_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMTreeWalker methods ***/
#define IDOMTreeWalker_get_root(This,p) (This)->lpVtbl->get_root(This,p)
#define IDOMTreeWalker_get_whatToShow(This,p) (This)->lpVtbl->get_whatToShow(This,p)
#define IDOMTreeWalker_get_filter(This,p) (This)->lpVtbl->get_filter(This,p)
#define IDOMTreeWalker_get_expandEntityReferences(This,p) (This)->lpVtbl->get_expandEntityReferences(This,p)
#define IDOMTreeWalker_putref_currentNode(This,v) (This)->lpVtbl->putref_currentNode(This,v)
#define IDOMTreeWalker_get_currentNode(This,p) (This)->lpVtbl->get_currentNode(This,p)
#define IDOMTreeWalker_parentNode(This,ppRetNode) (This)->lpVtbl->parentNode(This,ppRetNode)
#define IDOMTreeWalker_firstChild(This,ppRetNode) (This)->lpVtbl->firstChild(This,ppRetNode)
#define IDOMTreeWalker_lastChild(This,ppRetNode) (This)->lpVtbl->lastChild(This,ppRetNode)
#define IDOMTreeWalker_previousSibling(This,ppRetNode) (This)->lpVtbl->previousSibling(This,ppRetNode)
#define IDOMTreeWalker_nextSibling(This,ppRetNode) (This)->lpVtbl->nextSibling(This,ppRetNode)
#define IDOMTreeWalker_previousNode(This,ppRetNode) (This)->lpVtbl->previousNode(This,ppRetNode)
#define IDOMTreeWalker_nextNode(This,ppRetNode) (This)->lpVtbl->nextNode(This,ppRetNode)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMTreeWalker_QueryInterface(IDOMTreeWalker* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMTreeWalker_AddRef(IDOMTreeWalker* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMTreeWalker_Release(IDOMTreeWalker* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMTreeWalker_GetTypeInfoCount(IDOMTreeWalker* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMTreeWalker_GetTypeInfo(IDOMTreeWalker* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMTreeWalker_GetIDsOfNames(IDOMTreeWalker* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMTreeWalker_Invoke(IDOMTreeWalker* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMTreeWalker methods ***/
static inline HRESULT IDOMTreeWalker_get_root(IDOMTreeWalker* This,IDispatch **p) {
    return This->lpVtbl->get_root(This,p);
}
static inline HRESULT IDOMTreeWalker_get_whatToShow(IDOMTreeWalker* This,ULONG *p) {
    return This->lpVtbl->get_whatToShow(This,p);
}
static inline HRESULT IDOMTreeWalker_get_filter(IDOMTreeWalker* This,IDispatch **p) {
    return This->lpVtbl->get_filter(This,p);
}
static inline HRESULT IDOMTreeWalker_get_expandEntityReferences(IDOMTreeWalker* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_expandEntityReferences(This,p);
}
static inline HRESULT IDOMTreeWalker_putref_currentNode(IDOMTreeWalker* This,IDispatch *v) {
    return This->lpVtbl->putref_currentNode(This,v);
}
static inline HRESULT IDOMTreeWalker_get_currentNode(IDOMTreeWalker* This,IDispatch **p) {
    return This->lpVtbl->get_currentNode(This,p);
}
static inline HRESULT IDOMTreeWalker_parentNode(IDOMTreeWalker* This,IDispatch **ppRetNode) {
    return This->lpVtbl->parentNode(This,ppRetNode);
}
static inline HRESULT IDOMTreeWalker_firstChild(IDOMTreeWalker* This,IDispatch **ppRetNode) {
    return This->lpVtbl->firstChild(This,ppRetNode);
}
static inline HRESULT IDOMTreeWalker_lastChild(IDOMTreeWalker* This,IDispatch **ppRetNode) {
    return This->lpVtbl->lastChild(This,ppRetNode);
}
static inline HRESULT IDOMTreeWalker_previousSibling(IDOMTreeWalker* This,IDispatch **ppRetNode) {
    return This->lpVtbl->previousSibling(This,ppRetNode);
}
static inline HRESULT IDOMTreeWalker_nextSibling(IDOMTreeWalker* This,IDispatch **ppRetNode) {
    return This->lpVtbl->nextSibling(This,ppRetNode);
}
static inline HRESULT IDOMTreeWalker_previousNode(IDOMTreeWalker* This,IDispatch **ppRetNode) {
    return This->lpVtbl->previousNode(This,ppRetNode);
}
static inline HRESULT IDOMTreeWalker_nextNode(IDOMTreeWalker* This,IDispatch **ppRetNode) {
    return This->lpVtbl->nextNode(This,ppRetNode);
}
#endif
#endif

#endif


#endif  /* __IDOMTreeWalker_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispNodeIterator dispinterface
 */
#ifndef __DispNodeIterator_DISPINTERFACE_DEFINED__
#define __DispNodeIterator_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispNodeIterator, 0x3059009c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059009c-98b5-11cf-bb82-00aa00bdce0b")
DispNodeIterator : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispNodeIterator, 0x3059009c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispNodeIteratorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispNodeIterator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispNodeIterator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispNodeIterator *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispNodeIterator *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispNodeIterator *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispNodeIterator *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispNodeIterator *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispNodeIteratorVtbl;

interface DispNodeIterator {
    CONST_VTBL DispNodeIteratorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispNodeIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispNodeIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispNodeIterator_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispNodeIterator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispNodeIterator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispNodeIterator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispNodeIterator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispNodeIterator_QueryInterface(DispNodeIterator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispNodeIterator_AddRef(DispNodeIterator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispNodeIterator_Release(DispNodeIterator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispNodeIterator_GetTypeInfoCount(DispNodeIterator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispNodeIterator_GetTypeInfo(DispNodeIterator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispNodeIterator_GetIDsOfNames(DispNodeIterator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispNodeIterator_Invoke(DispNodeIterator* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispNodeIterator_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * NodeIterator coclass
 */

DEFINE_GUID(CLSID_NodeIterator, 0x30510745, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510745-98b5-11cf-bb82-00aa00bdce0b") NodeIterator;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NodeIterator, 0x30510745, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTraversalNodeIterator;
/*****************************************************************************
 * DispTreeWalker dispinterface
 */
#ifndef __DispTreeWalker_DISPINTERFACE_DEFINED__
#define __DispTreeWalker_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispTreeWalker, 0x3059009d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059009d-98b5-11cf-bb82-00aa00bdce0b")
DispTreeWalker : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispTreeWalker, 0x3059009d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispTreeWalkerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispTreeWalker *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispTreeWalker *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispTreeWalker *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispTreeWalker *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispTreeWalker *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispTreeWalker *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispTreeWalker *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispTreeWalkerVtbl;

interface DispTreeWalker {
    CONST_VTBL DispTreeWalkerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispTreeWalker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispTreeWalker_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispTreeWalker_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispTreeWalker_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispTreeWalker_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispTreeWalker_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispTreeWalker_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispTreeWalker_QueryInterface(DispTreeWalker* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispTreeWalker_AddRef(DispTreeWalker* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispTreeWalker_Release(DispTreeWalker* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispTreeWalker_GetTypeInfoCount(DispTreeWalker* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispTreeWalker_GetTypeInfo(DispTreeWalker* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispTreeWalker_GetIDsOfNames(DispTreeWalker* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispTreeWalker_Invoke(DispTreeWalker* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispTreeWalker_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * TreeWalker coclass
 */

DEFINE_GUID(CLSID_TreeWalker, 0x30510747, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510747-98b5-11cf-bb82-00aa00bdce0b") TreeWalker;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TreeWalker, 0x30510747, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTraversalTreeWalker;
/*****************************************************************************
 * IDOMProcessingInstruction interface
 */
#ifndef __IDOMProcessingInstruction_INTERFACE_DEFINED__
#define __IDOMProcessingInstruction_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMProcessingInstruction, 0x30510742, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510742-98b5-11cf-bb82-00aa00bdce0b")
IDOMProcessingInstruction : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_target(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_data(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMProcessingInstruction, 0x30510742, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMProcessingInstructionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMProcessingInstruction *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMProcessingInstruction *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMProcessingInstruction *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMProcessingInstruction *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMProcessingInstruction *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMProcessingInstruction *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMProcessingInstruction *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMProcessingInstruction methods ***/
    HRESULT (STDMETHODCALLTYPE *get_target)(
        IDOMProcessingInstruction *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_data)(
        IDOMProcessingInstruction *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_data)(
        IDOMProcessingInstruction *This,
        BSTR *p);

    END_INTERFACE
} IDOMProcessingInstructionVtbl;

interface IDOMProcessingInstruction {
    CONST_VTBL IDOMProcessingInstructionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMProcessingInstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMProcessingInstruction_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMProcessingInstruction_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMProcessingInstruction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMProcessingInstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMProcessingInstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMProcessingInstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMProcessingInstruction methods ***/
#define IDOMProcessingInstruction_get_target(This,p) (This)->lpVtbl->get_target(This,p)
#define IDOMProcessingInstruction_put_data(This,v) (This)->lpVtbl->put_data(This,v)
#define IDOMProcessingInstruction_get_data(This,p) (This)->lpVtbl->get_data(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMProcessingInstruction_QueryInterface(IDOMProcessingInstruction* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMProcessingInstruction_AddRef(IDOMProcessingInstruction* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMProcessingInstruction_Release(IDOMProcessingInstruction* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMProcessingInstruction_GetTypeInfoCount(IDOMProcessingInstruction* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMProcessingInstruction_GetTypeInfo(IDOMProcessingInstruction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMProcessingInstruction_GetIDsOfNames(IDOMProcessingInstruction* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMProcessingInstruction_Invoke(IDOMProcessingInstruction* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMProcessingInstruction methods ***/
static inline HRESULT IDOMProcessingInstruction_get_target(IDOMProcessingInstruction* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static inline HRESULT IDOMProcessingInstruction_put_data(IDOMProcessingInstruction* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static inline HRESULT IDOMProcessingInstruction_get_data(IDOMProcessingInstruction* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMProcessingInstruction_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMProcessingInstruction dispinterface
 */
#ifndef __DispDOMProcessingInstruction_DISPINTERFACE_DEFINED__
#define __DispDOMProcessingInstruction_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMProcessingInstruction, 0x3059009b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059009b-98b5-11cf-bb82-00aa00bdce0b")
DispDOMProcessingInstruction : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMProcessingInstruction, 0x3059009b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMProcessingInstructionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMProcessingInstruction *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMProcessingInstruction *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMProcessingInstruction *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMProcessingInstruction *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMProcessingInstruction *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMProcessingInstruction *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMProcessingInstruction *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMProcessingInstructionVtbl;

interface DispDOMProcessingInstruction {
    CONST_VTBL DispDOMProcessingInstructionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMProcessingInstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMProcessingInstruction_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMProcessingInstruction_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMProcessingInstruction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMProcessingInstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMProcessingInstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMProcessingInstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMProcessingInstruction_QueryInterface(DispDOMProcessingInstruction* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMProcessingInstruction_AddRef(DispDOMProcessingInstruction* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMProcessingInstruction_Release(DispDOMProcessingInstruction* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMProcessingInstruction_GetTypeInfoCount(DispDOMProcessingInstruction* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMProcessingInstruction_GetTypeInfo(DispDOMProcessingInstruction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMProcessingInstruction_GetIDsOfNames(DispDOMProcessingInstruction* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMProcessingInstruction_Invoke(DispDOMProcessingInstruction* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMProcessingInstruction_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMProcessingInstruction coclass
 */

DEFINE_GUID(CLSID_DOMProcessingInstruction, 0x30510743, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510743-98b5-11cf-bb82-00aa00bdce0b") DOMProcessingInstruction;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMProcessingInstruction, 0x30510743, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CProcessingInstruction;
#ifndef __IHTMLPerformance_FWD_DEFINED__
#define __IHTMLPerformance_FWD_DEFINED__
typedef interface IHTMLPerformance IHTMLPerformance;
#ifdef __cplusplus
interface IHTMLPerformance;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPerformanceNavigation_FWD_DEFINED__
#define __IHTMLPerformanceNavigation_FWD_DEFINED__
typedef interface IHTMLPerformanceNavigation IHTMLPerformanceNavigation;
#ifdef __cplusplus
interface IHTMLPerformanceNavigation;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPerformanceTiming_FWD_DEFINED__
#define __IHTMLPerformanceTiming_FWD_DEFINED__
typedef interface IHTMLPerformanceTiming IHTMLPerformanceTiming;
#ifdef __cplusplus
interface IHTMLPerformanceTiming;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLPerformance interface
 */
#ifndef __IHTMLPerformance_INTERFACE_DEFINED__
#define __IHTMLPerformance_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPerformance, 0x3051074e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051074e-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPerformance : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_navigation(
        IHTMLPerformanceNavigation **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_timing(
        IHTMLPerformanceTiming **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *string) = 0;

    virtual HRESULT STDMETHODCALLTYPE toJSON(
        VARIANT *pVar) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPerformance, 0x3051074e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPerformanceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPerformance *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPerformance *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPerformance *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPerformance *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPerformance *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPerformance *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPerformance *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLPerformance methods ***/
    HRESULT (STDMETHODCALLTYPE *get_navigation)(
        IHTMLPerformance *This,
        IHTMLPerformanceNavigation **p);

    HRESULT (STDMETHODCALLTYPE *get_timing)(
        IHTMLPerformance *This,
        IHTMLPerformanceTiming **p);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLPerformance *This,
        BSTR *string);

    HRESULT (STDMETHODCALLTYPE *toJSON)(
        IHTMLPerformance *This,
        VARIANT *pVar);

    END_INTERFACE
} IHTMLPerformanceVtbl;

interface IHTMLPerformance {
    CONST_VTBL IHTMLPerformanceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPerformance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPerformance_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPerformance_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPerformance_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPerformance_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPerformance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPerformance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLPerformance methods ***/
#define IHTMLPerformance_get_navigation(This,p) (This)->lpVtbl->get_navigation(This,p)
#define IHTMLPerformance_get_timing(This,p) (This)->lpVtbl->get_timing(This,p)
#define IHTMLPerformance_toString(This,string) (This)->lpVtbl->toString(This,string)
#define IHTMLPerformance_toJSON(This,pVar) (This)->lpVtbl->toJSON(This,pVar)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPerformance_QueryInterface(IHTMLPerformance* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPerformance_AddRef(IHTMLPerformance* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPerformance_Release(IHTMLPerformance* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPerformance_GetTypeInfoCount(IHTMLPerformance* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPerformance_GetTypeInfo(IHTMLPerformance* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPerformance_GetIDsOfNames(IHTMLPerformance* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPerformance_Invoke(IHTMLPerformance* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLPerformance methods ***/
static inline HRESULT IHTMLPerformance_get_navigation(IHTMLPerformance* This,IHTMLPerformanceNavigation **p) {
    return This->lpVtbl->get_navigation(This,p);
}
static inline HRESULT IHTMLPerformance_get_timing(IHTMLPerformance* This,IHTMLPerformanceTiming **p) {
    return This->lpVtbl->get_timing(This,p);
}
static inline HRESULT IHTMLPerformance_toString(IHTMLPerformance* This,BSTR *string) {
    return This->lpVtbl->toString(This,string);
}
static inline HRESULT IHTMLPerformance_toJSON(IHTMLPerformance* This,VARIANT *pVar) {
    return This->lpVtbl->toJSON(This,pVar);
}
#endif
#endif

#endif


#endif  /* __IHTMLPerformance_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPerformanceNavigation interface
 */
#ifndef __IHTMLPerformanceNavigation_INTERFACE_DEFINED__
#define __IHTMLPerformanceNavigation_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPerformanceNavigation, 0x30510750, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510750-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPerformanceNavigation : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_type(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_redirectCount(
        ULONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *string) = 0;

    virtual HRESULT STDMETHODCALLTYPE toJSON(
        VARIANT *pVar) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPerformanceNavigation, 0x30510750, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPerformanceNavigationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPerformanceNavigation *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPerformanceNavigation *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPerformanceNavigation *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPerformanceNavigation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPerformanceNavigation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPerformanceNavigation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPerformanceNavigation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLPerformanceNavigation methods ***/
    HRESULT (STDMETHODCALLTYPE *get_type)(
        IHTMLPerformanceNavigation *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *get_redirectCount)(
        IHTMLPerformanceNavigation *This,
        ULONG *p);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLPerformanceNavigation *This,
        BSTR *string);

    HRESULT (STDMETHODCALLTYPE *toJSON)(
        IHTMLPerformanceNavigation *This,
        VARIANT *pVar);

    END_INTERFACE
} IHTMLPerformanceNavigationVtbl;

interface IHTMLPerformanceNavigation {
    CONST_VTBL IHTMLPerformanceNavigationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPerformanceNavigation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPerformanceNavigation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPerformanceNavigation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPerformanceNavigation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPerformanceNavigation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPerformanceNavigation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPerformanceNavigation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLPerformanceNavigation methods ***/
#define IHTMLPerformanceNavigation_get_type(This,p) (This)->lpVtbl->get_type(This,p)
#define IHTMLPerformanceNavigation_get_redirectCount(This,p) (This)->lpVtbl->get_redirectCount(This,p)
#define IHTMLPerformanceNavigation_toString(This,string) (This)->lpVtbl->toString(This,string)
#define IHTMLPerformanceNavigation_toJSON(This,pVar) (This)->lpVtbl->toJSON(This,pVar)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPerformanceNavigation_QueryInterface(IHTMLPerformanceNavigation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPerformanceNavigation_AddRef(IHTMLPerformanceNavigation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPerformanceNavigation_Release(IHTMLPerformanceNavigation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPerformanceNavigation_GetTypeInfoCount(IHTMLPerformanceNavigation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPerformanceNavigation_GetTypeInfo(IHTMLPerformanceNavigation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPerformanceNavigation_GetIDsOfNames(IHTMLPerformanceNavigation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPerformanceNavigation_Invoke(IHTMLPerformanceNavigation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLPerformanceNavigation methods ***/
static inline HRESULT IHTMLPerformanceNavigation_get_type(IHTMLPerformanceNavigation* This,ULONG *p) {
    return This->lpVtbl->get_type(This,p);
}
static inline HRESULT IHTMLPerformanceNavigation_get_redirectCount(IHTMLPerformanceNavigation* This,ULONG *p) {
    return This->lpVtbl->get_redirectCount(This,p);
}
static inline HRESULT IHTMLPerformanceNavigation_toString(IHTMLPerformanceNavigation* This,BSTR *string) {
    return This->lpVtbl->toString(This,string);
}
static inline HRESULT IHTMLPerformanceNavigation_toJSON(IHTMLPerformanceNavigation* This,VARIANT *pVar) {
    return This->lpVtbl->toJSON(This,pVar);
}
#endif
#endif

#endif


#endif  /* __IHTMLPerformanceNavigation_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPerformanceTiming interface
 */
#ifndef __IHTMLPerformanceTiming_INTERFACE_DEFINED__
#define __IHTMLPerformanceTiming_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPerformanceTiming, 0x30510752, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510752-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPerformanceTiming : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_navigationStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unloadEventStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unloadEventEnd(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_redirectStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_redirectEnd(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fetchStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domainLookupStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domainLookupEnd(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_connectStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_connectEnd(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_requestStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_responseStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_responseEnd(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domLoading(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domInteractive(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domContentLoadedEventStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domContentLoadedEventEnd(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_domComplete(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loadEventStart(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_loadEventEnd(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_msFirstPaint(
        ULONGLONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *string) = 0;

    virtual HRESULT STDMETHODCALLTYPE toJSON(
        VARIANT *pVar) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPerformanceTiming, 0x30510752, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPerformanceTimingVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPerformanceTiming *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPerformanceTiming *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPerformanceTiming *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPerformanceTiming *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPerformanceTiming *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPerformanceTiming *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPerformanceTiming *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLPerformanceTiming methods ***/
    HRESULT (STDMETHODCALLTYPE *get_navigationStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unloadEventStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unloadEventEnd)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_redirectStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_redirectEnd)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_fetchStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_domainLookupStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_domainLookupEnd)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_connectStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_connectEnd)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_requestStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_responseStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_responseEnd)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_domLoading)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_domInteractive)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_domContentLoadedEventStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_domContentLoadedEventEnd)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_domComplete)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_loadEventStart)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_loadEventEnd)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *get_msFirstPaint)(
        IHTMLPerformanceTiming *This,
        ULONGLONG *p);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLPerformanceTiming *This,
        BSTR *string);

    HRESULT (STDMETHODCALLTYPE *toJSON)(
        IHTMLPerformanceTiming *This,
        VARIANT *pVar);

    END_INTERFACE
} IHTMLPerformanceTimingVtbl;

interface IHTMLPerformanceTiming {
    CONST_VTBL IHTMLPerformanceTimingVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPerformanceTiming_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPerformanceTiming_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPerformanceTiming_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPerformanceTiming_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPerformanceTiming_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPerformanceTiming_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPerformanceTiming_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLPerformanceTiming methods ***/
#define IHTMLPerformanceTiming_get_navigationStart(This,p) (This)->lpVtbl->get_navigationStart(This,p)
#define IHTMLPerformanceTiming_get_unloadEventStart(This,p) (This)->lpVtbl->get_unloadEventStart(This,p)
#define IHTMLPerformanceTiming_get_unloadEventEnd(This,p) (This)->lpVtbl->get_unloadEventEnd(This,p)
#define IHTMLPerformanceTiming_get_redirectStart(This,p) (This)->lpVtbl->get_redirectStart(This,p)
#define IHTMLPerformanceTiming_get_redirectEnd(This,p) (This)->lpVtbl->get_redirectEnd(This,p)
#define IHTMLPerformanceTiming_get_fetchStart(This,p) (This)->lpVtbl->get_fetchStart(This,p)
#define IHTMLPerformanceTiming_get_domainLookupStart(This,p) (This)->lpVtbl->get_domainLookupStart(This,p)
#define IHTMLPerformanceTiming_get_domainLookupEnd(This,p) (This)->lpVtbl->get_domainLookupEnd(This,p)
#define IHTMLPerformanceTiming_get_connectStart(This,p) (This)->lpVtbl->get_connectStart(This,p)
#define IHTMLPerformanceTiming_get_connectEnd(This,p) (This)->lpVtbl->get_connectEnd(This,p)
#define IHTMLPerformanceTiming_get_requestStart(This,p) (This)->lpVtbl->get_requestStart(This,p)
#define IHTMLPerformanceTiming_get_responseStart(This,p) (This)->lpVtbl->get_responseStart(This,p)
#define IHTMLPerformanceTiming_get_responseEnd(This,p) (This)->lpVtbl->get_responseEnd(This,p)
#define IHTMLPerformanceTiming_get_domLoading(This,p) (This)->lpVtbl->get_domLoading(This,p)
#define IHTMLPerformanceTiming_get_domInteractive(This,p) (This)->lpVtbl->get_domInteractive(This,p)
#define IHTMLPerformanceTiming_get_domContentLoadedEventStart(This,p) (This)->lpVtbl->get_domContentLoadedEventStart(This,p)
#define IHTMLPerformanceTiming_get_domContentLoadedEventEnd(This,p) (This)->lpVtbl->get_domContentLoadedEventEnd(This,p)
#define IHTMLPerformanceTiming_get_domComplete(This,p) (This)->lpVtbl->get_domComplete(This,p)
#define IHTMLPerformanceTiming_get_loadEventStart(This,p) (This)->lpVtbl->get_loadEventStart(This,p)
#define IHTMLPerformanceTiming_get_loadEventEnd(This,p) (This)->lpVtbl->get_loadEventEnd(This,p)
#define IHTMLPerformanceTiming_get_msFirstPaint(This,p) (This)->lpVtbl->get_msFirstPaint(This,p)
#define IHTMLPerformanceTiming_toString(This,string) (This)->lpVtbl->toString(This,string)
#define IHTMLPerformanceTiming_toJSON(This,pVar) (This)->lpVtbl->toJSON(This,pVar)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPerformanceTiming_QueryInterface(IHTMLPerformanceTiming* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPerformanceTiming_AddRef(IHTMLPerformanceTiming* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPerformanceTiming_Release(IHTMLPerformanceTiming* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPerformanceTiming_GetTypeInfoCount(IHTMLPerformanceTiming* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPerformanceTiming_GetTypeInfo(IHTMLPerformanceTiming* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPerformanceTiming_GetIDsOfNames(IHTMLPerformanceTiming* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPerformanceTiming_Invoke(IHTMLPerformanceTiming* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLPerformanceTiming methods ***/
static inline HRESULT IHTMLPerformanceTiming_get_navigationStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_navigationStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_unloadEventStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_unloadEventStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_unloadEventEnd(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_unloadEventEnd(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_redirectStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_redirectStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_redirectEnd(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_redirectEnd(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_fetchStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_fetchStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_domainLookupStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_domainLookupStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_domainLookupEnd(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_domainLookupEnd(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_connectStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_connectStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_connectEnd(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_connectEnd(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_requestStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_requestStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_responseStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_responseStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_responseEnd(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_responseEnd(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_domLoading(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_domLoading(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_domInteractive(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_domInteractive(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_domContentLoadedEventStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_domContentLoadedEventStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_domContentLoadedEventEnd(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_domContentLoadedEventEnd(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_domComplete(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_domComplete(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_loadEventStart(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_loadEventStart(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_loadEventEnd(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_loadEventEnd(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_get_msFirstPaint(IHTMLPerformanceTiming* This,ULONGLONG *p) {
    return This->lpVtbl->get_msFirstPaint(This,p);
}
static inline HRESULT IHTMLPerformanceTiming_toString(IHTMLPerformanceTiming* This,BSTR *string) {
    return This->lpVtbl->toString(This,string);
}
static inline HRESULT IHTMLPerformanceTiming_toJSON(IHTMLPerformanceTiming* This,VARIANT *pVar) {
    return This->lpVtbl->toJSON(This,pVar);
}
#endif
#endif

#endif


#endif  /* __IHTMLPerformanceTiming_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLPerformance dispinterface
 */
#ifndef __DispHTMLPerformance_DISPINTERFACE_DEFINED__
#define __DispHTMLPerformance_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLPerformance, 0x3059009f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059009f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLPerformance : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLPerformance, 0x3059009f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLPerformanceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLPerformance *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLPerformance *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLPerformance *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLPerformance *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLPerformance *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLPerformance *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLPerformance *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLPerformanceVtbl;

interface DispHTMLPerformance {
    CONST_VTBL DispHTMLPerformanceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLPerformance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLPerformance_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLPerformance_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLPerformance_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLPerformance_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLPerformance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLPerformance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLPerformance_QueryInterface(DispHTMLPerformance* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLPerformance_AddRef(DispHTMLPerformance* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLPerformance_Release(DispHTMLPerformance* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLPerformance_GetTypeInfoCount(DispHTMLPerformance* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLPerformance_GetTypeInfo(DispHTMLPerformance* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLPerformance_GetIDsOfNames(DispHTMLPerformance* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLPerformance_Invoke(DispHTMLPerformance* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLPerformance_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLPerformance coclass
 */

DEFINE_GUID(CLSID_HTMLPerformance, 0x3051074f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051074f-98b5-11cf-bb82-00aa00bdce0b") HTMLPerformance;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLPerformance, 0x3051074f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMSPerformance;
/*****************************************************************************
 * DispHTMLPerformanceNavigation dispinterface
 */
#ifndef __DispHTMLPerformanceNavigation_DISPINTERFACE_DEFINED__
#define __DispHTMLPerformanceNavigation_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLPerformanceNavigation, 0x305900a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900a0-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLPerformanceNavigation : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLPerformanceNavigation, 0x305900a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLPerformanceNavigationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLPerformanceNavigation *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLPerformanceNavigation *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLPerformanceNavigation *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLPerformanceNavigation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLPerformanceNavigation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLPerformanceNavigation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLPerformanceNavigation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLPerformanceNavigationVtbl;

interface DispHTMLPerformanceNavigation {
    CONST_VTBL DispHTMLPerformanceNavigationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLPerformanceNavigation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLPerformanceNavigation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLPerformanceNavigation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLPerformanceNavigation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLPerformanceNavigation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLPerformanceNavigation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLPerformanceNavigation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLPerformanceNavigation_QueryInterface(DispHTMLPerformanceNavigation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLPerformanceNavigation_AddRef(DispHTMLPerformanceNavigation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLPerformanceNavigation_Release(DispHTMLPerformanceNavigation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLPerformanceNavigation_GetTypeInfoCount(DispHTMLPerformanceNavigation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLPerformanceNavigation_GetTypeInfo(DispHTMLPerformanceNavigation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLPerformanceNavigation_GetIDsOfNames(DispHTMLPerformanceNavigation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLPerformanceNavigation_Invoke(DispHTMLPerformanceNavigation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLPerformanceNavigation_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLPerformanceNavigation coclass
 */

DEFINE_GUID(CLSID_HTMLPerformanceNavigation, 0x30510751, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510751-98b5-11cf-bb82-00aa00bdce0b") HTMLPerformanceNavigation;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLPerformanceNavigation, 0x30510751, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMSPerformanceNavigation;
/*****************************************************************************
 * DispHTMLPerformanceTiming dispinterface
 */
#ifndef __DispHTMLPerformanceTiming_DISPINTERFACE_DEFINED__
#define __DispHTMLPerformanceTiming_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLPerformanceTiming, 0x305900a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900a1-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLPerformanceTiming : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLPerformanceTiming, 0x305900a1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLPerformanceTimingVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLPerformanceTiming *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLPerformanceTiming *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLPerformanceTiming *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLPerformanceTiming *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLPerformanceTiming *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLPerformanceTiming *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLPerformanceTiming *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLPerformanceTimingVtbl;

interface DispHTMLPerformanceTiming {
    CONST_VTBL DispHTMLPerformanceTimingVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLPerformanceTiming_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLPerformanceTiming_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLPerformanceTiming_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLPerformanceTiming_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLPerformanceTiming_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLPerformanceTiming_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLPerformanceTiming_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLPerformanceTiming_QueryInterface(DispHTMLPerformanceTiming* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLPerformanceTiming_AddRef(DispHTMLPerformanceTiming* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLPerformanceTiming_Release(DispHTMLPerformanceTiming* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLPerformanceTiming_GetTypeInfoCount(DispHTMLPerformanceTiming* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLPerformanceTiming_GetTypeInfo(DispHTMLPerformanceTiming* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLPerformanceTiming_GetIDsOfNames(DispHTMLPerformanceTiming* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLPerformanceTiming_Invoke(DispHTMLPerformanceTiming* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLPerformanceTiming_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLPerformanceTiming coclass
 */

DEFINE_GUID(CLSID_HTMLPerformanceTiming, 0x30510753, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510753-98b5-11cf-bb82-00aa00bdce0b") HTMLPerformanceTiming;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLPerformanceTiming, 0x30510753, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CMSPerformanceTiming;
/*****************************************************************************
 * ISVGTSpanElement interface
 */
#ifndef __ISVGTSpanElement_INTERFACE_DEFINED__
#define __ISVGTSpanElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTSpanElement, 0x3051051d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051051d-98b5-11cf-bb82-00aa00bdce0b")
ISVGTSpanElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTSpanElement, 0x3051051d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTSpanElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTSpanElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTSpanElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTSpanElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTSpanElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTSpanElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTSpanElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTSpanElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} ISVGTSpanElementVtbl;

interface ISVGTSpanElement {
    CONST_VTBL ISVGTSpanElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTSpanElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTSpanElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTSpanElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTSpanElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTSpanElement_QueryInterface(ISVGTSpanElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTSpanElement_AddRef(ISVGTSpanElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTSpanElement_Release(ISVGTSpanElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTSpanElement_GetTypeInfoCount(ISVGTSpanElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTSpanElement_GetTypeInfo(ISVGTSpanElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTSpanElement_GetIDsOfNames(ISVGTSpanElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTSpanElement_Invoke(ISVGTSpanElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif


#endif  /* __ISVGTSpanElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGTSpanElement dispinterface
 */
#ifndef __DispSVGTSpanElement_DISPINTERFACE_DEFINED__
#define __DispSVGTSpanElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGTSpanElement, 0x3059003a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059003a-98b5-11cf-bb82-00aa00bdce0b")
DispSVGTSpanElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGTSpanElement, 0x3059003a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGTSpanElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGTSpanElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGTSpanElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGTSpanElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGTSpanElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGTSpanElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGTSpanElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGTSpanElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGTSpanElementVtbl;

interface DispSVGTSpanElement {
    CONST_VTBL DispSVGTSpanElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGTSpanElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGTSpanElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGTSpanElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGTSpanElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGTSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGTSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGTSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGTSpanElement_QueryInterface(DispSVGTSpanElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGTSpanElement_AddRef(DispSVGTSpanElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGTSpanElement_Release(DispSVGTSpanElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGTSpanElement_GetTypeInfoCount(DispSVGTSpanElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGTSpanElement_GetTypeInfo(DispSVGTSpanElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGTSpanElement_GetIDsOfNames(DispSVGTSpanElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGTSpanElement_Invoke(DispSVGTSpanElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGTSpanElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTSpanElement coclass
 */

DEFINE_GUID(CLSID_SVGTSpanElement, 0x305105e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105e2-98b5-11cf-bb82-00aa00bdce0b") SVGTSpanElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTSpanElement, 0x305105e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTSpanElement;
/*****************************************************************************
 * ITemplatePrinter interface
 */
#ifndef __ITemplatePrinter_INTERFACE_DEFINED__
#define __ITemplatePrinter_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITemplatePrinter, 0x3050f6b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6b4-98b5-11cf-bb82-00aa00bdce0b")
ITemplatePrinter : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE startDoc(
        BSTR bstrTitle,
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE stopDoc(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE printBlankPage(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE printPage(
        IDispatch *pElemDisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE ensurePrintDialogDefaults(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE showPrintDialog(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE showPageSetupDialog(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE printNonNative(
        IUnknown *pMarkup,
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE printNonNativeFrames(
        IUnknown *pMarkup,
        VARIANT_BOOL fActiveFrame) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_framesetDocument(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_framesetDocument(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameActive(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameActive(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameAsShown(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameAsShown(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_selection(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selection(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_selectedPages(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectedPages(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_currentPage(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentPage(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_currentPageAvail(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentPageAvail(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_collate(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_collate(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_duplex(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_copies(
        USHORT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_copies(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageFrom(
        USHORT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageFrom(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_pageTo(
        USHORT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageTo(
        USHORT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_tableOfLinks(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tableOfLinks(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_allLinkedDocuments(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_allLinkedDocuments(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_header(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_header(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_footer(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_footer(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginLeft(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginRight(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginRight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginTop(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_marginBottom(
        LONG v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marginBottom(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_pageHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unprintableLeft(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unprintableTop(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unprintableRight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unprintableBottom(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE updatePageStatus(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITemplatePrinter, 0x3050f6b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ITemplatePrinterVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITemplatePrinter *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITemplatePrinter *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITemplatePrinter *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITemplatePrinter *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITemplatePrinter *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITemplatePrinter *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITemplatePrinter *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITemplatePrinter methods ***/
    HRESULT (STDMETHODCALLTYPE *startDoc)(
        ITemplatePrinter *This,
        BSTR bstrTitle,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *stopDoc)(
        ITemplatePrinter *This);

    HRESULT (STDMETHODCALLTYPE *printBlankPage)(
        ITemplatePrinter *This);

    HRESULT (STDMETHODCALLTYPE *printPage)(
        ITemplatePrinter *This,
        IDispatch *pElemDisp);

    HRESULT (STDMETHODCALLTYPE *ensurePrintDialogDefaults)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *showPrintDialog)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *showPageSetupDialog)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *printNonNative)(
        ITemplatePrinter *This,
        IUnknown *pMarkup,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *printNonNativeFrames)(
        ITemplatePrinter *This,
        IUnknown *pMarkup,
        VARIANT_BOOL fActiveFrame);

    HRESULT (STDMETHODCALLTYPE *put_framesetDocument)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_framesetDocument)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameActive)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameActive)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameAsShown)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameAsShown)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_selection)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selection)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_selectedPages)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selectedPages)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_currentPage)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_currentPage)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_currentPageAvail)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_currentPageAvail)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_collate)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_collate)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_duplex)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_copies)(
        ITemplatePrinter *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_copies)(
        ITemplatePrinter *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageFrom)(
        ITemplatePrinter *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_pageFrom)(
        ITemplatePrinter *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageTo)(
        ITemplatePrinter *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_pageTo)(
        ITemplatePrinter *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_tableOfLinks)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_tableOfLinks)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_allLinkedDocuments)(
        ITemplatePrinter *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_allLinkedDocuments)(
        ITemplatePrinter *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_header)(
        ITemplatePrinter *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_header)(
        ITemplatePrinter *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_footer)(
        ITemplatePrinter *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_footer)(
        ITemplatePrinter *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_marginLeft)(
        ITemplatePrinter *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginLeft)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginRight)(
        ITemplatePrinter *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginRight)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginTop)(
        ITemplatePrinter *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginTop)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginBottom)(
        ITemplatePrinter *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginBottom)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageWidth)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageHeight)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableLeft)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableTop)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableRight)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableBottom)(
        ITemplatePrinter *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *updatePageStatus)(
        ITemplatePrinter *This,
        LONG *p);

    END_INTERFACE
} ITemplatePrinterVtbl;

interface ITemplatePrinter {
    CONST_VTBL ITemplatePrinterVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITemplatePrinter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITemplatePrinter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITemplatePrinter_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ITemplatePrinter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ITemplatePrinter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ITemplatePrinter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ITemplatePrinter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITemplatePrinter methods ***/
#define ITemplatePrinter_startDoc(This,bstrTitle,p) (This)->lpVtbl->startDoc(This,bstrTitle,p)
#define ITemplatePrinter_stopDoc(This) (This)->lpVtbl->stopDoc(This)
#define ITemplatePrinter_printBlankPage(This) (This)->lpVtbl->printBlankPage(This)
#define ITemplatePrinter_printPage(This,pElemDisp) (This)->lpVtbl->printPage(This,pElemDisp)
#define ITemplatePrinter_ensurePrintDialogDefaults(This,p) (This)->lpVtbl->ensurePrintDialogDefaults(This,p)
#define ITemplatePrinter_showPrintDialog(This,p) (This)->lpVtbl->showPrintDialog(This,p)
#define ITemplatePrinter_showPageSetupDialog(This,p) (This)->lpVtbl->showPageSetupDialog(This,p)
#define ITemplatePrinter_printNonNative(This,pMarkup,p) (This)->lpVtbl->printNonNative(This,pMarkup,p)
#define ITemplatePrinter_printNonNativeFrames(This,pMarkup,fActiveFrame) (This)->lpVtbl->printNonNativeFrames(This,pMarkup,fActiveFrame)
#define ITemplatePrinter_put_framesetDocument(This,v) (This)->lpVtbl->put_framesetDocument(This,v)
#define ITemplatePrinter_get_framesetDocument(This,p) (This)->lpVtbl->get_framesetDocument(This,p)
#define ITemplatePrinter_put_frameActive(This,v) (This)->lpVtbl->put_frameActive(This,v)
#define ITemplatePrinter_get_frameActive(This,p) (This)->lpVtbl->get_frameActive(This,p)
#define ITemplatePrinter_put_frameAsShown(This,v) (This)->lpVtbl->put_frameAsShown(This,v)
#define ITemplatePrinter_get_frameAsShown(This,p) (This)->lpVtbl->get_frameAsShown(This,p)
#define ITemplatePrinter_put_selection(This,v) (This)->lpVtbl->put_selection(This,v)
#define ITemplatePrinter_get_selection(This,p) (This)->lpVtbl->get_selection(This,p)
#define ITemplatePrinter_put_selectedPages(This,v) (This)->lpVtbl->put_selectedPages(This,v)
#define ITemplatePrinter_get_selectedPages(This,p) (This)->lpVtbl->get_selectedPages(This,p)
#define ITemplatePrinter_put_currentPage(This,v) (This)->lpVtbl->put_currentPage(This,v)
#define ITemplatePrinter_get_currentPage(This,p) (This)->lpVtbl->get_currentPage(This,p)
#define ITemplatePrinter_put_currentPageAvail(This,v) (This)->lpVtbl->put_currentPageAvail(This,v)
#define ITemplatePrinter_get_currentPageAvail(This,p) (This)->lpVtbl->get_currentPageAvail(This,p)
#define ITemplatePrinter_put_collate(This,v) (This)->lpVtbl->put_collate(This,v)
#define ITemplatePrinter_get_collate(This,p) (This)->lpVtbl->get_collate(This,p)
#define ITemplatePrinter_get_duplex(This,p) (This)->lpVtbl->get_duplex(This,p)
#define ITemplatePrinter_put_copies(This,v) (This)->lpVtbl->put_copies(This,v)
#define ITemplatePrinter_get_copies(This,p) (This)->lpVtbl->get_copies(This,p)
#define ITemplatePrinter_put_pageFrom(This,v) (This)->lpVtbl->put_pageFrom(This,v)
#define ITemplatePrinter_get_pageFrom(This,p) (This)->lpVtbl->get_pageFrom(This,p)
#define ITemplatePrinter_put_pageTo(This,v) (This)->lpVtbl->put_pageTo(This,v)
#define ITemplatePrinter_get_pageTo(This,p) (This)->lpVtbl->get_pageTo(This,p)
#define ITemplatePrinter_put_tableOfLinks(This,v) (This)->lpVtbl->put_tableOfLinks(This,v)
#define ITemplatePrinter_get_tableOfLinks(This,p) (This)->lpVtbl->get_tableOfLinks(This,p)
#define ITemplatePrinter_put_allLinkedDocuments(This,v) (This)->lpVtbl->put_allLinkedDocuments(This,v)
#define ITemplatePrinter_get_allLinkedDocuments(This,p) (This)->lpVtbl->get_allLinkedDocuments(This,p)
#define ITemplatePrinter_put_header(This,v) (This)->lpVtbl->put_header(This,v)
#define ITemplatePrinter_get_header(This,p) (This)->lpVtbl->get_header(This,p)
#define ITemplatePrinter_put_footer(This,v) (This)->lpVtbl->put_footer(This,v)
#define ITemplatePrinter_get_footer(This,p) (This)->lpVtbl->get_footer(This,p)
#define ITemplatePrinter_put_marginLeft(This,v) (This)->lpVtbl->put_marginLeft(This,v)
#define ITemplatePrinter_get_marginLeft(This,p) (This)->lpVtbl->get_marginLeft(This,p)
#define ITemplatePrinter_put_marginRight(This,v) (This)->lpVtbl->put_marginRight(This,v)
#define ITemplatePrinter_get_marginRight(This,p) (This)->lpVtbl->get_marginRight(This,p)
#define ITemplatePrinter_put_marginTop(This,v) (This)->lpVtbl->put_marginTop(This,v)
#define ITemplatePrinter_get_marginTop(This,p) (This)->lpVtbl->get_marginTop(This,p)
#define ITemplatePrinter_put_marginBottom(This,v) (This)->lpVtbl->put_marginBottom(This,v)
#define ITemplatePrinter_get_marginBottom(This,p) (This)->lpVtbl->get_marginBottom(This,p)
#define ITemplatePrinter_get_pageWidth(This,p) (This)->lpVtbl->get_pageWidth(This,p)
#define ITemplatePrinter_get_pageHeight(This,p) (This)->lpVtbl->get_pageHeight(This,p)
#define ITemplatePrinter_get_unprintableLeft(This,p) (This)->lpVtbl->get_unprintableLeft(This,p)
#define ITemplatePrinter_get_unprintableTop(This,p) (This)->lpVtbl->get_unprintableTop(This,p)
#define ITemplatePrinter_get_unprintableRight(This,p) (This)->lpVtbl->get_unprintableRight(This,p)
#define ITemplatePrinter_get_unprintableBottom(This,p) (This)->lpVtbl->get_unprintableBottom(This,p)
#define ITemplatePrinter_updatePageStatus(This,p) (This)->lpVtbl->updatePageStatus(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ITemplatePrinter_QueryInterface(ITemplatePrinter* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITemplatePrinter_AddRef(ITemplatePrinter* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITemplatePrinter_Release(ITemplatePrinter* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ITemplatePrinter_GetTypeInfoCount(ITemplatePrinter* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ITemplatePrinter_GetTypeInfo(ITemplatePrinter* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ITemplatePrinter_GetIDsOfNames(ITemplatePrinter* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ITemplatePrinter_Invoke(ITemplatePrinter* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITemplatePrinter methods ***/
static inline HRESULT ITemplatePrinter_startDoc(ITemplatePrinter* This,BSTR bstrTitle,VARIANT_BOOL *p) {
    return This->lpVtbl->startDoc(This,bstrTitle,p);
}
static inline HRESULT ITemplatePrinter_stopDoc(ITemplatePrinter* This) {
    return This->lpVtbl->stopDoc(This);
}
static inline HRESULT ITemplatePrinter_printBlankPage(ITemplatePrinter* This) {
    return This->lpVtbl->printBlankPage(This);
}
static inline HRESULT ITemplatePrinter_printPage(ITemplatePrinter* This,IDispatch *pElemDisp) {
    return This->lpVtbl->printPage(This,pElemDisp);
}
static inline HRESULT ITemplatePrinter_ensurePrintDialogDefaults(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->ensurePrintDialogDefaults(This,p);
}
static inline HRESULT ITemplatePrinter_showPrintDialog(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->showPrintDialog(This,p);
}
static inline HRESULT ITemplatePrinter_showPageSetupDialog(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->showPageSetupDialog(This,p);
}
static inline HRESULT ITemplatePrinter_printNonNative(ITemplatePrinter* This,IUnknown *pMarkup,VARIANT_BOOL *p) {
    return This->lpVtbl->printNonNative(This,pMarkup,p);
}
static inline HRESULT ITemplatePrinter_printNonNativeFrames(ITemplatePrinter* This,IUnknown *pMarkup,VARIANT_BOOL fActiveFrame) {
    return This->lpVtbl->printNonNativeFrames(This,pMarkup,fActiveFrame);
}
static inline HRESULT ITemplatePrinter_put_framesetDocument(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_framesetDocument(This,v);
}
static inline HRESULT ITemplatePrinter_get_framesetDocument(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_framesetDocument(This,p);
}
static inline HRESULT ITemplatePrinter_put_frameActive(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameActive(This,v);
}
static inline HRESULT ITemplatePrinter_get_frameActive(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameActive(This,p);
}
static inline HRESULT ITemplatePrinter_put_frameAsShown(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameAsShown(This,v);
}
static inline HRESULT ITemplatePrinter_get_frameAsShown(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameAsShown(This,p);
}
static inline HRESULT ITemplatePrinter_put_selection(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selection(This,v);
}
static inline HRESULT ITemplatePrinter_get_selection(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selection(This,p);
}
static inline HRESULT ITemplatePrinter_put_selectedPages(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selectedPages(This,v);
}
static inline HRESULT ITemplatePrinter_get_selectedPages(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selectedPages(This,p);
}
static inline HRESULT ITemplatePrinter_put_currentPage(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_currentPage(This,v);
}
static inline HRESULT ITemplatePrinter_get_currentPage(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_currentPage(This,p);
}
static inline HRESULT ITemplatePrinter_put_currentPageAvail(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_currentPageAvail(This,v);
}
static inline HRESULT ITemplatePrinter_get_currentPageAvail(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_currentPageAvail(This,p);
}
static inline HRESULT ITemplatePrinter_put_collate(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_collate(This,v);
}
static inline HRESULT ITemplatePrinter_get_collate(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_collate(This,p);
}
static inline HRESULT ITemplatePrinter_get_duplex(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_duplex(This,p);
}
static inline HRESULT ITemplatePrinter_put_copies(ITemplatePrinter* This,USHORT v) {
    return This->lpVtbl->put_copies(This,v);
}
static inline HRESULT ITemplatePrinter_get_copies(ITemplatePrinter* This,USHORT *p) {
    return This->lpVtbl->get_copies(This,p);
}
static inline HRESULT ITemplatePrinter_put_pageFrom(ITemplatePrinter* This,USHORT v) {
    return This->lpVtbl->put_pageFrom(This,v);
}
static inline HRESULT ITemplatePrinter_get_pageFrom(ITemplatePrinter* This,USHORT *p) {
    return This->lpVtbl->get_pageFrom(This,p);
}
static inline HRESULT ITemplatePrinter_put_pageTo(ITemplatePrinter* This,USHORT v) {
    return This->lpVtbl->put_pageTo(This,v);
}
static inline HRESULT ITemplatePrinter_get_pageTo(ITemplatePrinter* This,USHORT *p) {
    return This->lpVtbl->get_pageTo(This,p);
}
static inline HRESULT ITemplatePrinter_put_tableOfLinks(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_tableOfLinks(This,v);
}
static inline HRESULT ITemplatePrinter_get_tableOfLinks(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_tableOfLinks(This,p);
}
static inline HRESULT ITemplatePrinter_put_allLinkedDocuments(ITemplatePrinter* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_allLinkedDocuments(This,v);
}
static inline HRESULT ITemplatePrinter_get_allLinkedDocuments(ITemplatePrinter* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_allLinkedDocuments(This,p);
}
static inline HRESULT ITemplatePrinter_put_header(ITemplatePrinter* This,BSTR v) {
    return This->lpVtbl->put_header(This,v);
}
static inline HRESULT ITemplatePrinter_get_header(ITemplatePrinter* This,BSTR *p) {
    return This->lpVtbl->get_header(This,p);
}
static inline HRESULT ITemplatePrinter_put_footer(ITemplatePrinter* This,BSTR v) {
    return This->lpVtbl->put_footer(This,v);
}
static inline HRESULT ITemplatePrinter_get_footer(ITemplatePrinter* This,BSTR *p) {
    return This->lpVtbl->get_footer(This,p);
}
static inline HRESULT ITemplatePrinter_put_marginLeft(ITemplatePrinter* This,LONG v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static inline HRESULT ITemplatePrinter_get_marginLeft(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static inline HRESULT ITemplatePrinter_put_marginRight(ITemplatePrinter* This,LONG v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static inline HRESULT ITemplatePrinter_get_marginRight(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static inline HRESULT ITemplatePrinter_put_marginTop(ITemplatePrinter* This,LONG v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static inline HRESULT ITemplatePrinter_get_marginTop(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static inline HRESULT ITemplatePrinter_put_marginBottom(ITemplatePrinter* This,LONG v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static inline HRESULT ITemplatePrinter_get_marginBottom(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static inline HRESULT ITemplatePrinter_get_pageWidth(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_pageWidth(This,p);
}
static inline HRESULT ITemplatePrinter_get_pageHeight(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_pageHeight(This,p);
}
static inline HRESULT ITemplatePrinter_get_unprintableLeft(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_unprintableLeft(This,p);
}
static inline HRESULT ITemplatePrinter_get_unprintableTop(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_unprintableTop(This,p);
}
static inline HRESULT ITemplatePrinter_get_unprintableRight(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_unprintableRight(This,p);
}
static inline HRESULT ITemplatePrinter_get_unprintableBottom(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->get_unprintableBottom(This,p);
}
static inline HRESULT ITemplatePrinter_updatePageStatus(ITemplatePrinter* This,LONG *p) {
    return This->lpVtbl->updatePageStatus(This,p);
}
#endif
#endif

#endif


#endif  /* __ITemplatePrinter_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITemplatePrinter2 interface
 */
#ifndef __ITemplatePrinter2_INTERFACE_DEFINED__
#define __ITemplatePrinter2_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITemplatePrinter2, 0x3050f83f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f83f-98b5-11cf-bb82-00aa00bdce0b")
ITemplatePrinter2 : public ITemplatePrinter
{
    virtual HRESULT STDMETHODCALLTYPE put_selectionEnabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selectionEnabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_frameActiveEnabled(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_frameActiveEnabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_orientation(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_orientation(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_usePrinterCopyCollate(
        VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_usePrinterCopyCollate(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE deviceSupports(
        BSTR bstrProperty,
        VARIANT *pvar) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITemplatePrinter2, 0x3050f83f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ITemplatePrinter2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITemplatePrinter2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITemplatePrinter2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITemplatePrinter2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITemplatePrinter2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITemplatePrinter2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITemplatePrinter2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITemplatePrinter2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITemplatePrinter methods ***/
    HRESULT (STDMETHODCALLTYPE *startDoc)(
        ITemplatePrinter2 *This,
        BSTR bstrTitle,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *stopDoc)(
        ITemplatePrinter2 *This);

    HRESULT (STDMETHODCALLTYPE *printBlankPage)(
        ITemplatePrinter2 *This);

    HRESULT (STDMETHODCALLTYPE *printPage)(
        ITemplatePrinter2 *This,
        IDispatch *pElemDisp);

    HRESULT (STDMETHODCALLTYPE *ensurePrintDialogDefaults)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *showPrintDialog)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *showPageSetupDialog)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *printNonNative)(
        ITemplatePrinter2 *This,
        IUnknown *pMarkup,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *printNonNativeFrames)(
        ITemplatePrinter2 *This,
        IUnknown *pMarkup,
        VARIANT_BOOL fActiveFrame);

    HRESULT (STDMETHODCALLTYPE *put_framesetDocument)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_framesetDocument)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameActive)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameActive)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameAsShown)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameAsShown)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_selection)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selection)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_selectedPages)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selectedPages)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_currentPage)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_currentPage)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_currentPageAvail)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_currentPageAvail)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_collate)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_collate)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_duplex)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_copies)(
        ITemplatePrinter2 *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_copies)(
        ITemplatePrinter2 *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageFrom)(
        ITemplatePrinter2 *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_pageFrom)(
        ITemplatePrinter2 *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageTo)(
        ITemplatePrinter2 *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_pageTo)(
        ITemplatePrinter2 *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_tableOfLinks)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_tableOfLinks)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_allLinkedDocuments)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_allLinkedDocuments)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_header)(
        ITemplatePrinter2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_header)(
        ITemplatePrinter2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_footer)(
        ITemplatePrinter2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_footer)(
        ITemplatePrinter2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_marginLeft)(
        ITemplatePrinter2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginLeft)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginRight)(
        ITemplatePrinter2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginRight)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginTop)(
        ITemplatePrinter2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginTop)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginBottom)(
        ITemplatePrinter2 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginBottom)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageWidth)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageHeight)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableLeft)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableTop)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableRight)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableBottom)(
        ITemplatePrinter2 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *updatePageStatus)(
        ITemplatePrinter2 *This,
        LONG *p);

    /*** ITemplatePrinter2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selectionEnabled)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selectionEnabled)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameActiveEnabled)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameActiveEnabled)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_orientation)(
        ITemplatePrinter2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_orientation)(
        ITemplatePrinter2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_usePrinterCopyCollate)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_usePrinterCopyCollate)(
        ITemplatePrinter2 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *deviceSupports)(
        ITemplatePrinter2 *This,
        BSTR bstrProperty,
        VARIANT *pvar);

    END_INTERFACE
} ITemplatePrinter2Vtbl;

interface ITemplatePrinter2 {
    CONST_VTBL ITemplatePrinter2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITemplatePrinter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITemplatePrinter2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITemplatePrinter2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ITemplatePrinter2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ITemplatePrinter2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ITemplatePrinter2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ITemplatePrinter2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITemplatePrinter methods ***/
#define ITemplatePrinter2_startDoc(This,bstrTitle,p) (This)->lpVtbl->startDoc(This,bstrTitle,p)
#define ITemplatePrinter2_stopDoc(This) (This)->lpVtbl->stopDoc(This)
#define ITemplatePrinter2_printBlankPage(This) (This)->lpVtbl->printBlankPage(This)
#define ITemplatePrinter2_printPage(This,pElemDisp) (This)->lpVtbl->printPage(This,pElemDisp)
#define ITemplatePrinter2_ensurePrintDialogDefaults(This,p) (This)->lpVtbl->ensurePrintDialogDefaults(This,p)
#define ITemplatePrinter2_showPrintDialog(This,p) (This)->lpVtbl->showPrintDialog(This,p)
#define ITemplatePrinter2_showPageSetupDialog(This,p) (This)->lpVtbl->showPageSetupDialog(This,p)
#define ITemplatePrinter2_printNonNative(This,pMarkup,p) (This)->lpVtbl->printNonNative(This,pMarkup,p)
#define ITemplatePrinter2_printNonNativeFrames(This,pMarkup,fActiveFrame) (This)->lpVtbl->printNonNativeFrames(This,pMarkup,fActiveFrame)
#define ITemplatePrinter2_put_framesetDocument(This,v) (This)->lpVtbl->put_framesetDocument(This,v)
#define ITemplatePrinter2_get_framesetDocument(This,p) (This)->lpVtbl->get_framesetDocument(This,p)
#define ITemplatePrinter2_put_frameActive(This,v) (This)->lpVtbl->put_frameActive(This,v)
#define ITemplatePrinter2_get_frameActive(This,p) (This)->lpVtbl->get_frameActive(This,p)
#define ITemplatePrinter2_put_frameAsShown(This,v) (This)->lpVtbl->put_frameAsShown(This,v)
#define ITemplatePrinter2_get_frameAsShown(This,p) (This)->lpVtbl->get_frameAsShown(This,p)
#define ITemplatePrinter2_put_selection(This,v) (This)->lpVtbl->put_selection(This,v)
#define ITemplatePrinter2_get_selection(This,p) (This)->lpVtbl->get_selection(This,p)
#define ITemplatePrinter2_put_selectedPages(This,v) (This)->lpVtbl->put_selectedPages(This,v)
#define ITemplatePrinter2_get_selectedPages(This,p) (This)->lpVtbl->get_selectedPages(This,p)
#define ITemplatePrinter2_put_currentPage(This,v) (This)->lpVtbl->put_currentPage(This,v)
#define ITemplatePrinter2_get_currentPage(This,p) (This)->lpVtbl->get_currentPage(This,p)
#define ITemplatePrinter2_put_currentPageAvail(This,v) (This)->lpVtbl->put_currentPageAvail(This,v)
#define ITemplatePrinter2_get_currentPageAvail(This,p) (This)->lpVtbl->get_currentPageAvail(This,p)
#define ITemplatePrinter2_put_collate(This,v) (This)->lpVtbl->put_collate(This,v)
#define ITemplatePrinter2_get_collate(This,p) (This)->lpVtbl->get_collate(This,p)
#define ITemplatePrinter2_get_duplex(This,p) (This)->lpVtbl->get_duplex(This,p)
#define ITemplatePrinter2_put_copies(This,v) (This)->lpVtbl->put_copies(This,v)
#define ITemplatePrinter2_get_copies(This,p) (This)->lpVtbl->get_copies(This,p)
#define ITemplatePrinter2_put_pageFrom(This,v) (This)->lpVtbl->put_pageFrom(This,v)
#define ITemplatePrinter2_get_pageFrom(This,p) (This)->lpVtbl->get_pageFrom(This,p)
#define ITemplatePrinter2_put_pageTo(This,v) (This)->lpVtbl->put_pageTo(This,v)
#define ITemplatePrinter2_get_pageTo(This,p) (This)->lpVtbl->get_pageTo(This,p)
#define ITemplatePrinter2_put_tableOfLinks(This,v) (This)->lpVtbl->put_tableOfLinks(This,v)
#define ITemplatePrinter2_get_tableOfLinks(This,p) (This)->lpVtbl->get_tableOfLinks(This,p)
#define ITemplatePrinter2_put_allLinkedDocuments(This,v) (This)->lpVtbl->put_allLinkedDocuments(This,v)
#define ITemplatePrinter2_get_allLinkedDocuments(This,p) (This)->lpVtbl->get_allLinkedDocuments(This,p)
#define ITemplatePrinter2_put_header(This,v) (This)->lpVtbl->put_header(This,v)
#define ITemplatePrinter2_get_header(This,p) (This)->lpVtbl->get_header(This,p)
#define ITemplatePrinter2_put_footer(This,v) (This)->lpVtbl->put_footer(This,v)
#define ITemplatePrinter2_get_footer(This,p) (This)->lpVtbl->get_footer(This,p)
#define ITemplatePrinter2_put_marginLeft(This,v) (This)->lpVtbl->put_marginLeft(This,v)
#define ITemplatePrinter2_get_marginLeft(This,p) (This)->lpVtbl->get_marginLeft(This,p)
#define ITemplatePrinter2_put_marginRight(This,v) (This)->lpVtbl->put_marginRight(This,v)
#define ITemplatePrinter2_get_marginRight(This,p) (This)->lpVtbl->get_marginRight(This,p)
#define ITemplatePrinter2_put_marginTop(This,v) (This)->lpVtbl->put_marginTop(This,v)
#define ITemplatePrinter2_get_marginTop(This,p) (This)->lpVtbl->get_marginTop(This,p)
#define ITemplatePrinter2_put_marginBottom(This,v) (This)->lpVtbl->put_marginBottom(This,v)
#define ITemplatePrinter2_get_marginBottom(This,p) (This)->lpVtbl->get_marginBottom(This,p)
#define ITemplatePrinter2_get_pageWidth(This,p) (This)->lpVtbl->get_pageWidth(This,p)
#define ITemplatePrinter2_get_pageHeight(This,p) (This)->lpVtbl->get_pageHeight(This,p)
#define ITemplatePrinter2_get_unprintableLeft(This,p) (This)->lpVtbl->get_unprintableLeft(This,p)
#define ITemplatePrinter2_get_unprintableTop(This,p) (This)->lpVtbl->get_unprintableTop(This,p)
#define ITemplatePrinter2_get_unprintableRight(This,p) (This)->lpVtbl->get_unprintableRight(This,p)
#define ITemplatePrinter2_get_unprintableBottom(This,p) (This)->lpVtbl->get_unprintableBottom(This,p)
#define ITemplatePrinter2_updatePageStatus(This,p) (This)->lpVtbl->updatePageStatus(This,p)
/*** ITemplatePrinter2 methods ***/
#define ITemplatePrinter2_put_selectionEnabled(This,v) (This)->lpVtbl->put_selectionEnabled(This,v)
#define ITemplatePrinter2_get_selectionEnabled(This,p) (This)->lpVtbl->get_selectionEnabled(This,p)
#define ITemplatePrinter2_put_frameActiveEnabled(This,v) (This)->lpVtbl->put_frameActiveEnabled(This,v)
#define ITemplatePrinter2_get_frameActiveEnabled(This,p) (This)->lpVtbl->get_frameActiveEnabled(This,p)
#define ITemplatePrinter2_put_orientation(This,v) (This)->lpVtbl->put_orientation(This,v)
#define ITemplatePrinter2_get_orientation(This,p) (This)->lpVtbl->get_orientation(This,p)
#define ITemplatePrinter2_put_usePrinterCopyCollate(This,v) (This)->lpVtbl->put_usePrinterCopyCollate(This,v)
#define ITemplatePrinter2_get_usePrinterCopyCollate(This,p) (This)->lpVtbl->get_usePrinterCopyCollate(This,p)
#define ITemplatePrinter2_deviceSupports(This,bstrProperty,pvar) (This)->lpVtbl->deviceSupports(This,bstrProperty,pvar)
#else
/*** IUnknown methods ***/
static inline HRESULT ITemplatePrinter2_QueryInterface(ITemplatePrinter2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITemplatePrinter2_AddRef(ITemplatePrinter2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITemplatePrinter2_Release(ITemplatePrinter2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ITemplatePrinter2_GetTypeInfoCount(ITemplatePrinter2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ITemplatePrinter2_GetTypeInfo(ITemplatePrinter2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ITemplatePrinter2_GetIDsOfNames(ITemplatePrinter2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ITemplatePrinter2_Invoke(ITemplatePrinter2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITemplatePrinter methods ***/
static inline HRESULT ITemplatePrinter2_startDoc(ITemplatePrinter2* This,BSTR bstrTitle,VARIANT_BOOL *p) {
    return This->lpVtbl->startDoc(This,bstrTitle,p);
}
static inline HRESULT ITemplatePrinter2_stopDoc(ITemplatePrinter2* This) {
    return This->lpVtbl->stopDoc(This);
}
static inline HRESULT ITemplatePrinter2_printBlankPage(ITemplatePrinter2* This) {
    return This->lpVtbl->printBlankPage(This);
}
static inline HRESULT ITemplatePrinter2_printPage(ITemplatePrinter2* This,IDispatch *pElemDisp) {
    return This->lpVtbl->printPage(This,pElemDisp);
}
static inline HRESULT ITemplatePrinter2_ensurePrintDialogDefaults(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->ensurePrintDialogDefaults(This,p);
}
static inline HRESULT ITemplatePrinter2_showPrintDialog(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->showPrintDialog(This,p);
}
static inline HRESULT ITemplatePrinter2_showPageSetupDialog(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->showPageSetupDialog(This,p);
}
static inline HRESULT ITemplatePrinter2_printNonNative(ITemplatePrinter2* This,IUnknown *pMarkup,VARIANT_BOOL *p) {
    return This->lpVtbl->printNonNative(This,pMarkup,p);
}
static inline HRESULT ITemplatePrinter2_printNonNativeFrames(ITemplatePrinter2* This,IUnknown *pMarkup,VARIANT_BOOL fActiveFrame) {
    return This->lpVtbl->printNonNativeFrames(This,pMarkup,fActiveFrame);
}
static inline HRESULT ITemplatePrinter2_put_framesetDocument(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_framesetDocument(This,v);
}
static inline HRESULT ITemplatePrinter2_get_framesetDocument(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_framesetDocument(This,p);
}
static inline HRESULT ITemplatePrinter2_put_frameActive(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameActive(This,v);
}
static inline HRESULT ITemplatePrinter2_get_frameActive(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameActive(This,p);
}
static inline HRESULT ITemplatePrinter2_put_frameAsShown(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameAsShown(This,v);
}
static inline HRESULT ITemplatePrinter2_get_frameAsShown(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameAsShown(This,p);
}
static inline HRESULT ITemplatePrinter2_put_selection(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selection(This,v);
}
static inline HRESULT ITemplatePrinter2_get_selection(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selection(This,p);
}
static inline HRESULT ITemplatePrinter2_put_selectedPages(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selectedPages(This,v);
}
static inline HRESULT ITemplatePrinter2_get_selectedPages(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selectedPages(This,p);
}
static inline HRESULT ITemplatePrinter2_put_currentPage(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_currentPage(This,v);
}
static inline HRESULT ITemplatePrinter2_get_currentPage(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_currentPage(This,p);
}
static inline HRESULT ITemplatePrinter2_put_currentPageAvail(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_currentPageAvail(This,v);
}
static inline HRESULT ITemplatePrinter2_get_currentPageAvail(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_currentPageAvail(This,p);
}
static inline HRESULT ITemplatePrinter2_put_collate(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_collate(This,v);
}
static inline HRESULT ITemplatePrinter2_get_collate(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_collate(This,p);
}
static inline HRESULT ITemplatePrinter2_get_duplex(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_duplex(This,p);
}
static inline HRESULT ITemplatePrinter2_put_copies(ITemplatePrinter2* This,USHORT v) {
    return This->lpVtbl->put_copies(This,v);
}
static inline HRESULT ITemplatePrinter2_get_copies(ITemplatePrinter2* This,USHORT *p) {
    return This->lpVtbl->get_copies(This,p);
}
static inline HRESULT ITemplatePrinter2_put_pageFrom(ITemplatePrinter2* This,USHORT v) {
    return This->lpVtbl->put_pageFrom(This,v);
}
static inline HRESULT ITemplatePrinter2_get_pageFrom(ITemplatePrinter2* This,USHORT *p) {
    return This->lpVtbl->get_pageFrom(This,p);
}
static inline HRESULT ITemplatePrinter2_put_pageTo(ITemplatePrinter2* This,USHORT v) {
    return This->lpVtbl->put_pageTo(This,v);
}
static inline HRESULT ITemplatePrinter2_get_pageTo(ITemplatePrinter2* This,USHORT *p) {
    return This->lpVtbl->get_pageTo(This,p);
}
static inline HRESULT ITemplatePrinter2_put_tableOfLinks(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_tableOfLinks(This,v);
}
static inline HRESULT ITemplatePrinter2_get_tableOfLinks(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_tableOfLinks(This,p);
}
static inline HRESULT ITemplatePrinter2_put_allLinkedDocuments(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_allLinkedDocuments(This,v);
}
static inline HRESULT ITemplatePrinter2_get_allLinkedDocuments(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_allLinkedDocuments(This,p);
}
static inline HRESULT ITemplatePrinter2_put_header(ITemplatePrinter2* This,BSTR v) {
    return This->lpVtbl->put_header(This,v);
}
static inline HRESULT ITemplatePrinter2_get_header(ITemplatePrinter2* This,BSTR *p) {
    return This->lpVtbl->get_header(This,p);
}
static inline HRESULT ITemplatePrinter2_put_footer(ITemplatePrinter2* This,BSTR v) {
    return This->lpVtbl->put_footer(This,v);
}
static inline HRESULT ITemplatePrinter2_get_footer(ITemplatePrinter2* This,BSTR *p) {
    return This->lpVtbl->get_footer(This,p);
}
static inline HRESULT ITemplatePrinter2_put_marginLeft(ITemplatePrinter2* This,LONG v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static inline HRESULT ITemplatePrinter2_get_marginLeft(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static inline HRESULT ITemplatePrinter2_put_marginRight(ITemplatePrinter2* This,LONG v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static inline HRESULT ITemplatePrinter2_get_marginRight(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static inline HRESULT ITemplatePrinter2_put_marginTop(ITemplatePrinter2* This,LONG v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static inline HRESULT ITemplatePrinter2_get_marginTop(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static inline HRESULT ITemplatePrinter2_put_marginBottom(ITemplatePrinter2* This,LONG v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static inline HRESULT ITemplatePrinter2_get_marginBottom(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static inline HRESULT ITemplatePrinter2_get_pageWidth(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_pageWidth(This,p);
}
static inline HRESULT ITemplatePrinter2_get_pageHeight(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_pageHeight(This,p);
}
static inline HRESULT ITemplatePrinter2_get_unprintableLeft(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_unprintableLeft(This,p);
}
static inline HRESULT ITemplatePrinter2_get_unprintableTop(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_unprintableTop(This,p);
}
static inline HRESULT ITemplatePrinter2_get_unprintableRight(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_unprintableRight(This,p);
}
static inline HRESULT ITemplatePrinter2_get_unprintableBottom(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->get_unprintableBottom(This,p);
}
static inline HRESULT ITemplatePrinter2_updatePageStatus(ITemplatePrinter2* This,LONG *p) {
    return This->lpVtbl->updatePageStatus(This,p);
}
/*** ITemplatePrinter2 methods ***/
static inline HRESULT ITemplatePrinter2_put_selectionEnabled(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selectionEnabled(This,v);
}
static inline HRESULT ITemplatePrinter2_get_selectionEnabled(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selectionEnabled(This,p);
}
static inline HRESULT ITemplatePrinter2_put_frameActiveEnabled(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameActiveEnabled(This,v);
}
static inline HRESULT ITemplatePrinter2_get_frameActiveEnabled(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameActiveEnabled(This,p);
}
static inline HRESULT ITemplatePrinter2_put_orientation(ITemplatePrinter2* This,BSTR v) {
    return This->lpVtbl->put_orientation(This,v);
}
static inline HRESULT ITemplatePrinter2_get_orientation(ITemplatePrinter2* This,BSTR *p) {
    return This->lpVtbl->get_orientation(This,p);
}
static inline HRESULT ITemplatePrinter2_put_usePrinterCopyCollate(ITemplatePrinter2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_usePrinterCopyCollate(This,v);
}
static inline HRESULT ITemplatePrinter2_get_usePrinterCopyCollate(ITemplatePrinter2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_usePrinterCopyCollate(This,p);
}
static inline HRESULT ITemplatePrinter2_deviceSupports(ITemplatePrinter2* This,BSTR bstrProperty,VARIANT *pvar) {
    return This->lpVtbl->deviceSupports(This,bstrProperty,pvar);
}
#endif
#endif

#endif


#endif  /* __ITemplatePrinter2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITemplatePrinter3 interface
 */
#ifndef __ITemplatePrinter3_INTERFACE_DEFINED__
#define __ITemplatePrinter3_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITemplatePrinter3, 0x305104a3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305104a3-98b5-11cf-bb82-00aa00bdce0b")
ITemplatePrinter3 : public ITemplatePrinter2
{
    virtual HRESULT STDMETHODCALLTYPE put_headerFooterFont(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_headerFooterFont(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginTop(
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginRight(
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginBottom(
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginLeft(
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginTopImportant(
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginRightImportant(
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginBottomImportant(
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPageMarginLeftImportant(
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITemplatePrinter3, 0x305104a3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ITemplatePrinter3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITemplatePrinter3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITemplatePrinter3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITemplatePrinter3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITemplatePrinter3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITemplatePrinter3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITemplatePrinter3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITemplatePrinter3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ITemplatePrinter methods ***/
    HRESULT (STDMETHODCALLTYPE *startDoc)(
        ITemplatePrinter3 *This,
        BSTR bstrTitle,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *stopDoc)(
        ITemplatePrinter3 *This);

    HRESULT (STDMETHODCALLTYPE *printBlankPage)(
        ITemplatePrinter3 *This);

    HRESULT (STDMETHODCALLTYPE *printPage)(
        ITemplatePrinter3 *This,
        IDispatch *pElemDisp);

    HRESULT (STDMETHODCALLTYPE *ensurePrintDialogDefaults)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *showPrintDialog)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *showPageSetupDialog)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *printNonNative)(
        ITemplatePrinter3 *This,
        IUnknown *pMarkup,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *printNonNativeFrames)(
        ITemplatePrinter3 *This,
        IUnknown *pMarkup,
        VARIANT_BOOL fActiveFrame);

    HRESULT (STDMETHODCALLTYPE *put_framesetDocument)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_framesetDocument)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameActive)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameActive)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameAsShown)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameAsShown)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_selection)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selection)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_selectedPages)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selectedPages)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_currentPage)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_currentPage)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_currentPageAvail)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_currentPageAvail)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_collate)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_collate)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_duplex)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_copies)(
        ITemplatePrinter3 *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_copies)(
        ITemplatePrinter3 *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageFrom)(
        ITemplatePrinter3 *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_pageFrom)(
        ITemplatePrinter3 *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_pageTo)(
        ITemplatePrinter3 *This,
        USHORT v);

    HRESULT (STDMETHODCALLTYPE *get_pageTo)(
        ITemplatePrinter3 *This,
        USHORT *p);

    HRESULT (STDMETHODCALLTYPE *put_tableOfLinks)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_tableOfLinks)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_allLinkedDocuments)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_allLinkedDocuments)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_header)(
        ITemplatePrinter3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_header)(
        ITemplatePrinter3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_footer)(
        ITemplatePrinter3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_footer)(
        ITemplatePrinter3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_marginLeft)(
        ITemplatePrinter3 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginLeft)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginRight)(
        ITemplatePrinter3 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginRight)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginTop)(
        ITemplatePrinter3 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginTop)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_marginBottom)(
        ITemplatePrinter3 *This,
        LONG v);

    HRESULT (STDMETHODCALLTYPE *get_marginBottom)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageWidth)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_pageHeight)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableLeft)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableTop)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableRight)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_unprintableBottom)(
        ITemplatePrinter3 *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *updatePageStatus)(
        ITemplatePrinter3 *This,
        LONG *p);

    /*** ITemplatePrinter2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_selectionEnabled)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_selectionEnabled)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_frameActiveEnabled)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_frameActiveEnabled)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *put_orientation)(
        ITemplatePrinter3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_orientation)(
        ITemplatePrinter3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_usePrinterCopyCollate)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL v);

    HRESULT (STDMETHODCALLTYPE *get_usePrinterCopyCollate)(
        ITemplatePrinter3 *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *deviceSupports)(
        ITemplatePrinter3 *This,
        BSTR bstrProperty,
        VARIANT *pvar);

    /*** ITemplatePrinter3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_headerFooterFont)(
        ITemplatePrinter3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_headerFooterFont)(
        ITemplatePrinter3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *getPageMarginTop)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin);

    HRESULT (STDMETHODCALLTYPE *getPageMarginRight)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin);

    HRESULT (STDMETHODCALLTYPE *getPageMarginBottom)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin);

    HRESULT (STDMETHODCALLTYPE *getPageMarginLeft)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        LONG pageWidth,
        LONG pageHeight,
        VARIANT *pMargin);

    HRESULT (STDMETHODCALLTYPE *getPageMarginTopImportant)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant);

    HRESULT (STDMETHODCALLTYPE *getPageMarginRightImportant)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant);

    HRESULT (STDMETHODCALLTYPE *getPageMarginBottomImportant)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant);

    HRESULT (STDMETHODCALLTYPE *getPageMarginLeftImportant)(
        ITemplatePrinter3 *This,
        IDispatch *pageRule,
        VARIANT_BOOL *pbImportant);

    END_INTERFACE
} ITemplatePrinter3Vtbl;

interface ITemplatePrinter3 {
    CONST_VTBL ITemplatePrinter3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITemplatePrinter3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITemplatePrinter3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITemplatePrinter3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ITemplatePrinter3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ITemplatePrinter3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ITemplatePrinter3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ITemplatePrinter3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ITemplatePrinter methods ***/
#define ITemplatePrinter3_startDoc(This,bstrTitle,p) (This)->lpVtbl->startDoc(This,bstrTitle,p)
#define ITemplatePrinter3_stopDoc(This) (This)->lpVtbl->stopDoc(This)
#define ITemplatePrinter3_printBlankPage(This) (This)->lpVtbl->printBlankPage(This)
#define ITemplatePrinter3_printPage(This,pElemDisp) (This)->lpVtbl->printPage(This,pElemDisp)
#define ITemplatePrinter3_ensurePrintDialogDefaults(This,p) (This)->lpVtbl->ensurePrintDialogDefaults(This,p)
#define ITemplatePrinter3_showPrintDialog(This,p) (This)->lpVtbl->showPrintDialog(This,p)
#define ITemplatePrinter3_showPageSetupDialog(This,p) (This)->lpVtbl->showPageSetupDialog(This,p)
#define ITemplatePrinter3_printNonNative(This,pMarkup,p) (This)->lpVtbl->printNonNative(This,pMarkup,p)
#define ITemplatePrinter3_printNonNativeFrames(This,pMarkup,fActiveFrame) (This)->lpVtbl->printNonNativeFrames(This,pMarkup,fActiveFrame)
#define ITemplatePrinter3_put_framesetDocument(This,v) (This)->lpVtbl->put_framesetDocument(This,v)
#define ITemplatePrinter3_get_framesetDocument(This,p) (This)->lpVtbl->get_framesetDocument(This,p)
#define ITemplatePrinter3_put_frameActive(This,v) (This)->lpVtbl->put_frameActive(This,v)
#define ITemplatePrinter3_get_frameActive(This,p) (This)->lpVtbl->get_frameActive(This,p)
#define ITemplatePrinter3_put_frameAsShown(This,v) (This)->lpVtbl->put_frameAsShown(This,v)
#define ITemplatePrinter3_get_frameAsShown(This,p) (This)->lpVtbl->get_frameAsShown(This,p)
#define ITemplatePrinter3_put_selection(This,v) (This)->lpVtbl->put_selection(This,v)
#define ITemplatePrinter3_get_selection(This,p) (This)->lpVtbl->get_selection(This,p)
#define ITemplatePrinter3_put_selectedPages(This,v) (This)->lpVtbl->put_selectedPages(This,v)
#define ITemplatePrinter3_get_selectedPages(This,p) (This)->lpVtbl->get_selectedPages(This,p)
#define ITemplatePrinter3_put_currentPage(This,v) (This)->lpVtbl->put_currentPage(This,v)
#define ITemplatePrinter3_get_currentPage(This,p) (This)->lpVtbl->get_currentPage(This,p)
#define ITemplatePrinter3_put_currentPageAvail(This,v) (This)->lpVtbl->put_currentPageAvail(This,v)
#define ITemplatePrinter3_get_currentPageAvail(This,p) (This)->lpVtbl->get_currentPageAvail(This,p)
#define ITemplatePrinter3_put_collate(This,v) (This)->lpVtbl->put_collate(This,v)
#define ITemplatePrinter3_get_collate(This,p) (This)->lpVtbl->get_collate(This,p)
#define ITemplatePrinter3_get_duplex(This,p) (This)->lpVtbl->get_duplex(This,p)
#define ITemplatePrinter3_put_copies(This,v) (This)->lpVtbl->put_copies(This,v)
#define ITemplatePrinter3_get_copies(This,p) (This)->lpVtbl->get_copies(This,p)
#define ITemplatePrinter3_put_pageFrom(This,v) (This)->lpVtbl->put_pageFrom(This,v)
#define ITemplatePrinter3_get_pageFrom(This,p) (This)->lpVtbl->get_pageFrom(This,p)
#define ITemplatePrinter3_put_pageTo(This,v) (This)->lpVtbl->put_pageTo(This,v)
#define ITemplatePrinter3_get_pageTo(This,p) (This)->lpVtbl->get_pageTo(This,p)
#define ITemplatePrinter3_put_tableOfLinks(This,v) (This)->lpVtbl->put_tableOfLinks(This,v)
#define ITemplatePrinter3_get_tableOfLinks(This,p) (This)->lpVtbl->get_tableOfLinks(This,p)
#define ITemplatePrinter3_put_allLinkedDocuments(This,v) (This)->lpVtbl->put_allLinkedDocuments(This,v)
#define ITemplatePrinter3_get_allLinkedDocuments(This,p) (This)->lpVtbl->get_allLinkedDocuments(This,p)
#define ITemplatePrinter3_put_header(This,v) (This)->lpVtbl->put_header(This,v)
#define ITemplatePrinter3_get_header(This,p) (This)->lpVtbl->get_header(This,p)
#define ITemplatePrinter3_put_footer(This,v) (This)->lpVtbl->put_footer(This,v)
#define ITemplatePrinter3_get_footer(This,p) (This)->lpVtbl->get_footer(This,p)
#define ITemplatePrinter3_put_marginLeft(This,v) (This)->lpVtbl->put_marginLeft(This,v)
#define ITemplatePrinter3_get_marginLeft(This,p) (This)->lpVtbl->get_marginLeft(This,p)
#define ITemplatePrinter3_put_marginRight(This,v) (This)->lpVtbl->put_marginRight(This,v)
#define ITemplatePrinter3_get_marginRight(This,p) (This)->lpVtbl->get_marginRight(This,p)
#define ITemplatePrinter3_put_marginTop(This,v) (This)->lpVtbl->put_marginTop(This,v)
#define ITemplatePrinter3_get_marginTop(This,p) (This)->lpVtbl->get_marginTop(This,p)
#define ITemplatePrinter3_put_marginBottom(This,v) (This)->lpVtbl->put_marginBottom(This,v)
#define ITemplatePrinter3_get_marginBottom(This,p) (This)->lpVtbl->get_marginBottom(This,p)
#define ITemplatePrinter3_get_pageWidth(This,p) (This)->lpVtbl->get_pageWidth(This,p)
#define ITemplatePrinter3_get_pageHeight(This,p) (This)->lpVtbl->get_pageHeight(This,p)
#define ITemplatePrinter3_get_unprintableLeft(This,p) (This)->lpVtbl->get_unprintableLeft(This,p)
#define ITemplatePrinter3_get_unprintableTop(This,p) (This)->lpVtbl->get_unprintableTop(This,p)
#define ITemplatePrinter3_get_unprintableRight(This,p) (This)->lpVtbl->get_unprintableRight(This,p)
#define ITemplatePrinter3_get_unprintableBottom(This,p) (This)->lpVtbl->get_unprintableBottom(This,p)
#define ITemplatePrinter3_updatePageStatus(This,p) (This)->lpVtbl->updatePageStatus(This,p)
/*** ITemplatePrinter2 methods ***/
#define ITemplatePrinter3_put_selectionEnabled(This,v) (This)->lpVtbl->put_selectionEnabled(This,v)
#define ITemplatePrinter3_get_selectionEnabled(This,p) (This)->lpVtbl->get_selectionEnabled(This,p)
#define ITemplatePrinter3_put_frameActiveEnabled(This,v) (This)->lpVtbl->put_frameActiveEnabled(This,v)
#define ITemplatePrinter3_get_frameActiveEnabled(This,p) (This)->lpVtbl->get_frameActiveEnabled(This,p)
#define ITemplatePrinter3_put_orientation(This,v) (This)->lpVtbl->put_orientation(This,v)
#define ITemplatePrinter3_get_orientation(This,p) (This)->lpVtbl->get_orientation(This,p)
#define ITemplatePrinter3_put_usePrinterCopyCollate(This,v) (This)->lpVtbl->put_usePrinterCopyCollate(This,v)
#define ITemplatePrinter3_get_usePrinterCopyCollate(This,p) (This)->lpVtbl->get_usePrinterCopyCollate(This,p)
#define ITemplatePrinter3_deviceSupports(This,bstrProperty,pvar) (This)->lpVtbl->deviceSupports(This,bstrProperty,pvar)
/*** ITemplatePrinter3 methods ***/
#define ITemplatePrinter3_put_headerFooterFont(This,v) (This)->lpVtbl->put_headerFooterFont(This,v)
#define ITemplatePrinter3_get_headerFooterFont(This,p) (This)->lpVtbl->get_headerFooterFont(This,p)
#define ITemplatePrinter3_getPageMarginTop(This,pageRule,pageWidth,pageHeight,pMargin) (This)->lpVtbl->getPageMarginTop(This,pageRule,pageWidth,pageHeight,pMargin)
#define ITemplatePrinter3_getPageMarginRight(This,pageRule,pageWidth,pageHeight,pMargin) (This)->lpVtbl->getPageMarginRight(This,pageRule,pageWidth,pageHeight,pMargin)
#define ITemplatePrinter3_getPageMarginBottom(This,pageRule,pageWidth,pageHeight,pMargin) (This)->lpVtbl->getPageMarginBottom(This,pageRule,pageWidth,pageHeight,pMargin)
#define ITemplatePrinter3_getPageMarginLeft(This,pageRule,pageWidth,pageHeight,pMargin) (This)->lpVtbl->getPageMarginLeft(This,pageRule,pageWidth,pageHeight,pMargin)
#define ITemplatePrinter3_getPageMarginTopImportant(This,pageRule,pbImportant) (This)->lpVtbl->getPageMarginTopImportant(This,pageRule,pbImportant)
#define ITemplatePrinter3_getPageMarginRightImportant(This,pageRule,pbImportant) (This)->lpVtbl->getPageMarginRightImportant(This,pageRule,pbImportant)
#define ITemplatePrinter3_getPageMarginBottomImportant(This,pageRule,pbImportant) (This)->lpVtbl->getPageMarginBottomImportant(This,pageRule,pbImportant)
#define ITemplatePrinter3_getPageMarginLeftImportant(This,pageRule,pbImportant) (This)->lpVtbl->getPageMarginLeftImportant(This,pageRule,pbImportant)
#else
/*** IUnknown methods ***/
static inline HRESULT ITemplatePrinter3_QueryInterface(ITemplatePrinter3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITemplatePrinter3_AddRef(ITemplatePrinter3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITemplatePrinter3_Release(ITemplatePrinter3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ITemplatePrinter3_GetTypeInfoCount(ITemplatePrinter3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ITemplatePrinter3_GetTypeInfo(ITemplatePrinter3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ITemplatePrinter3_GetIDsOfNames(ITemplatePrinter3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ITemplatePrinter3_Invoke(ITemplatePrinter3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ITemplatePrinter methods ***/
static inline HRESULT ITemplatePrinter3_startDoc(ITemplatePrinter3* This,BSTR bstrTitle,VARIANT_BOOL *p) {
    return This->lpVtbl->startDoc(This,bstrTitle,p);
}
static inline HRESULT ITemplatePrinter3_stopDoc(ITemplatePrinter3* This) {
    return This->lpVtbl->stopDoc(This);
}
static inline HRESULT ITemplatePrinter3_printBlankPage(ITemplatePrinter3* This) {
    return This->lpVtbl->printBlankPage(This);
}
static inline HRESULT ITemplatePrinter3_printPage(ITemplatePrinter3* This,IDispatch *pElemDisp) {
    return This->lpVtbl->printPage(This,pElemDisp);
}
static inline HRESULT ITemplatePrinter3_ensurePrintDialogDefaults(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->ensurePrintDialogDefaults(This,p);
}
static inline HRESULT ITemplatePrinter3_showPrintDialog(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->showPrintDialog(This,p);
}
static inline HRESULT ITemplatePrinter3_showPageSetupDialog(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->showPageSetupDialog(This,p);
}
static inline HRESULT ITemplatePrinter3_printNonNative(ITemplatePrinter3* This,IUnknown *pMarkup,VARIANT_BOOL *p) {
    return This->lpVtbl->printNonNative(This,pMarkup,p);
}
static inline HRESULT ITemplatePrinter3_printNonNativeFrames(ITemplatePrinter3* This,IUnknown *pMarkup,VARIANT_BOOL fActiveFrame) {
    return This->lpVtbl->printNonNativeFrames(This,pMarkup,fActiveFrame);
}
static inline HRESULT ITemplatePrinter3_put_framesetDocument(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_framesetDocument(This,v);
}
static inline HRESULT ITemplatePrinter3_get_framesetDocument(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_framesetDocument(This,p);
}
static inline HRESULT ITemplatePrinter3_put_frameActive(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameActive(This,v);
}
static inline HRESULT ITemplatePrinter3_get_frameActive(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameActive(This,p);
}
static inline HRESULT ITemplatePrinter3_put_frameAsShown(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameAsShown(This,v);
}
static inline HRESULT ITemplatePrinter3_get_frameAsShown(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameAsShown(This,p);
}
static inline HRESULT ITemplatePrinter3_put_selection(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selection(This,v);
}
static inline HRESULT ITemplatePrinter3_get_selection(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selection(This,p);
}
static inline HRESULT ITemplatePrinter3_put_selectedPages(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selectedPages(This,v);
}
static inline HRESULT ITemplatePrinter3_get_selectedPages(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selectedPages(This,p);
}
static inline HRESULT ITemplatePrinter3_put_currentPage(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_currentPage(This,v);
}
static inline HRESULT ITemplatePrinter3_get_currentPage(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_currentPage(This,p);
}
static inline HRESULT ITemplatePrinter3_put_currentPageAvail(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_currentPageAvail(This,v);
}
static inline HRESULT ITemplatePrinter3_get_currentPageAvail(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_currentPageAvail(This,p);
}
static inline HRESULT ITemplatePrinter3_put_collate(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_collate(This,v);
}
static inline HRESULT ITemplatePrinter3_get_collate(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_collate(This,p);
}
static inline HRESULT ITemplatePrinter3_get_duplex(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_duplex(This,p);
}
static inline HRESULT ITemplatePrinter3_put_copies(ITemplatePrinter3* This,USHORT v) {
    return This->lpVtbl->put_copies(This,v);
}
static inline HRESULT ITemplatePrinter3_get_copies(ITemplatePrinter3* This,USHORT *p) {
    return This->lpVtbl->get_copies(This,p);
}
static inline HRESULT ITemplatePrinter3_put_pageFrom(ITemplatePrinter3* This,USHORT v) {
    return This->lpVtbl->put_pageFrom(This,v);
}
static inline HRESULT ITemplatePrinter3_get_pageFrom(ITemplatePrinter3* This,USHORT *p) {
    return This->lpVtbl->get_pageFrom(This,p);
}
static inline HRESULT ITemplatePrinter3_put_pageTo(ITemplatePrinter3* This,USHORT v) {
    return This->lpVtbl->put_pageTo(This,v);
}
static inline HRESULT ITemplatePrinter3_get_pageTo(ITemplatePrinter3* This,USHORT *p) {
    return This->lpVtbl->get_pageTo(This,p);
}
static inline HRESULT ITemplatePrinter3_put_tableOfLinks(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_tableOfLinks(This,v);
}
static inline HRESULT ITemplatePrinter3_get_tableOfLinks(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_tableOfLinks(This,p);
}
static inline HRESULT ITemplatePrinter3_put_allLinkedDocuments(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_allLinkedDocuments(This,v);
}
static inline HRESULT ITemplatePrinter3_get_allLinkedDocuments(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_allLinkedDocuments(This,p);
}
static inline HRESULT ITemplatePrinter3_put_header(ITemplatePrinter3* This,BSTR v) {
    return This->lpVtbl->put_header(This,v);
}
static inline HRESULT ITemplatePrinter3_get_header(ITemplatePrinter3* This,BSTR *p) {
    return This->lpVtbl->get_header(This,p);
}
static inline HRESULT ITemplatePrinter3_put_footer(ITemplatePrinter3* This,BSTR v) {
    return This->lpVtbl->put_footer(This,v);
}
static inline HRESULT ITemplatePrinter3_get_footer(ITemplatePrinter3* This,BSTR *p) {
    return This->lpVtbl->get_footer(This,p);
}
static inline HRESULT ITemplatePrinter3_put_marginLeft(ITemplatePrinter3* This,LONG v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static inline HRESULT ITemplatePrinter3_get_marginLeft(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static inline HRESULT ITemplatePrinter3_put_marginRight(ITemplatePrinter3* This,LONG v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static inline HRESULT ITemplatePrinter3_get_marginRight(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static inline HRESULT ITemplatePrinter3_put_marginTop(ITemplatePrinter3* This,LONG v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static inline HRESULT ITemplatePrinter3_get_marginTop(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static inline HRESULT ITemplatePrinter3_put_marginBottom(ITemplatePrinter3* This,LONG v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static inline HRESULT ITemplatePrinter3_get_marginBottom(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static inline HRESULT ITemplatePrinter3_get_pageWidth(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_pageWidth(This,p);
}
static inline HRESULT ITemplatePrinter3_get_pageHeight(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_pageHeight(This,p);
}
static inline HRESULT ITemplatePrinter3_get_unprintableLeft(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_unprintableLeft(This,p);
}
static inline HRESULT ITemplatePrinter3_get_unprintableTop(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_unprintableTop(This,p);
}
static inline HRESULT ITemplatePrinter3_get_unprintableRight(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_unprintableRight(This,p);
}
static inline HRESULT ITemplatePrinter3_get_unprintableBottom(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->get_unprintableBottom(This,p);
}
static inline HRESULT ITemplatePrinter3_updatePageStatus(ITemplatePrinter3* This,LONG *p) {
    return This->lpVtbl->updatePageStatus(This,p);
}
/*** ITemplatePrinter2 methods ***/
static inline HRESULT ITemplatePrinter3_put_selectionEnabled(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selectionEnabled(This,v);
}
static inline HRESULT ITemplatePrinter3_get_selectionEnabled(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selectionEnabled(This,p);
}
static inline HRESULT ITemplatePrinter3_put_frameActiveEnabled(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_frameActiveEnabled(This,v);
}
static inline HRESULT ITemplatePrinter3_get_frameActiveEnabled(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_frameActiveEnabled(This,p);
}
static inline HRESULT ITemplatePrinter3_put_orientation(ITemplatePrinter3* This,BSTR v) {
    return This->lpVtbl->put_orientation(This,v);
}
static inline HRESULT ITemplatePrinter3_get_orientation(ITemplatePrinter3* This,BSTR *p) {
    return This->lpVtbl->get_orientation(This,p);
}
static inline HRESULT ITemplatePrinter3_put_usePrinterCopyCollate(ITemplatePrinter3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_usePrinterCopyCollate(This,v);
}
static inline HRESULT ITemplatePrinter3_get_usePrinterCopyCollate(ITemplatePrinter3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_usePrinterCopyCollate(This,p);
}
static inline HRESULT ITemplatePrinter3_deviceSupports(ITemplatePrinter3* This,BSTR bstrProperty,VARIANT *pvar) {
    return This->lpVtbl->deviceSupports(This,bstrProperty,pvar);
}
/*** ITemplatePrinter3 methods ***/
static inline HRESULT ITemplatePrinter3_put_headerFooterFont(ITemplatePrinter3* This,BSTR v) {
    return This->lpVtbl->put_headerFooterFont(This,v);
}
static inline HRESULT ITemplatePrinter3_get_headerFooterFont(ITemplatePrinter3* This,BSTR *p) {
    return This->lpVtbl->get_headerFooterFont(This,p);
}
static inline HRESULT ITemplatePrinter3_getPageMarginTop(ITemplatePrinter3* This,IDispatch *pageRule,LONG pageWidth,LONG pageHeight,VARIANT *pMargin) {
    return This->lpVtbl->getPageMarginTop(This,pageRule,pageWidth,pageHeight,pMargin);
}
static inline HRESULT ITemplatePrinter3_getPageMarginRight(ITemplatePrinter3* This,IDispatch *pageRule,LONG pageWidth,LONG pageHeight,VARIANT *pMargin) {
    return This->lpVtbl->getPageMarginRight(This,pageRule,pageWidth,pageHeight,pMargin);
}
static inline HRESULT ITemplatePrinter3_getPageMarginBottom(ITemplatePrinter3* This,IDispatch *pageRule,LONG pageWidth,LONG pageHeight,VARIANT *pMargin) {
    return This->lpVtbl->getPageMarginBottom(This,pageRule,pageWidth,pageHeight,pMargin);
}
static inline HRESULT ITemplatePrinter3_getPageMarginLeft(ITemplatePrinter3* This,IDispatch *pageRule,LONG pageWidth,LONG pageHeight,VARIANT *pMargin) {
    return This->lpVtbl->getPageMarginLeft(This,pageRule,pageWidth,pageHeight,pMargin);
}
static inline HRESULT ITemplatePrinter3_getPageMarginTopImportant(ITemplatePrinter3* This,IDispatch *pageRule,VARIANT_BOOL *pbImportant) {
    return This->lpVtbl->getPageMarginTopImportant(This,pageRule,pbImportant);
}
static inline HRESULT ITemplatePrinter3_getPageMarginRightImportant(ITemplatePrinter3* This,IDispatch *pageRule,VARIANT_BOOL *pbImportant) {
    return This->lpVtbl->getPageMarginRightImportant(This,pageRule,pbImportant);
}
static inline HRESULT ITemplatePrinter3_getPageMarginBottomImportant(ITemplatePrinter3* This,IDispatch *pageRule,VARIANT_BOOL *pbImportant) {
    return This->lpVtbl->getPageMarginBottomImportant(This,pageRule,pbImportant);
}
static inline HRESULT ITemplatePrinter3_getPageMarginLeftImportant(ITemplatePrinter3* This,IDispatch *pageRule,VARIANT_BOOL *pbImportant) {
    return This->lpVtbl->getPageMarginLeftImportant(This,pageRule,pbImportant);
}
#endif
#endif

#endif


#endif  /* __ITemplatePrinter3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IPrintManagerTemplatePrinter interface
 */
#ifndef __IPrintManagerTemplatePrinter_INTERFACE_DEFINED__
#define __IPrintManagerTemplatePrinter_INTERFACE_DEFINED__

DEFINE_GUID(IID_IPrintManagerTemplatePrinter, 0xf633be14, 0x9eff, 0x4c4d, 0x92,0x9e, 0x05,0x71,0x7b,0x21,0xb3,0xe6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f633be14-9eff-4c4d-929e-05717b21b3e6")
IPrintManagerTemplatePrinter : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE startPrint(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE drawPreviewPage(
        IDispatch *pElemDisp,
        LONG nPage) = 0;

    virtual HRESULT STDMETHODCALLTYPE setPageCount(
        LONG nPage) = 0;

    virtual HRESULT STDMETHODCALLTYPE invalidatePreview(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE getPrintTaskOptionValue(
        BSTR bstrKey,
        VARIANT *pvarin) = 0;

    virtual HRESULT STDMETHODCALLTYPE endPrint(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPrintManagerTemplatePrinter, 0xf633be14, 0x9eff, 0x4c4d, 0x92,0x9e, 0x05,0x71,0x7b,0x21,0xb3,0xe6)
#endif
#else
typedef struct IPrintManagerTemplatePrinterVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IPrintManagerTemplatePrinter *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IPrintManagerTemplatePrinter *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IPrintManagerTemplatePrinter *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IPrintManagerTemplatePrinter *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IPrintManagerTemplatePrinter *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IPrintManagerTemplatePrinter *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IPrintManagerTemplatePrinter *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IPrintManagerTemplatePrinter methods ***/
    HRESULT (STDMETHODCALLTYPE *startPrint)(
        IPrintManagerTemplatePrinter *This);

    HRESULT (STDMETHODCALLTYPE *drawPreviewPage)(
        IPrintManagerTemplatePrinter *This,
        IDispatch *pElemDisp,
        LONG nPage);

    HRESULT (STDMETHODCALLTYPE *setPageCount)(
        IPrintManagerTemplatePrinter *This,
        LONG nPage);

    HRESULT (STDMETHODCALLTYPE *invalidatePreview)(
        IPrintManagerTemplatePrinter *This);

    HRESULT (STDMETHODCALLTYPE *getPrintTaskOptionValue)(
        IPrintManagerTemplatePrinter *This,
        BSTR bstrKey,
        VARIANT *pvarin);

    HRESULT (STDMETHODCALLTYPE *endPrint)(
        IPrintManagerTemplatePrinter *This);

    END_INTERFACE
} IPrintManagerTemplatePrinterVtbl;

interface IPrintManagerTemplatePrinter {
    CONST_VTBL IPrintManagerTemplatePrinterVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPrintManagerTemplatePrinter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPrintManagerTemplatePrinter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPrintManagerTemplatePrinter_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IPrintManagerTemplatePrinter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IPrintManagerTemplatePrinter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IPrintManagerTemplatePrinter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IPrintManagerTemplatePrinter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IPrintManagerTemplatePrinter methods ***/
#define IPrintManagerTemplatePrinter_startPrint(This) (This)->lpVtbl->startPrint(This)
#define IPrintManagerTemplatePrinter_drawPreviewPage(This,pElemDisp,nPage) (This)->lpVtbl->drawPreviewPage(This,pElemDisp,nPage)
#define IPrintManagerTemplatePrinter_setPageCount(This,nPage) (This)->lpVtbl->setPageCount(This,nPage)
#define IPrintManagerTemplatePrinter_invalidatePreview(This) (This)->lpVtbl->invalidatePreview(This)
#define IPrintManagerTemplatePrinter_getPrintTaskOptionValue(This,bstrKey,pvarin) (This)->lpVtbl->getPrintTaskOptionValue(This,bstrKey,pvarin)
#define IPrintManagerTemplatePrinter_endPrint(This) (This)->lpVtbl->endPrint(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IPrintManagerTemplatePrinter_QueryInterface(IPrintManagerTemplatePrinter* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IPrintManagerTemplatePrinter_AddRef(IPrintManagerTemplatePrinter* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IPrintManagerTemplatePrinter_Release(IPrintManagerTemplatePrinter* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IPrintManagerTemplatePrinter_GetTypeInfoCount(IPrintManagerTemplatePrinter* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IPrintManagerTemplatePrinter_GetTypeInfo(IPrintManagerTemplatePrinter* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IPrintManagerTemplatePrinter_GetIDsOfNames(IPrintManagerTemplatePrinter* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IPrintManagerTemplatePrinter_Invoke(IPrintManagerTemplatePrinter* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IPrintManagerTemplatePrinter methods ***/
static inline HRESULT IPrintManagerTemplatePrinter_startPrint(IPrintManagerTemplatePrinter* This) {
    return This->lpVtbl->startPrint(This);
}
static inline HRESULT IPrintManagerTemplatePrinter_drawPreviewPage(IPrintManagerTemplatePrinter* This,IDispatch *pElemDisp,LONG nPage) {
    return This->lpVtbl->drawPreviewPage(This,pElemDisp,nPage);
}
static inline HRESULT IPrintManagerTemplatePrinter_setPageCount(IPrintManagerTemplatePrinter* This,LONG nPage) {
    return This->lpVtbl->setPageCount(This,nPage);
}
static inline HRESULT IPrintManagerTemplatePrinter_invalidatePreview(IPrintManagerTemplatePrinter* This) {
    return This->lpVtbl->invalidatePreview(This);
}
static inline HRESULT IPrintManagerTemplatePrinter_getPrintTaskOptionValue(IPrintManagerTemplatePrinter* This,BSTR bstrKey,VARIANT *pvarin) {
    return This->lpVtbl->getPrintTaskOptionValue(This,bstrKey,pvarin);
}
static inline HRESULT IPrintManagerTemplatePrinter_endPrint(IPrintManagerTemplatePrinter* This) {
    return This->lpVtbl->endPrint(This);
}
#endif
#endif

#endif


#endif  /* __IPrintManagerTemplatePrinter_INTERFACE_DEFINED__ */

/*****************************************************************************
 * CTemplatePrinter coclass
 */

DEFINE_GUID(CLSID_CTemplatePrinter, 0x3050f6b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f6b3-98b5-11cf-bb82-00aa00bdce0b") CTemplatePrinter;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CTemplatePrinter, 0x3050f6b3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CTemplatePrinter;
/*****************************************************************************
 * DispCPrintManagerTemplatePrinter dispinterface
 */
#ifndef __DispCPrintManagerTemplatePrinter_DISPINTERFACE_DEFINED__
#define __DispCPrintManagerTemplatePrinter_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispCPrintManagerTemplatePrinter, 0x305900e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900e9-98b5-11cf-bb82-00aa00bdce0b")
DispCPrintManagerTemplatePrinter : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispCPrintManagerTemplatePrinter, 0x305900e9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispCPrintManagerTemplatePrinterVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispCPrintManagerTemplatePrinter *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispCPrintManagerTemplatePrinter *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispCPrintManagerTemplatePrinter *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispCPrintManagerTemplatePrinter *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispCPrintManagerTemplatePrinter *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispCPrintManagerTemplatePrinter *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispCPrintManagerTemplatePrinter *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispCPrintManagerTemplatePrinterVtbl;

interface DispCPrintManagerTemplatePrinter {
    CONST_VTBL DispCPrintManagerTemplatePrinterVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispCPrintManagerTemplatePrinter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispCPrintManagerTemplatePrinter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispCPrintManagerTemplatePrinter_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispCPrintManagerTemplatePrinter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispCPrintManagerTemplatePrinter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispCPrintManagerTemplatePrinter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispCPrintManagerTemplatePrinter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispCPrintManagerTemplatePrinter_QueryInterface(DispCPrintManagerTemplatePrinter* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispCPrintManagerTemplatePrinter_AddRef(DispCPrintManagerTemplatePrinter* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispCPrintManagerTemplatePrinter_Release(DispCPrintManagerTemplatePrinter* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispCPrintManagerTemplatePrinter_GetTypeInfoCount(DispCPrintManagerTemplatePrinter* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispCPrintManagerTemplatePrinter_GetTypeInfo(DispCPrintManagerTemplatePrinter* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispCPrintManagerTemplatePrinter_GetIDsOfNames(DispCPrintManagerTemplatePrinter* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispCPrintManagerTemplatePrinter_Invoke(DispCPrintManagerTemplatePrinter* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispCPrintManagerTemplatePrinter_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * CPrintManagerTemplatePrinter coclass
 */

DEFINE_GUID(CLSID_CPrintManagerTemplatePrinter, 0x63619f54, 0x9d71, 0x4c23, 0xa0,0x8d, 0x50,0xd7,0xf1,0x8d,0xb2,0xe9);

#ifdef __cplusplus
class DECLSPEC_UUID("63619f54-9d71-4c23-a08d-50d7f18db2e9") CPrintManagerTemplatePrinter;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CPrintManagerTemplatePrinter, 0x63619f54, 0x9d71, 0x4c23, 0xa0,0x8d, 0x50,0xd7,0xf1,0x8d,0xb2,0xe9)
#endif
#endif

EXTERN_C const GUID CLSID_CPrintManagerTemplatePrinter;
typedef enum _textpathMethodtype {
    TEXTPATH_METHODTYPE_UNKNOWN = 0,
    TEXTPATH_METHODTYPE_ALIGN = 1,
    TEXTPATH_METHODTYPE_STRETCH = 2,
    textpathMethodtype_Max = 0x7fffffff
} textpathMethodtype;
typedef enum _textpathSpacingtype {
    TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
    TEXTPATH_SPACINGTYPE_AUTO = 1,
    TEXTPATH_SPACINGTYPE_EXACT = 2,
    textpathSpacingtype_Max = 0x7fffffff
} textpathSpacingtype;
/*****************************************************************************
 * ISVGTextPathElement interface
 */
#ifndef __ISVGTextPathElement_INTERFACE_DEFINED__
#define __ISVGTextPathElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISVGTextPathElement, 0x3051051f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051051f-98b5-11cf-bb82-00aa00bdce0b")
ISVGTextPathElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE putref_startOffset(
        ISVGAnimatedLength *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_startOffset(
        ISVGAnimatedLength **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_method(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_method(
        ISVGAnimatedEnumeration **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE putref_spacing(
        ISVGAnimatedEnumeration *v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_spacing(
        ISVGAnimatedEnumeration **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISVGTextPathElement, 0x3051051f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISVGTextPathElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISVGTextPathElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISVGTextPathElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISVGTextPathElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ISVGTextPathElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ISVGTextPathElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ISVGTextPathElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ISVGTextPathElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** ISVGTextPathElement methods ***/
    HRESULT (STDMETHODCALLTYPE *putref_startOffset)(
        ISVGTextPathElement *This,
        ISVGAnimatedLength *v);

    HRESULT (STDMETHODCALLTYPE *get_startOffset)(
        ISVGTextPathElement *This,
        ISVGAnimatedLength **p);

    HRESULT (STDMETHODCALLTYPE *putref_method)(
        ISVGTextPathElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_method)(
        ISVGTextPathElement *This,
        ISVGAnimatedEnumeration **p);

    HRESULT (STDMETHODCALLTYPE *putref_spacing)(
        ISVGTextPathElement *This,
        ISVGAnimatedEnumeration *v);

    HRESULT (STDMETHODCALLTYPE *get_spacing)(
        ISVGTextPathElement *This,
        ISVGAnimatedEnumeration **p);

    END_INTERFACE
} ISVGTextPathElementVtbl;

interface ISVGTextPathElement {
    CONST_VTBL ISVGTextPathElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISVGTextPathElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISVGTextPathElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISVGTextPathElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISVGTextPathElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISVGTextPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISVGTextPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISVGTextPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISVGTextPathElement methods ***/
#define ISVGTextPathElement_putref_startOffset(This,v) (This)->lpVtbl->putref_startOffset(This,v)
#define ISVGTextPathElement_get_startOffset(This,p) (This)->lpVtbl->get_startOffset(This,p)
#define ISVGTextPathElement_putref_method(This,v) (This)->lpVtbl->putref_method(This,v)
#define ISVGTextPathElement_get_method(This,p) (This)->lpVtbl->get_method(This,p)
#define ISVGTextPathElement_putref_spacing(This,v) (This)->lpVtbl->putref_spacing(This,v)
#define ISVGTextPathElement_get_spacing(This,p) (This)->lpVtbl->get_spacing(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ISVGTextPathElement_QueryInterface(ISVGTextPathElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISVGTextPathElement_AddRef(ISVGTextPathElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISVGTextPathElement_Release(ISVGTextPathElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT ISVGTextPathElement_GetTypeInfoCount(ISVGTextPathElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT ISVGTextPathElement_GetTypeInfo(ISVGTextPathElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT ISVGTextPathElement_GetIDsOfNames(ISVGTextPathElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT ISVGTextPathElement_Invoke(ISVGTextPathElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISVGTextPathElement methods ***/
static inline HRESULT ISVGTextPathElement_putref_startOffset(ISVGTextPathElement* This,ISVGAnimatedLength *v) {
    return This->lpVtbl->putref_startOffset(This,v);
}
static inline HRESULT ISVGTextPathElement_get_startOffset(ISVGTextPathElement* This,ISVGAnimatedLength **p) {
    return This->lpVtbl->get_startOffset(This,p);
}
static inline HRESULT ISVGTextPathElement_putref_method(ISVGTextPathElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_method(This,v);
}
static inline HRESULT ISVGTextPathElement_get_method(ISVGTextPathElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_method(This,p);
}
static inline HRESULT ISVGTextPathElement_putref_spacing(ISVGTextPathElement* This,ISVGAnimatedEnumeration *v) {
    return This->lpVtbl->putref_spacing(This,v);
}
static inline HRESULT ISVGTextPathElement_get_spacing(ISVGTextPathElement* This,ISVGAnimatedEnumeration **p) {
    return This->lpVtbl->get_spacing(This,p);
}
#endif
#endif

#endif


#endif  /* __ISVGTextPathElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispSVGTextPathElement dispinterface
 */
#ifndef __DispSVGTextPathElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextPathElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispSVGTextPathElement, 0x3059003d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3059003d-98b5-11cf-bb82-00aa00bdce0b")
DispSVGTextPathElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispSVGTextPathElement, 0x3059003d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispSVGTextPathElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispSVGTextPathElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispSVGTextPathElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispSVGTextPathElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispSVGTextPathElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispSVGTextPathElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispSVGTextPathElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispSVGTextPathElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispSVGTextPathElementVtbl;

interface DispSVGTextPathElement {
    CONST_VTBL DispSVGTextPathElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispSVGTextPathElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispSVGTextPathElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispSVGTextPathElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispSVGTextPathElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispSVGTextPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispSVGTextPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispSVGTextPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispSVGTextPathElement_QueryInterface(DispSVGTextPathElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispSVGTextPathElement_AddRef(DispSVGTextPathElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispSVGTextPathElement_Release(DispSVGTextPathElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispSVGTextPathElement_GetTypeInfoCount(DispSVGTextPathElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispSVGTextPathElement_GetTypeInfo(DispSVGTextPathElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispSVGTextPathElement_GetIDsOfNames(DispSVGTextPathElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispSVGTextPathElement_Invoke(DispSVGTextPathElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispSVGTextPathElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * SVGTextPathElement coclass
 */

DEFINE_GUID(CLSID_SVGTextPathElement, 0x305105eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305105eb-98b5-11cf-bb82-00aa00bdce0b") SVGTextPathElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SVGTextPathElement, 0x305105eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSVGTextPathElement;
/*****************************************************************************
 * IDOMXmlSerializer interface
 */
#ifndef __IDOMXmlSerializer_INTERFACE_DEFINED__
#define __IDOMXmlSerializer_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMXmlSerializer, 0x3051077d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051077d-98b5-11cf-bb82-00aa00bdce0b")
IDOMXmlSerializer : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE serializeToString(
        IHTMLDOMNode *pNode,
        BSTR *pString) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMXmlSerializer, 0x3051077d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMXmlSerializerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMXmlSerializer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMXmlSerializer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMXmlSerializer *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMXmlSerializer *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMXmlSerializer *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMXmlSerializer *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMXmlSerializer *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMXmlSerializer methods ***/
    HRESULT (STDMETHODCALLTYPE *serializeToString)(
        IDOMXmlSerializer *This,
        IHTMLDOMNode *pNode,
        BSTR *pString);

    END_INTERFACE
} IDOMXmlSerializerVtbl;

interface IDOMXmlSerializer {
    CONST_VTBL IDOMXmlSerializerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMXmlSerializer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMXmlSerializer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMXmlSerializer_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMXmlSerializer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMXmlSerializer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMXmlSerializer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMXmlSerializer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMXmlSerializer methods ***/
#define IDOMXmlSerializer_serializeToString(This,pNode,pString) (This)->lpVtbl->serializeToString(This,pNode,pString)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMXmlSerializer_QueryInterface(IDOMXmlSerializer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMXmlSerializer_AddRef(IDOMXmlSerializer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMXmlSerializer_Release(IDOMXmlSerializer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMXmlSerializer_GetTypeInfoCount(IDOMXmlSerializer* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMXmlSerializer_GetTypeInfo(IDOMXmlSerializer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMXmlSerializer_GetIDsOfNames(IDOMXmlSerializer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMXmlSerializer_Invoke(IDOMXmlSerializer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMXmlSerializer methods ***/
static inline HRESULT IDOMXmlSerializer_serializeToString(IDOMXmlSerializer* This,IHTMLDOMNode *pNode,BSTR *pString) {
    return This->lpVtbl->serializeToString(This,pNode,pString);
}
#endif
#endif

#endif


#endif  /* __IDOMXmlSerializer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDOMXmlSerializerFactory interface
 */
#ifndef __IDOMXmlSerializerFactory_INTERFACE_DEFINED__
#define __IDOMXmlSerializerFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMXmlSerializerFactory, 0x3051077f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051077f-98b5-11cf-bb82-00aa00bdce0b")
IDOMXmlSerializerFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE create(
        IDOMXmlSerializer **a) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMXmlSerializerFactory, 0x3051077f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMXmlSerializerFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMXmlSerializerFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMXmlSerializerFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMXmlSerializerFactory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMXmlSerializerFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMXmlSerializerFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMXmlSerializerFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMXmlSerializerFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMXmlSerializerFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *create)(
        IDOMXmlSerializerFactory *This,
        IDOMXmlSerializer **a);

    END_INTERFACE
} IDOMXmlSerializerFactoryVtbl;

interface IDOMXmlSerializerFactory {
    CONST_VTBL IDOMXmlSerializerFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMXmlSerializerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMXmlSerializerFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMXmlSerializerFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMXmlSerializerFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMXmlSerializerFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMXmlSerializerFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMXmlSerializerFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMXmlSerializerFactory methods ***/
#define IDOMXmlSerializerFactory_create(This,a) (This)->lpVtbl->create(This,a)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMXmlSerializerFactory_QueryInterface(IDOMXmlSerializerFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMXmlSerializerFactory_AddRef(IDOMXmlSerializerFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMXmlSerializerFactory_Release(IDOMXmlSerializerFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMXmlSerializerFactory_GetTypeInfoCount(IDOMXmlSerializerFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMXmlSerializerFactory_GetTypeInfo(IDOMXmlSerializerFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMXmlSerializerFactory_GetIDsOfNames(IDOMXmlSerializerFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMXmlSerializerFactory_Invoke(IDOMXmlSerializerFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMXmlSerializerFactory methods ***/
static inline HRESULT IDOMXmlSerializerFactory_create(IDOMXmlSerializerFactory* This,IDOMXmlSerializer **a) {
    return This->lpVtbl->create(This,a);
}
#endif
#endif

#endif


#endif  /* __IDOMXmlSerializerFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDOMParser interface
 */
#ifndef __IDOMParser_INTERFACE_DEFINED__
#define __IDOMParser_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMParser, 0x30510781, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510781-98b5-11cf-bb82-00aa00bdce0b")
IDOMParser : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE parseFromString(
        BSTR xmlSource,
        BSTR mimeType,
        IHTMLDocument2 **ppNode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMParser, 0x30510781, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMParserVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMParser *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMParser *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMParser *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMParser *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMParser *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMParser *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMParser *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMParser methods ***/
    HRESULT (STDMETHODCALLTYPE *parseFromString)(
        IDOMParser *This,
        BSTR xmlSource,
        BSTR mimeType,
        IHTMLDocument2 **ppNode);

    END_INTERFACE
} IDOMParserVtbl;

interface IDOMParser {
    CONST_VTBL IDOMParserVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMParser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMParser_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMParser_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMParser_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMParser_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMParser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMParser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMParser methods ***/
#define IDOMParser_parseFromString(This,xmlSource,mimeType,ppNode) (This)->lpVtbl->parseFromString(This,xmlSource,mimeType,ppNode)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMParser_QueryInterface(IDOMParser* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMParser_AddRef(IDOMParser* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMParser_Release(IDOMParser* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMParser_GetTypeInfoCount(IDOMParser* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMParser_GetTypeInfo(IDOMParser* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMParser_GetIDsOfNames(IDOMParser* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMParser_Invoke(IDOMParser* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMParser methods ***/
static inline HRESULT IDOMParser_parseFromString(IDOMParser* This,BSTR xmlSource,BSTR mimeType,IHTMLDocument2 **ppNode) {
    return This->lpVtbl->parseFromString(This,xmlSource,mimeType,ppNode);
}
#endif
#endif

#endif


#endif  /* __IDOMParser_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDOMParserFactory interface
 */
#ifndef __IDOMParserFactory_INTERFACE_DEFINED__
#define __IDOMParserFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMParserFactory, 0x30510783, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510783-98b5-11cf-bb82-00aa00bdce0b")
IDOMParserFactory : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE create(
        IDOMParser **a) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMParserFactory, 0x30510783, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMParserFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMParserFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMParserFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMParserFactory *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMParserFactory *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMParserFactory *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMParserFactory *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMParserFactory *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMParserFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *create)(
        IDOMParserFactory *This,
        IDOMParser **a);

    END_INTERFACE
} IDOMParserFactoryVtbl;

interface IDOMParserFactory {
    CONST_VTBL IDOMParserFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMParserFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMParserFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMParserFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMParserFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMParserFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMParserFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMParserFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMParserFactory methods ***/
#define IDOMParserFactory_create(This,a) (This)->lpVtbl->create(This,a)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMParserFactory_QueryInterface(IDOMParserFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMParserFactory_AddRef(IDOMParserFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMParserFactory_Release(IDOMParserFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMParserFactory_GetTypeInfoCount(IDOMParserFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMParserFactory_GetTypeInfo(IDOMParserFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMParserFactory_GetIDsOfNames(IDOMParserFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMParserFactory_Invoke(IDOMParserFactory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMParserFactory methods ***/
static inline HRESULT IDOMParserFactory_create(IDOMParserFactory* This,IDOMParser **a) {
    return This->lpVtbl->create(This,a);
}
#endif
#endif

#endif


#endif  /* __IDOMParserFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispXMLSerializer dispinterface
 */
#ifndef __DispXMLSerializer_DISPINTERFACE_DEFINED__
#define __DispXMLSerializer_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispXMLSerializer, 0x305900ad, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900ad-98b5-11cf-bb82-00aa00bdce0b")
DispXMLSerializer : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispXMLSerializer, 0x305900ad, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispXMLSerializerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispXMLSerializer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispXMLSerializer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispXMLSerializer *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispXMLSerializer *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispXMLSerializer *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispXMLSerializer *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispXMLSerializer *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispXMLSerializerVtbl;

interface DispXMLSerializer {
    CONST_VTBL DispXMLSerializerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispXMLSerializer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispXMLSerializer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispXMLSerializer_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispXMLSerializer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispXMLSerializer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispXMLSerializer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispXMLSerializer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispXMLSerializer_QueryInterface(DispXMLSerializer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispXMLSerializer_AddRef(DispXMLSerializer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispXMLSerializer_Release(DispXMLSerializer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispXMLSerializer_GetTypeInfoCount(DispXMLSerializer* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispXMLSerializer_GetTypeInfo(DispXMLSerializer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispXMLSerializer_GetIDsOfNames(DispXMLSerializer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispXMLSerializer_Invoke(DispXMLSerializer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispXMLSerializer_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * XMLSerializer coclass
 */

DEFINE_GUID(CLSID_XMLSerializer, 0x3051077e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3051077e-98b5-11cf-bb82-00aa00bdce0b") XMLSerializer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(XMLSerializer, 0x3051077e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMXmlSerializer;
/*****************************************************************************
 * HTMLDOMXmlSerializerFactory coclass
 */

DEFINE_GUID(CLSID_HTMLDOMXmlSerializerFactory, 0x30510780, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510780-98b5-11cf-bb82-00aa00bdce0b") HTMLDOMXmlSerializerFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDOMXmlSerializerFactory, 0x30510780, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMXmlSerializerFactory;
/*****************************************************************************
 * DispDOMParser dispinterface
 */
#ifndef __DispDOMParser_DISPINTERFACE_DEFINED__
#define __DispDOMParser_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMParser, 0x305900ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900ae-98b5-11cf-bb82-00aa00bdce0b")
DispDOMParser : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMParser, 0x305900ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMParserVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMParser *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMParser *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMParser *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMParser *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMParser *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMParser *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMParser *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMParserVtbl;

interface DispDOMParser {
    CONST_VTBL DispDOMParserVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMParser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMParser_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMParser_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMParser_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMParser_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMParser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMParser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMParser_QueryInterface(DispDOMParser* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMParser_AddRef(DispDOMParser* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMParser_Release(DispDOMParser* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMParser_GetTypeInfoCount(DispDOMParser* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMParser_GetTypeInfo(DispDOMParser* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMParser_GetIDsOfNames(DispDOMParser* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMParser_Invoke(DispDOMParser* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMParser_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMParser coclass
 */

DEFINE_GUID(CLSID_DOMParser, 0x30510782, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510782-98b5-11cf-bb82-00aa00bdce0b") DOMParser;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMParser, 0x30510782, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMParser;
/*****************************************************************************
 * DOMParserFactory coclass
 */

DEFINE_GUID(CLSID_DOMParserFactory, 0x30510784, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510784-98b5-11cf-bb82-00aa00bdce0b") DOMParserFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMParserFactory, 0x30510784, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMParserFactory;
/*****************************************************************************
 * DispHTMLSemanticElement dispinterface
 */
#ifndef __DispHTMLSemanticElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSemanticElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLSemanticElement, 0x305900ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900ba-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLSemanticElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLSemanticElement, 0x305900ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLSemanticElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLSemanticElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLSemanticElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLSemanticElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLSemanticElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLSemanticElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLSemanticElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLSemanticElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLSemanticElementVtbl;

interface DispHTMLSemanticElement {
    CONST_VTBL DispHTMLSemanticElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLSemanticElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLSemanticElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLSemanticElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLSemanticElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLSemanticElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLSemanticElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLSemanticElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLSemanticElement_QueryInterface(DispHTMLSemanticElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLSemanticElement_AddRef(DispHTMLSemanticElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLSemanticElement_Release(DispHTMLSemanticElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLSemanticElement_GetTypeInfoCount(DispHTMLSemanticElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLSemanticElement_GetTypeInfo(DispHTMLSemanticElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLSemanticElement_GetIDsOfNames(DispHTMLSemanticElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLSemanticElement_Invoke(DispHTMLSemanticElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLSemanticElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLSemanticElement coclass
 */

DEFINE_GUID(CLSID_HTMLSemanticElement, 0x305107b0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107b0-98b5-11cf-bb82-00aa00bdce0b") HTMLSemanticElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLSemanticElement, 0x305107b0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CSemanticElement;
/*****************************************************************************
 * IHTMLProgressElement interface
 */
#ifndef __IHTMLProgressElement_INTERFACE_DEFINED__
#define __IHTMLProgressElement_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLProgressElement, 0x3050f2d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f2d6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLProgressElement : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_value(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_max(
        float v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_max(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_form(
        IHTMLFormElement **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLProgressElement, 0x3050f2d6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLProgressElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLProgressElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLProgressElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLProgressElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLProgressElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLProgressElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLProgressElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLProgressElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLProgressElement methods ***/
    HRESULT (STDMETHODCALLTYPE *put_value)(
        IHTMLProgressElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_value)(
        IHTMLProgressElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *put_max)(
        IHTMLProgressElement *This,
        float v);

    HRESULT (STDMETHODCALLTYPE *get_max)(
        IHTMLProgressElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IHTMLProgressElement *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *get_form)(
        IHTMLProgressElement *This,
        IHTMLFormElement **p);

    END_INTERFACE
} IHTMLProgressElementVtbl;

interface IHTMLProgressElement {
    CONST_VTBL IHTMLProgressElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLProgressElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLProgressElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLProgressElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLProgressElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLProgressElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLProgressElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLProgressElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLProgressElement methods ***/
#define IHTMLProgressElement_put_value(This,v) (This)->lpVtbl->put_value(This,v)
#define IHTMLProgressElement_get_value(This,p) (This)->lpVtbl->get_value(This,p)
#define IHTMLProgressElement_put_max(This,v) (This)->lpVtbl->put_max(This,v)
#define IHTMLProgressElement_get_max(This,p) (This)->lpVtbl->get_max(This,p)
#define IHTMLProgressElement_get_position(This,p) (This)->lpVtbl->get_position(This,p)
#define IHTMLProgressElement_get_form(This,p) (This)->lpVtbl->get_form(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLProgressElement_QueryInterface(IHTMLProgressElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLProgressElement_AddRef(IHTMLProgressElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLProgressElement_Release(IHTMLProgressElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLProgressElement_GetTypeInfoCount(IHTMLProgressElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLProgressElement_GetTypeInfo(IHTMLProgressElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLProgressElement_GetIDsOfNames(IHTMLProgressElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLProgressElement_Invoke(IHTMLProgressElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLProgressElement methods ***/
static inline HRESULT IHTMLProgressElement_put_value(IHTMLProgressElement* This,float v) {
    return This->lpVtbl->put_value(This,v);
}
static inline HRESULT IHTMLProgressElement_get_value(IHTMLProgressElement* This,float *p) {
    return This->lpVtbl->get_value(This,p);
}
static inline HRESULT IHTMLProgressElement_put_max(IHTMLProgressElement* This,float v) {
    return This->lpVtbl->put_max(This,v);
}
static inline HRESULT IHTMLProgressElement_get_max(IHTMLProgressElement* This,float *p) {
    return This->lpVtbl->get_max(This,p);
}
static inline HRESULT IHTMLProgressElement_get_position(IHTMLProgressElement* This,float *p) {
    return This->lpVtbl->get_position(This,p);
}
static inline HRESULT IHTMLProgressElement_get_form(IHTMLProgressElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLProgressElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLProgressElement dispinterface
 */
#ifndef __DispHTMLProgressElement_DISPINTERFACE_DEFINED__
#define __DispHTMLProgressElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLProgressElement, 0x305900af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900af-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLProgressElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLProgressElement, 0x305900af, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLProgressElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLProgressElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLProgressElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLProgressElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLProgressElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLProgressElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLProgressElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLProgressElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLProgressElementVtbl;

interface DispHTMLProgressElement {
    CONST_VTBL DispHTMLProgressElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLProgressElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLProgressElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLProgressElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLProgressElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLProgressElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLProgressElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLProgressElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLProgressElement_QueryInterface(DispHTMLProgressElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLProgressElement_AddRef(DispHTMLProgressElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLProgressElement_Release(DispHTMLProgressElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLProgressElement_GetTypeInfoCount(DispHTMLProgressElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLProgressElement_GetTypeInfo(DispHTMLProgressElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLProgressElement_GetIDsOfNames(DispHTMLProgressElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLProgressElement_Invoke(DispHTMLProgressElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLProgressElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLProgressElement coclass
 */

DEFINE_GUID(CLSID_HTMLProgressElement, 0x3050f2d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2d5-98b5-11cf-bb82-00aa00bdce0b") HTMLProgressElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLProgressElement, 0x3050f2d5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CProgressElement;
/*****************************************************************************
 * IDOMMSTransitionEvent interface
 */
#ifndef __IDOMMSTransitionEvent_INTERFACE_DEFINED__
#define __IDOMMSTransitionEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMMSTransitionEvent, 0x305107b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107b5-98b5-11cf-bb82-00aa00bdce0b")
IDOMMSTransitionEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_propertyName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_elapsedTime(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initMSTransitionEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR propertyName,
        float elapsedTime) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMMSTransitionEvent, 0x305107b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMMSTransitionEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMMSTransitionEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMMSTransitionEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMMSTransitionEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMMSTransitionEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMMSTransitionEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMMSTransitionEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMMSTransitionEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMMSTransitionEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_propertyName)(
        IDOMMSTransitionEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_elapsedTime)(
        IDOMMSTransitionEvent *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *initMSTransitionEvent)(
        IDOMMSTransitionEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR propertyName,
        float elapsedTime);

    END_INTERFACE
} IDOMMSTransitionEventVtbl;

interface IDOMMSTransitionEvent {
    CONST_VTBL IDOMMSTransitionEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMMSTransitionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMMSTransitionEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMMSTransitionEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMMSTransitionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMMSTransitionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMMSTransitionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMMSTransitionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMMSTransitionEvent methods ***/
#define IDOMMSTransitionEvent_get_propertyName(This,p) (This)->lpVtbl->get_propertyName(This,p)
#define IDOMMSTransitionEvent_get_elapsedTime(This,p) (This)->lpVtbl->get_elapsedTime(This,p)
#define IDOMMSTransitionEvent_initMSTransitionEvent(This,eventType,canBubble,cancelable,propertyName,elapsedTime) (This)->lpVtbl->initMSTransitionEvent(This,eventType,canBubble,cancelable,propertyName,elapsedTime)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMMSTransitionEvent_QueryInterface(IDOMMSTransitionEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMMSTransitionEvent_AddRef(IDOMMSTransitionEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMMSTransitionEvent_Release(IDOMMSTransitionEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMMSTransitionEvent_GetTypeInfoCount(IDOMMSTransitionEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMMSTransitionEvent_GetTypeInfo(IDOMMSTransitionEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMMSTransitionEvent_GetIDsOfNames(IDOMMSTransitionEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMMSTransitionEvent_Invoke(IDOMMSTransitionEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMMSTransitionEvent methods ***/
static inline HRESULT IDOMMSTransitionEvent_get_propertyName(IDOMMSTransitionEvent* This,BSTR *p) {
    return This->lpVtbl->get_propertyName(This,p);
}
static inline HRESULT IDOMMSTransitionEvent_get_elapsedTime(IDOMMSTransitionEvent* This,float *p) {
    return This->lpVtbl->get_elapsedTime(This,p);
}
static inline HRESULT IDOMMSTransitionEvent_initMSTransitionEvent(IDOMMSTransitionEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,BSTR propertyName,float elapsedTime) {
    return This->lpVtbl->initMSTransitionEvent(This,eventType,canBubble,cancelable,propertyName,elapsedTime);
}
#endif
#endif

#endif


#endif  /* __IDOMMSTransitionEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMMSTransitionEvent dispinterface
 */
#ifndef __DispDOMMSTransitionEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMSTransitionEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMMSTransitionEvent, 0x305900bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900bb-98b5-11cf-bb82-00aa00bdce0b")
DispDOMMSTransitionEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMMSTransitionEvent, 0x305900bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMMSTransitionEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMMSTransitionEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMMSTransitionEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMMSTransitionEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMMSTransitionEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMMSTransitionEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMMSTransitionEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMMSTransitionEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMMSTransitionEventVtbl;

interface DispDOMMSTransitionEvent {
    CONST_VTBL DispDOMMSTransitionEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMMSTransitionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMMSTransitionEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMMSTransitionEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMMSTransitionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMMSTransitionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMMSTransitionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMMSTransitionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMMSTransitionEvent_QueryInterface(DispDOMMSTransitionEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMMSTransitionEvent_AddRef(DispDOMMSTransitionEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMMSTransitionEvent_Release(DispDOMMSTransitionEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMMSTransitionEvent_GetTypeInfoCount(DispDOMMSTransitionEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMMSTransitionEvent_GetTypeInfo(DispDOMMSTransitionEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMMSTransitionEvent_GetIDsOfNames(DispDOMMSTransitionEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMMSTransitionEvent_Invoke(DispDOMMSTransitionEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMMSTransitionEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMMSTransitionEvent coclass
 */

DEFINE_GUID(CLSID_DOMMSTransitionEvent, 0x305107b6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107b6-98b5-11cf-bb82-00aa00bdce0b") DOMMSTransitionEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMMSTransitionEvent, 0x305107b6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMMSTransitionEvent;
/*****************************************************************************
 * IDOMMSAnimationEvent interface
 */
#ifndef __IDOMMSAnimationEvent_INTERFACE_DEFINED__
#define __IDOMMSAnimationEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMMSAnimationEvent, 0x305107b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107b7-98b5-11cf-bb82-00aa00bdce0b")
IDOMMSAnimationEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_animationName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_elapsedTime(
        float *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initMSAnimationEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR animationName,
        float elapsedTime) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMMSAnimationEvent, 0x305107b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMMSAnimationEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMMSAnimationEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMMSAnimationEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMMSAnimationEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMMSAnimationEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMMSAnimationEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMMSAnimationEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMMSAnimationEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMMSAnimationEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_animationName)(
        IDOMMSAnimationEvent *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_elapsedTime)(
        IDOMMSAnimationEvent *This,
        float *p);

    HRESULT (STDMETHODCALLTYPE *initMSAnimationEvent)(
        IDOMMSAnimationEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        BSTR animationName,
        float elapsedTime);

    END_INTERFACE
} IDOMMSAnimationEventVtbl;

interface IDOMMSAnimationEvent {
    CONST_VTBL IDOMMSAnimationEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMMSAnimationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMMSAnimationEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMMSAnimationEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMMSAnimationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMMSAnimationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMMSAnimationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMMSAnimationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMMSAnimationEvent methods ***/
#define IDOMMSAnimationEvent_get_animationName(This,p) (This)->lpVtbl->get_animationName(This,p)
#define IDOMMSAnimationEvent_get_elapsedTime(This,p) (This)->lpVtbl->get_elapsedTime(This,p)
#define IDOMMSAnimationEvent_initMSAnimationEvent(This,eventType,canBubble,cancelable,animationName,elapsedTime) (This)->lpVtbl->initMSAnimationEvent(This,eventType,canBubble,cancelable,animationName,elapsedTime)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMMSAnimationEvent_QueryInterface(IDOMMSAnimationEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMMSAnimationEvent_AddRef(IDOMMSAnimationEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMMSAnimationEvent_Release(IDOMMSAnimationEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMMSAnimationEvent_GetTypeInfoCount(IDOMMSAnimationEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMMSAnimationEvent_GetTypeInfo(IDOMMSAnimationEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMMSAnimationEvent_GetIDsOfNames(IDOMMSAnimationEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMMSAnimationEvent_Invoke(IDOMMSAnimationEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMMSAnimationEvent methods ***/
static inline HRESULT IDOMMSAnimationEvent_get_animationName(IDOMMSAnimationEvent* This,BSTR *p) {
    return This->lpVtbl->get_animationName(This,p);
}
static inline HRESULT IDOMMSAnimationEvent_get_elapsedTime(IDOMMSAnimationEvent* This,float *p) {
    return This->lpVtbl->get_elapsedTime(This,p);
}
static inline HRESULT IDOMMSAnimationEvent_initMSAnimationEvent(IDOMMSAnimationEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,BSTR animationName,float elapsedTime) {
    return This->lpVtbl->initMSAnimationEvent(This,eventType,canBubble,cancelable,animationName,elapsedTime);
}
#endif
#endif

#endif


#endif  /* __IDOMMSAnimationEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMMSAnimationEvent dispinterface
 */
#ifndef __DispDOMMSAnimationEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMSAnimationEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMMSAnimationEvent, 0x305900bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900bc-98b5-11cf-bb82-00aa00bdce0b")
DispDOMMSAnimationEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMMSAnimationEvent, 0x305900bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMMSAnimationEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMMSAnimationEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMMSAnimationEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMMSAnimationEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMMSAnimationEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMMSAnimationEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMMSAnimationEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMMSAnimationEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMMSAnimationEventVtbl;

interface DispDOMMSAnimationEvent {
    CONST_VTBL DispDOMMSAnimationEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMMSAnimationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMMSAnimationEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMMSAnimationEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMMSAnimationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMMSAnimationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMMSAnimationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMMSAnimationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMMSAnimationEvent_QueryInterface(DispDOMMSAnimationEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMMSAnimationEvent_AddRef(DispDOMMSAnimationEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMMSAnimationEvent_Release(DispDOMMSAnimationEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMMSAnimationEvent_GetTypeInfoCount(DispDOMMSAnimationEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMMSAnimationEvent_GetTypeInfo(DispDOMMSAnimationEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMMSAnimationEvent_GetIDsOfNames(DispDOMMSAnimationEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMMSAnimationEvent_Invoke(DispDOMMSAnimationEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMMSAnimationEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMMSAnimationEvent coclass
 */

DEFINE_GUID(CLSID_DOMMSAnimationEvent, 0x305107b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107b8-98b5-11cf-bb82-00aa00bdce0b") DOMMSAnimationEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMMSAnimationEvent, 0x305107b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMMSAnimationEvent;
/*****************************************************************************
 * IWebGeolocation interface
 */
#ifndef __IWebGeolocation_INTERFACE_DEFINED__
#define __IWebGeolocation_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebGeolocation, 0x305107c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107c5-98b5-11cf-bb82-00aa00bdce0b")
IWebGeolocation : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE getCurrentPosition(
        IDispatch *successCallback,
        IDispatch *errorCallback = 0,
        IDispatch *options = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE watchPosition(
        IDispatch *successCallback,
        IDispatch *errorCallback = 0,
        IDispatch *options = 0,
        LONG *watchId = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearWatch(
        LONG watchId) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebGeolocation, 0x305107c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IWebGeolocationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWebGeolocation *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWebGeolocation *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWebGeolocation *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IWebGeolocation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IWebGeolocation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IWebGeolocation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IWebGeolocation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IWebGeolocation methods ***/
    HRESULT (STDMETHODCALLTYPE *getCurrentPosition)(
        IWebGeolocation *This,
        IDispatch *successCallback,
        IDispatch *errorCallback,
        IDispatch *options);

    HRESULT (STDMETHODCALLTYPE *watchPosition)(
        IWebGeolocation *This,
        IDispatch *successCallback,
        IDispatch *errorCallback,
        IDispatch *options,
        LONG *watchId);

    HRESULT (STDMETHODCALLTYPE *clearWatch)(
        IWebGeolocation *This,
        LONG watchId);

    END_INTERFACE
} IWebGeolocationVtbl;

interface IWebGeolocation {
    CONST_VTBL IWebGeolocationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebGeolocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebGeolocation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebGeolocation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IWebGeolocation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IWebGeolocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWebGeolocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWebGeolocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IWebGeolocation methods ***/
#define IWebGeolocation_getCurrentPosition(This,successCallback,errorCallback,options) (This)->lpVtbl->getCurrentPosition(This,successCallback,errorCallback,options)
#define IWebGeolocation_watchPosition(This,successCallback,errorCallback,options,watchId) (This)->lpVtbl->watchPosition(This,successCallback,errorCallback,options,watchId)
#define IWebGeolocation_clearWatch(This,watchId) (This)->lpVtbl->clearWatch(This,watchId)
#else
/*** IUnknown methods ***/
static inline HRESULT IWebGeolocation_QueryInterface(IWebGeolocation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IWebGeolocation_AddRef(IWebGeolocation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IWebGeolocation_Release(IWebGeolocation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IWebGeolocation_GetTypeInfoCount(IWebGeolocation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IWebGeolocation_GetTypeInfo(IWebGeolocation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IWebGeolocation_GetIDsOfNames(IWebGeolocation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IWebGeolocation_Invoke(IWebGeolocation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IWebGeolocation methods ***/
static inline HRESULT IWebGeolocation_getCurrentPosition(IWebGeolocation* This,IDispatch *successCallback,IDispatch *errorCallback,IDispatch *options) {
    return This->lpVtbl->getCurrentPosition(This,successCallback,errorCallback,options);
}
static inline HRESULT IWebGeolocation_watchPosition(IWebGeolocation* This,IDispatch *successCallback,IDispatch *errorCallback,IDispatch *options,LONG *watchId) {
    return This->lpVtbl->watchPosition(This,successCallback,errorCallback,options,watchId);
}
static inline HRESULT IWebGeolocation_clearWatch(IWebGeolocation* This,LONG watchId) {
    return This->lpVtbl->clearWatch(This,watchId);
}
#endif
#endif

#endif


#endif  /* __IWebGeolocation_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWebGeocoordinates interface
 */
#ifndef __IWebGeocoordinates_INTERFACE_DEFINED__
#define __IWebGeocoordinates_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebGeocoordinates, 0x305107c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107c7-98b5-11cf-bb82-00aa00bdce0b")
IWebGeocoordinates : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_latitude(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_longitude(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altitude(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accuracy(
        double *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_altitudeAccuracy(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_heading(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_speed(
        VARIANT *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebGeocoordinates, 0x305107c7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IWebGeocoordinatesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWebGeocoordinates *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWebGeocoordinates *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWebGeocoordinates *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IWebGeocoordinates *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IWebGeocoordinates *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IWebGeocoordinates *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IWebGeocoordinates *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IWebGeocoordinates methods ***/
    HRESULT (STDMETHODCALLTYPE *get_latitude)(
        IWebGeocoordinates *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *get_longitude)(
        IWebGeocoordinates *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *get_altitude)(
        IWebGeocoordinates *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_accuracy)(
        IWebGeocoordinates *This,
        double *p);

    HRESULT (STDMETHODCALLTYPE *get_altitudeAccuracy)(
        IWebGeocoordinates *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_heading)(
        IWebGeocoordinates *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_speed)(
        IWebGeocoordinates *This,
        VARIANT *p);

    END_INTERFACE
} IWebGeocoordinatesVtbl;

interface IWebGeocoordinates {
    CONST_VTBL IWebGeocoordinatesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebGeocoordinates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebGeocoordinates_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebGeocoordinates_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IWebGeocoordinates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IWebGeocoordinates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWebGeocoordinates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWebGeocoordinates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IWebGeocoordinates methods ***/
#define IWebGeocoordinates_get_latitude(This,p) (This)->lpVtbl->get_latitude(This,p)
#define IWebGeocoordinates_get_longitude(This,p) (This)->lpVtbl->get_longitude(This,p)
#define IWebGeocoordinates_get_altitude(This,p) (This)->lpVtbl->get_altitude(This,p)
#define IWebGeocoordinates_get_accuracy(This,p) (This)->lpVtbl->get_accuracy(This,p)
#define IWebGeocoordinates_get_altitudeAccuracy(This,p) (This)->lpVtbl->get_altitudeAccuracy(This,p)
#define IWebGeocoordinates_get_heading(This,p) (This)->lpVtbl->get_heading(This,p)
#define IWebGeocoordinates_get_speed(This,p) (This)->lpVtbl->get_speed(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IWebGeocoordinates_QueryInterface(IWebGeocoordinates* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IWebGeocoordinates_AddRef(IWebGeocoordinates* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IWebGeocoordinates_Release(IWebGeocoordinates* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IWebGeocoordinates_GetTypeInfoCount(IWebGeocoordinates* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IWebGeocoordinates_GetTypeInfo(IWebGeocoordinates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IWebGeocoordinates_GetIDsOfNames(IWebGeocoordinates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IWebGeocoordinates_Invoke(IWebGeocoordinates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IWebGeocoordinates methods ***/
static inline HRESULT IWebGeocoordinates_get_latitude(IWebGeocoordinates* This,double *p) {
    return This->lpVtbl->get_latitude(This,p);
}
static inline HRESULT IWebGeocoordinates_get_longitude(IWebGeocoordinates* This,double *p) {
    return This->lpVtbl->get_longitude(This,p);
}
static inline HRESULT IWebGeocoordinates_get_altitude(IWebGeocoordinates* This,VARIANT *p) {
    return This->lpVtbl->get_altitude(This,p);
}
static inline HRESULT IWebGeocoordinates_get_accuracy(IWebGeocoordinates* This,double *p) {
    return This->lpVtbl->get_accuracy(This,p);
}
static inline HRESULT IWebGeocoordinates_get_altitudeAccuracy(IWebGeocoordinates* This,VARIANT *p) {
    return This->lpVtbl->get_altitudeAccuracy(This,p);
}
static inline HRESULT IWebGeocoordinates_get_heading(IWebGeocoordinates* This,VARIANT *p) {
    return This->lpVtbl->get_heading(This,p);
}
static inline HRESULT IWebGeocoordinates_get_speed(IWebGeocoordinates* This,VARIANT *p) {
    return This->lpVtbl->get_speed(This,p);
}
#endif
#endif

#endif


#endif  /* __IWebGeocoordinates_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWebGeopositionError interface
 */
#ifndef __IWebGeopositionError_INTERFACE_DEFINED__
#define __IWebGeopositionError_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebGeopositionError, 0x305107c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107c9-98b5-11cf-bb82-00aa00bdce0b")
IWebGeopositionError : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_code(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_message(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebGeopositionError, 0x305107c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IWebGeopositionErrorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWebGeopositionError *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWebGeopositionError *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWebGeopositionError *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IWebGeopositionError *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IWebGeopositionError *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IWebGeopositionError *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IWebGeopositionError *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IWebGeopositionError methods ***/
    HRESULT (STDMETHODCALLTYPE *get_code)(
        IWebGeopositionError *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_message)(
        IWebGeopositionError *This,
        BSTR *p);

    END_INTERFACE
} IWebGeopositionErrorVtbl;

interface IWebGeopositionError {
    CONST_VTBL IWebGeopositionErrorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebGeopositionError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebGeopositionError_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebGeopositionError_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IWebGeopositionError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IWebGeopositionError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWebGeopositionError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWebGeopositionError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IWebGeopositionError methods ***/
#define IWebGeopositionError_get_code(This,p) (This)->lpVtbl->get_code(This,p)
#define IWebGeopositionError_get_message(This,p) (This)->lpVtbl->get_message(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IWebGeopositionError_QueryInterface(IWebGeopositionError* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IWebGeopositionError_AddRef(IWebGeopositionError* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IWebGeopositionError_Release(IWebGeopositionError* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IWebGeopositionError_GetTypeInfoCount(IWebGeopositionError* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IWebGeopositionError_GetTypeInfo(IWebGeopositionError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IWebGeopositionError_GetIDsOfNames(IWebGeopositionError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IWebGeopositionError_Invoke(IWebGeopositionError* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IWebGeopositionError methods ***/
static inline HRESULT IWebGeopositionError_get_code(IWebGeopositionError* This,LONG *p) {
    return This->lpVtbl->get_code(This,p);
}
static inline HRESULT IWebGeopositionError_get_message(IWebGeopositionError* This,BSTR *p) {
    return This->lpVtbl->get_message(This,p);
}
#endif
#endif

#endif


#endif  /* __IWebGeopositionError_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWebGeoposition interface
 */
#ifndef __IWebGeoposition_INTERFACE_DEFINED__
#define __IWebGeoposition_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebGeoposition, 0x305107cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107cd-98b5-11cf-bb82-00aa00bdce0b")
IWebGeoposition : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_coords(
        IWebGeocoordinates **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_timestamp(
        ULONGLONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebGeoposition, 0x305107cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IWebGeopositionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWebGeoposition *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWebGeoposition *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWebGeoposition *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IWebGeoposition *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IWebGeoposition *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IWebGeoposition *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IWebGeoposition *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IWebGeoposition methods ***/
    HRESULT (STDMETHODCALLTYPE *get_coords)(
        IWebGeoposition *This,
        IWebGeocoordinates **p);

    HRESULT (STDMETHODCALLTYPE *get_timestamp)(
        IWebGeoposition *This,
        ULONGLONG *p);

    END_INTERFACE
} IWebGeopositionVtbl;

interface IWebGeoposition {
    CONST_VTBL IWebGeopositionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebGeoposition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebGeoposition_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebGeoposition_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IWebGeoposition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IWebGeoposition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWebGeoposition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWebGeoposition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IWebGeoposition methods ***/
#define IWebGeoposition_get_coords(This,p) (This)->lpVtbl->get_coords(This,p)
#define IWebGeoposition_get_timestamp(This,p) (This)->lpVtbl->get_timestamp(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IWebGeoposition_QueryInterface(IWebGeoposition* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IWebGeoposition_AddRef(IWebGeoposition* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IWebGeoposition_Release(IWebGeoposition* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IWebGeoposition_GetTypeInfoCount(IWebGeoposition* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IWebGeoposition_GetTypeInfo(IWebGeoposition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IWebGeoposition_GetIDsOfNames(IWebGeoposition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IWebGeoposition_Invoke(IWebGeoposition* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IWebGeoposition methods ***/
static inline HRESULT IWebGeoposition_get_coords(IWebGeoposition* This,IWebGeocoordinates **p) {
    return This->lpVtbl->get_coords(This,p);
}
static inline HRESULT IWebGeoposition_get_timestamp(IWebGeoposition* This,ULONGLONG *p) {
    return This->lpVtbl->get_timestamp(This,p);
}
#endif
#endif

#endif


#endif  /* __IWebGeoposition_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispWebGeolocation dispinterface
 */
#ifndef __DispWebGeolocation_DISPINTERFACE_DEFINED__
#define __DispWebGeolocation_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispWebGeolocation, 0x305900bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900bd-98b5-11cf-bb82-00aa00bdce0b")
DispWebGeolocation : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispWebGeolocation, 0x305900bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispWebGeolocationVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispWebGeolocation *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispWebGeolocation *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispWebGeolocation *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispWebGeolocation *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispWebGeolocation *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispWebGeolocation *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispWebGeolocation *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispWebGeolocationVtbl;

interface DispWebGeolocation {
    CONST_VTBL DispWebGeolocationVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispWebGeolocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispWebGeolocation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispWebGeolocation_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispWebGeolocation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispWebGeolocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispWebGeolocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispWebGeolocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispWebGeolocation_QueryInterface(DispWebGeolocation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispWebGeolocation_AddRef(DispWebGeolocation* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispWebGeolocation_Release(DispWebGeolocation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispWebGeolocation_GetTypeInfoCount(DispWebGeolocation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispWebGeolocation_GetTypeInfo(DispWebGeolocation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispWebGeolocation_GetIDsOfNames(DispWebGeolocation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispWebGeolocation_Invoke(DispWebGeolocation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispWebGeolocation_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * WebGeolocation coclass
 */

DEFINE_GUID(CLSID_WebGeolocation, 0x305107c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107c6-98b5-11cf-bb82-00aa00bdce0b") WebGeolocation;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(WebGeolocation, 0x305107c6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CWebGeolocation;
/*****************************************************************************
 * DispWebGeocoordinates dispinterface
 */
#ifndef __DispWebGeocoordinates_DISPINTERFACE_DEFINED__
#define __DispWebGeocoordinates_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispWebGeocoordinates, 0x305900be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900be-98b5-11cf-bb82-00aa00bdce0b")
DispWebGeocoordinates : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispWebGeocoordinates, 0x305900be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispWebGeocoordinatesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispWebGeocoordinates *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispWebGeocoordinates *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispWebGeocoordinates *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispWebGeocoordinates *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispWebGeocoordinates *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispWebGeocoordinates *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispWebGeocoordinates *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispWebGeocoordinatesVtbl;

interface DispWebGeocoordinates {
    CONST_VTBL DispWebGeocoordinatesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispWebGeocoordinates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispWebGeocoordinates_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispWebGeocoordinates_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispWebGeocoordinates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispWebGeocoordinates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispWebGeocoordinates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispWebGeocoordinates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispWebGeocoordinates_QueryInterface(DispWebGeocoordinates* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispWebGeocoordinates_AddRef(DispWebGeocoordinates* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispWebGeocoordinates_Release(DispWebGeocoordinates* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispWebGeocoordinates_GetTypeInfoCount(DispWebGeocoordinates* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispWebGeocoordinates_GetTypeInfo(DispWebGeocoordinates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispWebGeocoordinates_GetIDsOfNames(DispWebGeocoordinates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispWebGeocoordinates_Invoke(DispWebGeocoordinates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispWebGeocoordinates_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * WebGeocoordinates coclass
 */

DEFINE_GUID(CLSID_WebGeocoordinates, 0x305107c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107c8-98b5-11cf-bb82-00aa00bdce0b") WebGeocoordinates;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(WebGeocoordinates, 0x305107c8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CWebGeocoordinates;
/*****************************************************************************
 * DispWebGeopositionError dispinterface
 */
#ifndef __DispWebGeopositionError_DISPINTERFACE_DEFINED__
#define __DispWebGeopositionError_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispWebGeopositionError, 0x305900bf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900bf-98b5-11cf-bb82-00aa00bdce0b")
DispWebGeopositionError : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispWebGeopositionError, 0x305900bf, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispWebGeopositionErrorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispWebGeopositionError *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispWebGeopositionError *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispWebGeopositionError *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispWebGeopositionError *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispWebGeopositionError *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispWebGeopositionError *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispWebGeopositionError *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispWebGeopositionErrorVtbl;

interface DispWebGeopositionError {
    CONST_VTBL DispWebGeopositionErrorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispWebGeopositionError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispWebGeopositionError_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispWebGeopositionError_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispWebGeopositionError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispWebGeopositionError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispWebGeopositionError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispWebGeopositionError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispWebGeopositionError_QueryInterface(DispWebGeopositionError* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispWebGeopositionError_AddRef(DispWebGeopositionError* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispWebGeopositionError_Release(DispWebGeopositionError* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispWebGeopositionError_GetTypeInfoCount(DispWebGeopositionError* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispWebGeopositionError_GetTypeInfo(DispWebGeopositionError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispWebGeopositionError_GetIDsOfNames(DispWebGeopositionError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispWebGeopositionError_Invoke(DispWebGeopositionError* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispWebGeopositionError_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * WebGeopositionError coclass
 */

DEFINE_GUID(CLSID_WebGeopositionError, 0x305107ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107ca-98b5-11cf-bb82-00aa00bdce0b") WebGeopositionError;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(WebGeopositionError, 0x305107ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CWebGeopositionError;
/*****************************************************************************
 * DispWebGeoposition dispinterface
 */
#ifndef __DispWebGeoposition_DISPINTERFACE_DEFINED__
#define __DispWebGeoposition_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispWebGeoposition, 0x305900c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900c1-98b5-11cf-bb82-00aa00bdce0b")
DispWebGeoposition : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispWebGeoposition, 0x305900c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispWebGeopositionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispWebGeoposition *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispWebGeoposition *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispWebGeoposition *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispWebGeoposition *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispWebGeoposition *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispWebGeoposition *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispWebGeoposition *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispWebGeopositionVtbl;

interface DispWebGeoposition {
    CONST_VTBL DispWebGeopositionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispWebGeoposition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispWebGeoposition_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispWebGeoposition_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispWebGeoposition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispWebGeoposition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispWebGeoposition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispWebGeoposition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispWebGeoposition_QueryInterface(DispWebGeoposition* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispWebGeoposition_AddRef(DispWebGeoposition* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispWebGeoposition_Release(DispWebGeoposition* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispWebGeoposition_GetTypeInfoCount(DispWebGeoposition* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispWebGeoposition_GetTypeInfo(DispWebGeoposition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispWebGeoposition_GetIDsOfNames(DispWebGeoposition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispWebGeoposition_Invoke(DispWebGeoposition* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispWebGeoposition_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * WebGeoposition coclass
 */

DEFINE_GUID(CLSID_WebGeoposition, 0x305107ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("305107ce-98b5-11cf-bb82-00aa00bdce0b") WebGeoposition;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(WebGeoposition, 0x305107ce, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CWebGeoposition;
/*****************************************************************************
 * IClientCaps interface
 */
#ifndef __IClientCaps_INTERFACE_DEFINED__
#define __IClientCaps_INTERFACE_DEFINED__

DEFINE_GUID(IID_IClientCaps, 0x7e8bc44d, 0xaeff, 0x11d1, 0x89,0xc2, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7e8bc44d-aeff-11d1-89c2-00c04fb6bfc4")
IClientCaps : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_javaEnabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cookieEnabled(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cpuClass(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_systemLanguage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_userLanguage(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_platform(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_connectionSpeed(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onLine(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_colorDepth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_bufferDepth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_width(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_height(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_availHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_availWidth(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_connectionType(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE isComponentInstalled(
        BSTR bstrName,
        BSTR bstrUrl,
        BSTR bStrVer = L"",
        VARIANT_BOOL *p = 0) = 0;

    virtual HRESULT STDMETHODCALLTYPE getComponentVersion(
        BSTR bstrName,
        BSTR bstrUrl,
        BSTR *pbstrVer) = 0;

    virtual HRESULT STDMETHODCALLTYPE compareVersions(
        BSTR bstrVer1,
        BSTR bstrVer2,
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE addComponentRequest(
        BSTR bstrName,
        BSTR bstrUrl,
        BSTR bStrVer = L"") = 0;

    virtual HRESULT STDMETHODCALLTYPE doComponentRequest(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE clearComponentRequest(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IClientCaps, 0x7e8bc44d, 0xaeff, 0x11d1, 0x89,0xc2, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4)
#endif
#else
typedef struct IClientCapsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IClientCaps *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IClientCaps *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IClientCaps *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IClientCaps *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IClientCaps *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IClientCaps *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IClientCaps *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IClientCaps methods ***/
    HRESULT (STDMETHODCALLTYPE *get_javaEnabled)(
        IClientCaps *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_cookieEnabled)(
        IClientCaps *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_cpuClass)(
        IClientCaps *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_systemLanguage)(
        IClientCaps *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_userLanguage)(
        IClientCaps *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_platform)(
        IClientCaps *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_connectionSpeed)(
        IClientCaps *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_onLine)(
        IClientCaps *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_colorDepth)(
        IClientCaps *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_bufferDepth)(
        IClientCaps *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_width)(
        IClientCaps *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_height)(
        IClientCaps *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_availHeight)(
        IClientCaps *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_availWidth)(
        IClientCaps *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_connectionType)(
        IClientCaps *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *isComponentInstalled)(
        IClientCaps *This,
        BSTR bstrName,
        BSTR bstrUrl,
        BSTR bStrVer,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *getComponentVersion)(
        IClientCaps *This,
        BSTR bstrName,
        BSTR bstrUrl,
        BSTR *pbstrVer);

    HRESULT (STDMETHODCALLTYPE *compareVersions)(
        IClientCaps *This,
        BSTR bstrVer1,
        BSTR bstrVer2,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *addComponentRequest)(
        IClientCaps *This,
        BSTR bstrName,
        BSTR bstrUrl,
        BSTR bStrVer);

    HRESULT (STDMETHODCALLTYPE *doComponentRequest)(
        IClientCaps *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *clearComponentRequest)(
        IClientCaps *This);

    END_INTERFACE
} IClientCapsVtbl;

interface IClientCaps {
    CONST_VTBL IClientCapsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IClientCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IClientCaps_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IClientCaps_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IClientCaps_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IClientCaps_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IClientCaps_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IClientCaps_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IClientCaps methods ***/
#define IClientCaps_get_javaEnabled(This,p) (This)->lpVtbl->get_javaEnabled(This,p)
#define IClientCaps_get_cookieEnabled(This,p) (This)->lpVtbl->get_cookieEnabled(This,p)
#define IClientCaps_get_cpuClass(This,p) (This)->lpVtbl->get_cpuClass(This,p)
#define IClientCaps_get_systemLanguage(This,p) (This)->lpVtbl->get_systemLanguage(This,p)
#define IClientCaps_get_userLanguage(This,p) (This)->lpVtbl->get_userLanguage(This,p)
#define IClientCaps_get_platform(This,p) (This)->lpVtbl->get_platform(This,p)
#define IClientCaps_get_connectionSpeed(This,p) (This)->lpVtbl->get_connectionSpeed(This,p)
#define IClientCaps_get_onLine(This,p) (This)->lpVtbl->get_onLine(This,p)
#define IClientCaps_get_colorDepth(This,p) (This)->lpVtbl->get_colorDepth(This,p)
#define IClientCaps_get_bufferDepth(This,p) (This)->lpVtbl->get_bufferDepth(This,p)
#define IClientCaps_get_width(This,p) (This)->lpVtbl->get_width(This,p)
#define IClientCaps_get_height(This,p) (This)->lpVtbl->get_height(This,p)
#define IClientCaps_get_availHeight(This,p) (This)->lpVtbl->get_availHeight(This,p)
#define IClientCaps_get_availWidth(This,p) (This)->lpVtbl->get_availWidth(This,p)
#define IClientCaps_get_connectionType(This,p) (This)->lpVtbl->get_connectionType(This,p)
#define IClientCaps_isComponentInstalled(This,bstrName,bstrUrl,bStrVer,p) (This)->lpVtbl->isComponentInstalled(This,bstrName,bstrUrl,bStrVer,p)
#define IClientCaps_getComponentVersion(This,bstrName,bstrUrl,pbstrVer) (This)->lpVtbl->getComponentVersion(This,bstrName,bstrUrl,pbstrVer)
#define IClientCaps_compareVersions(This,bstrVer1,bstrVer2,p) (This)->lpVtbl->compareVersions(This,bstrVer1,bstrVer2,p)
#define IClientCaps_addComponentRequest(This,bstrName,bstrUrl,bStrVer) (This)->lpVtbl->addComponentRequest(This,bstrName,bstrUrl,bStrVer)
#define IClientCaps_doComponentRequest(This,p) (This)->lpVtbl->doComponentRequest(This,p)
#define IClientCaps_clearComponentRequest(This) (This)->lpVtbl->clearComponentRequest(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IClientCaps_QueryInterface(IClientCaps* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IClientCaps_AddRef(IClientCaps* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IClientCaps_Release(IClientCaps* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IClientCaps_GetTypeInfoCount(IClientCaps* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IClientCaps_GetTypeInfo(IClientCaps* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IClientCaps_GetIDsOfNames(IClientCaps* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IClientCaps_Invoke(IClientCaps* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IClientCaps methods ***/
static inline HRESULT IClientCaps_get_javaEnabled(IClientCaps* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_javaEnabled(This,p);
}
static inline HRESULT IClientCaps_get_cookieEnabled(IClientCaps* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cookieEnabled(This,p);
}
static inline HRESULT IClientCaps_get_cpuClass(IClientCaps* This,BSTR *p) {
    return This->lpVtbl->get_cpuClass(This,p);
}
static inline HRESULT IClientCaps_get_systemLanguage(IClientCaps* This,BSTR *p) {
    return This->lpVtbl->get_systemLanguage(This,p);
}
static inline HRESULT IClientCaps_get_userLanguage(IClientCaps* This,BSTR *p) {
    return This->lpVtbl->get_userLanguage(This,p);
}
static inline HRESULT IClientCaps_get_platform(IClientCaps* This,BSTR *p) {
    return This->lpVtbl->get_platform(This,p);
}
static inline HRESULT IClientCaps_get_connectionSpeed(IClientCaps* This,LONG *p) {
    return This->lpVtbl->get_connectionSpeed(This,p);
}
static inline HRESULT IClientCaps_get_onLine(IClientCaps* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_onLine(This,p);
}
static inline HRESULT IClientCaps_get_colorDepth(IClientCaps* This,LONG *p) {
    return This->lpVtbl->get_colorDepth(This,p);
}
static inline HRESULT IClientCaps_get_bufferDepth(IClientCaps* This,LONG *p) {
    return This->lpVtbl->get_bufferDepth(This,p);
}
static inline HRESULT IClientCaps_get_width(IClientCaps* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static inline HRESULT IClientCaps_get_height(IClientCaps* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static inline HRESULT IClientCaps_get_availHeight(IClientCaps* This,LONG *p) {
    return This->lpVtbl->get_availHeight(This,p);
}
static inline HRESULT IClientCaps_get_availWidth(IClientCaps* This,LONG *p) {
    return This->lpVtbl->get_availWidth(This,p);
}
static inline HRESULT IClientCaps_get_connectionType(IClientCaps* This,BSTR *p) {
    return This->lpVtbl->get_connectionType(This,p);
}
static inline HRESULT IClientCaps_isComponentInstalled(IClientCaps* This,BSTR bstrName,BSTR bstrUrl,BSTR bStrVer,VARIANT_BOOL *p) {
    return This->lpVtbl->isComponentInstalled(This,bstrName,bstrUrl,bStrVer,p);
}
static inline HRESULT IClientCaps_getComponentVersion(IClientCaps* This,BSTR bstrName,BSTR bstrUrl,BSTR *pbstrVer) {
    return This->lpVtbl->getComponentVersion(This,bstrName,bstrUrl,pbstrVer);
}
static inline HRESULT IClientCaps_compareVersions(IClientCaps* This,BSTR bstrVer1,BSTR bstrVer2,LONG *p) {
    return This->lpVtbl->compareVersions(This,bstrVer1,bstrVer2,p);
}
static inline HRESULT IClientCaps_addComponentRequest(IClientCaps* This,BSTR bstrName,BSTR bstrUrl,BSTR bStrVer) {
    return This->lpVtbl->addComponentRequest(This,bstrName,bstrUrl,bStrVer);
}
static inline HRESULT IClientCaps_doComponentRequest(IClientCaps* This,VARIANT_BOOL *p) {
    return This->lpVtbl->doComponentRequest(This,p);
}
static inline HRESULT IClientCaps_clearComponentRequest(IClientCaps* This) {
    return This->lpVtbl->clearComponentRequest(This);
}
#endif
#endif

#endif


#endif  /* __IClientCaps_INTERFACE_DEFINED__ */

/*****************************************************************************
 * CClientCaps coclass
 */

DEFINE_GUID(CLSID_CClientCaps, 0x7e8bc44e, 0xaeff, 0x11d1, 0x89,0xc2, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4);

#ifdef __cplusplus
class DECLSPEC_UUID("7e8bc44e-aeff-11d1-89c2-00c04fb6bfc4") CClientCaps;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CClientCaps, 0x7e8bc44e, 0xaeff, 0x11d1, 0x89,0xc2, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4)
#endif
#endif

EXTERN_C const GUID CLSID_CClientCaps;
/*****************************************************************************
 * IDOMMSManipulationEvent interface
 */
#ifndef __IDOMMSManipulationEvent_INTERFACE_DEFINED__
#define __IDOMMSManipulationEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMMSManipulationEvent, 0x30510816, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510816-98b5-11cf-bb82-00aa00bdce0b")
IDOMMSManipulationEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_lastState(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentState(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initMSManipulationEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG lastState,
        LONG currentState) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMMSManipulationEvent, 0x30510816, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMMSManipulationEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMMSManipulationEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMMSManipulationEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMMSManipulationEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMMSManipulationEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMMSManipulationEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMMSManipulationEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMMSManipulationEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMMSManipulationEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_lastState)(
        IDOMMSManipulationEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_currentState)(
        IDOMMSManipulationEvent *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *initMSManipulationEvent)(
        IDOMMSManipulationEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        IHTMLWindow2 *viewArg,
        LONG detailArg,
        LONG lastState,
        LONG currentState);

    END_INTERFACE
} IDOMMSManipulationEventVtbl;

interface IDOMMSManipulationEvent {
    CONST_VTBL IDOMMSManipulationEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMMSManipulationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMMSManipulationEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMMSManipulationEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMMSManipulationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMMSManipulationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMMSManipulationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMMSManipulationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMMSManipulationEvent methods ***/
#define IDOMMSManipulationEvent_get_lastState(This,p) (This)->lpVtbl->get_lastState(This,p)
#define IDOMMSManipulationEvent_get_currentState(This,p) (This)->lpVtbl->get_currentState(This,p)
#define IDOMMSManipulationEvent_initMSManipulationEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,lastState,currentState) (This)->lpVtbl->initMSManipulationEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,lastState,currentState)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMMSManipulationEvent_QueryInterface(IDOMMSManipulationEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMMSManipulationEvent_AddRef(IDOMMSManipulationEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMMSManipulationEvent_Release(IDOMMSManipulationEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMMSManipulationEvent_GetTypeInfoCount(IDOMMSManipulationEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMMSManipulationEvent_GetTypeInfo(IDOMMSManipulationEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMMSManipulationEvent_GetIDsOfNames(IDOMMSManipulationEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMMSManipulationEvent_Invoke(IDOMMSManipulationEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMMSManipulationEvent methods ***/
static inline HRESULT IDOMMSManipulationEvent_get_lastState(IDOMMSManipulationEvent* This,LONG *p) {
    return This->lpVtbl->get_lastState(This,p);
}
static inline HRESULT IDOMMSManipulationEvent_get_currentState(IDOMMSManipulationEvent* This,LONG *p) {
    return This->lpVtbl->get_currentState(This,p);
}
static inline HRESULT IDOMMSManipulationEvent_initMSManipulationEvent(IDOMMSManipulationEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,IHTMLWindow2 *viewArg,LONG detailArg,LONG lastState,LONG currentState) {
    return This->lpVtbl->initMSManipulationEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,lastState,currentState);
}
#endif
#endif

#endif


#endif  /* __IDOMMSManipulationEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMMSManipulationEvent dispinterface
 */
#ifndef __DispDOMMSManipulationEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMSManipulationEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMMSManipulationEvent, 0x305900e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900e1-98b5-11cf-bb82-00aa00bdce0b")
DispDOMMSManipulationEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMMSManipulationEvent, 0x305900e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMMSManipulationEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMMSManipulationEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMMSManipulationEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMMSManipulationEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMMSManipulationEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMMSManipulationEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMMSManipulationEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMMSManipulationEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMMSManipulationEventVtbl;

interface DispDOMMSManipulationEvent {
    CONST_VTBL DispDOMMSManipulationEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMMSManipulationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMMSManipulationEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMMSManipulationEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMMSManipulationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMMSManipulationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMMSManipulationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMMSManipulationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMMSManipulationEvent_QueryInterface(DispDOMMSManipulationEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMMSManipulationEvent_AddRef(DispDOMMSManipulationEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMMSManipulationEvent_Release(DispDOMMSManipulationEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMMSManipulationEvent_GetTypeInfoCount(DispDOMMSManipulationEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMMSManipulationEvent_GetTypeInfo(DispDOMMSManipulationEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMMSManipulationEvent_GetIDsOfNames(DispDOMMSManipulationEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMMSManipulationEvent_Invoke(DispDOMMSManipulationEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMMSManipulationEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMMSManipulationEvent coclass
 */

DEFINE_GUID(CLSID_DOMMSManipulationEvent, 0x30510817, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510817-98b5-11cf-bb82-00aa00bdce0b") DOMMSManipulationEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMMSManipulationEvent, 0x30510817, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMMSManipulationEvent;
/*****************************************************************************
 * IDOMCloseEvent interface
 */
#ifndef __IDOMCloseEvent_INTERFACE_DEFINED__
#define __IDOMCloseEvent_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMCloseEvent, 0x305107ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107ff-98b5-11cf-bb82-00aa00bdce0b")
IDOMCloseEvent : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_wasClean(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE initCloseEvent(
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        VARIANT_BOOL wasClean,
        LONG code,
        BSTR reason) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMCloseEvent, 0x305107ff, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMCloseEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMCloseEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMCloseEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMCloseEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDOMCloseEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDOMCloseEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDOMCloseEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDOMCloseEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDOMCloseEvent methods ***/
    HRESULT (STDMETHODCALLTYPE *get_wasClean)(
        IDOMCloseEvent *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *initCloseEvent)(
        IDOMCloseEvent *This,
        BSTR eventType,
        VARIANT_BOOL canBubble,
        VARIANT_BOOL cancelable,
        VARIANT_BOOL wasClean,
        LONG code,
        BSTR reason);

    END_INTERFACE
} IDOMCloseEventVtbl;

interface IDOMCloseEvent {
    CONST_VTBL IDOMCloseEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMCloseEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMCloseEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMCloseEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDOMCloseEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDOMCloseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDOMCloseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDOMCloseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDOMCloseEvent methods ***/
#define IDOMCloseEvent_get_wasClean(This,p) (This)->lpVtbl->get_wasClean(This,p)
#define IDOMCloseEvent_initCloseEvent(This,eventType,canBubble,cancelable,wasClean,code,reason) (This)->lpVtbl->initCloseEvent(This,eventType,canBubble,cancelable,wasClean,code,reason)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMCloseEvent_QueryInterface(IDOMCloseEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMCloseEvent_AddRef(IDOMCloseEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMCloseEvent_Release(IDOMCloseEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IDOMCloseEvent_GetTypeInfoCount(IDOMCloseEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IDOMCloseEvent_GetTypeInfo(IDOMCloseEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IDOMCloseEvent_GetIDsOfNames(IDOMCloseEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IDOMCloseEvent_Invoke(IDOMCloseEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDOMCloseEvent methods ***/
static inline HRESULT IDOMCloseEvent_get_wasClean(IDOMCloseEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_wasClean(This,p);
}
static inline HRESULT IDOMCloseEvent_initCloseEvent(IDOMCloseEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable,VARIANT_BOOL wasClean,LONG code,BSTR reason) {
    return This->lpVtbl->initCloseEvent(This,eventType,canBubble,cancelable,wasClean,code,reason);
}
#endif
#endif

#endif


#endif  /* __IDOMCloseEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispDOMCloseEvent dispinterface
 */
#ifndef __DispDOMCloseEvent_DISPINTERFACE_DEFINED__
#define __DispDOMCloseEvent_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispDOMCloseEvent, 0x305900dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900dc-98b5-11cf-bb82-00aa00bdce0b")
DispDOMCloseEvent : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispDOMCloseEvent, 0x305900dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispDOMCloseEventVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispDOMCloseEvent *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispDOMCloseEvent *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispDOMCloseEvent *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispDOMCloseEvent *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispDOMCloseEvent *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispDOMCloseEvent *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispDOMCloseEvent *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispDOMCloseEventVtbl;

interface DispDOMCloseEvent {
    CONST_VTBL DispDOMCloseEventVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispDOMCloseEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispDOMCloseEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispDOMCloseEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispDOMCloseEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispDOMCloseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispDOMCloseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispDOMCloseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispDOMCloseEvent_QueryInterface(DispDOMCloseEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispDOMCloseEvent_AddRef(DispDOMCloseEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispDOMCloseEvent_Release(DispDOMCloseEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispDOMCloseEvent_GetTypeInfoCount(DispDOMCloseEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispDOMCloseEvent_GetTypeInfo(DispDOMCloseEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispDOMCloseEvent_GetIDsOfNames(DispDOMCloseEvent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispDOMCloseEvent_Invoke(DispDOMCloseEvent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispDOMCloseEvent_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DOMCloseEvent coclass
 */

DEFINE_GUID(CLSID_DOMCloseEvent, 0x30510800, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510800-98b5-11cf-bb82-00aa00bdce0b") DOMCloseEvent;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DOMCloseEvent, 0x30510800, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

EXTERN_C const GUID CLSID_CDOMCloseEvent;
/*****************************************************************************
 * IHTMLApplicationCache interface
 */
#ifndef __IHTMLApplicationCache_INTERFACE_DEFINED__
#define __IHTMLApplicationCache_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLApplicationCache, 0x30510828, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510828-98b5-11cf-bb82-00aa00bdce0b")
IHTMLApplicationCache : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_status(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onchecking(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onchecking(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onerror(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onerror(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onnoupdate(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onnoupdate(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ondownloading(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ondownloading(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onprogress(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onprogress(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onupdateready(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onupdateready(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_oncached(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_oncached(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onobsolete(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onobsolete(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE update(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE swapCache(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE abort(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLApplicationCache, 0x30510828, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLApplicationCacheVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLApplicationCache *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLApplicationCache *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLApplicationCache *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLApplicationCache *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLApplicationCache *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLApplicationCache *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLApplicationCache *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLApplicationCache methods ***/
    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLApplicationCache *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *put_onchecking)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onchecking)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onerror)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onerror)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onnoupdate)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onnoupdate)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_ondownloading)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_ondownloading)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onprogress)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onprogress)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onupdateready)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onupdateready)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_oncached)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_oncached)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onobsolete)(
        IHTMLApplicationCache *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onobsolete)(
        IHTMLApplicationCache *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *update)(
        IHTMLApplicationCache *This);

    HRESULT (STDMETHODCALLTYPE *swapCache)(
        IHTMLApplicationCache *This);

    HRESULT (STDMETHODCALLTYPE *abort)(
        IHTMLApplicationCache *This);

    END_INTERFACE
} IHTMLApplicationCacheVtbl;

interface IHTMLApplicationCache {
    CONST_VTBL IHTMLApplicationCacheVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLApplicationCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLApplicationCache_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLApplicationCache_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLApplicationCache_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLApplicationCache_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLApplicationCache_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLApplicationCache_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLApplicationCache methods ***/
#define IHTMLApplicationCache_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLApplicationCache_put_onchecking(This,v) (This)->lpVtbl->put_onchecking(This,v)
#define IHTMLApplicationCache_get_onchecking(This,p) (This)->lpVtbl->get_onchecking(This,p)
#define IHTMLApplicationCache_put_onerror(This,v) (This)->lpVtbl->put_onerror(This,v)
#define IHTMLApplicationCache_get_onerror(This,p) (This)->lpVtbl->get_onerror(This,p)
#define IHTMLApplicationCache_put_onnoupdate(This,v) (This)->lpVtbl->put_onnoupdate(This,v)
#define IHTMLApplicationCache_get_onnoupdate(This,p) (This)->lpVtbl->get_onnoupdate(This,p)
#define IHTMLApplicationCache_put_ondownloading(This,v) (This)->lpVtbl->put_ondownloading(This,v)
#define IHTMLApplicationCache_get_ondownloading(This,p) (This)->lpVtbl->get_ondownloading(This,p)
#define IHTMLApplicationCache_put_onprogress(This,v) (This)->lpVtbl->put_onprogress(This,v)
#define IHTMLApplicationCache_get_onprogress(This,p) (This)->lpVtbl->get_onprogress(This,p)
#define IHTMLApplicationCache_put_onupdateready(This,v) (This)->lpVtbl->put_onupdateready(This,v)
#define IHTMLApplicationCache_get_onupdateready(This,p) (This)->lpVtbl->get_onupdateready(This,p)
#define IHTMLApplicationCache_put_oncached(This,v) (This)->lpVtbl->put_oncached(This,v)
#define IHTMLApplicationCache_get_oncached(This,p) (This)->lpVtbl->get_oncached(This,p)
#define IHTMLApplicationCache_put_onobsolete(This,v) (This)->lpVtbl->put_onobsolete(This,v)
#define IHTMLApplicationCache_get_onobsolete(This,p) (This)->lpVtbl->get_onobsolete(This,p)
#define IHTMLApplicationCache_update(This) (This)->lpVtbl->update(This)
#define IHTMLApplicationCache_swapCache(This) (This)->lpVtbl->swapCache(This)
#define IHTMLApplicationCache_abort(This) (This)->lpVtbl->abort(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLApplicationCache_QueryInterface(IHTMLApplicationCache* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLApplicationCache_AddRef(IHTMLApplicationCache* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLApplicationCache_Release(IHTMLApplicationCache* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLApplicationCache_GetTypeInfoCount(IHTMLApplicationCache* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLApplicationCache_GetTypeInfo(IHTMLApplicationCache* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLApplicationCache_GetIDsOfNames(IHTMLApplicationCache* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLApplicationCache_Invoke(IHTMLApplicationCache* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLApplicationCache methods ***/
static inline HRESULT IHTMLApplicationCache_get_status(IHTMLApplicationCache* This,LONG *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_onchecking(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_onchecking(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_onchecking(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_onchecking(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_onerror(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_onerror(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_onnoupdate(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_onnoupdate(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_onnoupdate(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_onnoupdate(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_ondownloading(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_ondownloading(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_ondownloading(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_ondownloading(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_onprogress(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_onprogress(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_onprogress(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_onprogress(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_onupdateready(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_onupdateready(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_onupdateready(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_onupdateready(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_oncached(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_oncached(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_oncached(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_oncached(This,p);
}
static inline HRESULT IHTMLApplicationCache_put_onobsolete(IHTMLApplicationCache* This,VARIANT v) {
    return This->lpVtbl->put_onobsolete(This,v);
}
static inline HRESULT IHTMLApplicationCache_get_onobsolete(IHTMLApplicationCache* This,VARIANT *p) {
    return This->lpVtbl->get_onobsolete(This,p);
}
static inline HRESULT IHTMLApplicationCache_update(IHTMLApplicationCache* This) {
    return This->lpVtbl->update(This);
}
static inline HRESULT IHTMLApplicationCache_swapCache(IHTMLApplicationCache* This) {
    return This->lpVtbl->swapCache(This);
}
static inline HRESULT IHTMLApplicationCache_abort(IHTMLApplicationCache* This) {
    return This->lpVtbl->abort(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLApplicationCache_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispApplicationCache dispinterface
 */
#ifndef __DispApplicationCache_DISPINTERFACE_DEFINED__
#define __DispApplicationCache_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispApplicationCache, 0x305900e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305900e4-98b5-11cf-bb82-00aa00bdce0b")
DispApplicationCache : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispApplicationCache, 0x305900e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispApplicationCacheVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispApplicationCache *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispApplicationCache *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispApplicationCache *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispApplicationCache *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispApplicationCache *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispApplicationCache *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispApplicationCache *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispApplicationCacheVtbl;

interface DispApplicationCache {
    CONST_VTBL DispApplicationCacheVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispApplicationCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispApplicationCache_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispApplicationCache_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispApplicationCache_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispApplicationCache_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispApplicationCache_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispApplicationCache_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispApplicationCache_QueryInterface(DispApplicationCache* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispApplicationCache_AddRef(DispApplicationCache* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispApplicationCache_Release(DispApplicationCache* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispApplicationCache_GetTypeInfoCount(DispApplicationCache* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispApplicationCache_GetTypeInfo(DispApplicationCache* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispApplicationCache_GetIDsOfNames(DispApplicationCache* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispApplicationCache_Invoke(DispApplicationCache* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispApplicationCache_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * ApplicationCache coclass
 */

DEFINE_GUID(CLSID_ApplicationCache, 0x30510829, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("30510829-98b5-11cf-bb82-00aa00bdce0b") ApplicationCache;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ApplicationCache, 0x30510829, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

#ifndef __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;
#ifdef __cplusplus
interface IElementBehaviorSite;
#endif /* __cplusplus */
#endif

#ifndef __ICSSFilterSite_FWD_DEFINED__
#define __ICSSFilterSite_FWD_DEFINED__
typedef interface ICSSFilterSite ICSSFilterSite;
#ifdef __cplusplus
interface ICSSFilterSite;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupPointer_FWD_DEFINED__
#define __IMarkupPointer_FWD_DEFINED__
typedef interface IMarkupPointer IMarkupPointer;
#ifdef __cplusplus
interface IMarkupPointer;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupContainer_FWD_DEFINED__
#define __IMarkupContainer_FWD_DEFINED__
typedef interface IMarkupContainer IMarkupContainer;
#ifdef __cplusplus
interface IMarkupContainer;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupContainer2_FWD_DEFINED__
#define __IMarkupContainer2_FWD_DEFINED__
typedef interface IMarkupContainer2 IMarkupContainer2;
#ifdef __cplusplus
interface IMarkupContainer2;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLChangeLog_FWD_DEFINED__
#define __IHTMLChangeLog_FWD_DEFINED__
typedef interface IHTMLChangeLog IHTMLChangeLog;
#ifdef __cplusplus
interface IHTMLChangeLog;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLChangeSink_FWD_DEFINED__
#define __IHTMLChangeSink_FWD_DEFINED__
typedef interface IHTMLChangeSink IHTMLChangeSink;
#ifdef __cplusplus
interface IHTMLChangeSink;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDocument2_FWD_DEFINED__
#define __IHTMLDocument2_FWD_DEFINED__
typedef interface IHTMLDocument2 IHTMLDocument2;
#ifdef __cplusplus
interface IHTMLDocument2;
#endif /* __cplusplus */
#endif

#ifndef __IActiveIMMApp_FWD_DEFINED__
#define __IActiveIMMApp_FWD_DEFINED__
typedef interface IActiveIMMApp IActiveIMMApp;
#ifdef __cplusplus
interface IActiveIMMApp;
#endif /* __cplusplus */
#endif

#ifndef __ISegmentList_FWD_DEFINED__
#define __ISegmentList_FWD_DEFINED__
typedef interface ISegmentList ISegmentList;
#ifdef __cplusplus
interface ISegmentList;
#endif /* __cplusplus */
#endif

#ifndef __ISegmentListIterator_FWD_DEFINED__
#define __ISegmentListIterator_FWD_DEFINED__
typedef interface ISegmentListIterator ISegmentListIterator;
#ifdef __cplusplus
interface ISegmentListIterator;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLCaret_FWD_DEFINED__
#define __IHTMLCaret_FWD_DEFINED__
typedef interface IHTMLCaret IHTMLCaret;
#ifdef __cplusplus
interface IHTMLCaret;
#endif /* __cplusplus */
#endif

#ifndef __ISegment_FWD_DEFINED__
#define __ISegment_FWD_DEFINED__
typedef interface ISegment ISegment;
#ifdef __cplusplus
interface ISegment;
#endif /* __cplusplus */
#endif

#ifndef __IElementSegment_FWD_DEFINED__
#define __IElementSegment_FWD_DEFINED__
typedef interface IElementSegment IElementSegment;
#ifdef __cplusplus
interface IElementSegment;
#endif /* __cplusplus */
#endif

#ifndef __IHighlightSegment_FWD_DEFINED__
#define __IHighlightSegment_FWD_DEFINED__
typedef interface IHighlightSegment IHighlightSegment;
#ifdef __cplusplus
interface IHighlightSegment;
#endif /* __cplusplus */
#endif

#ifndef __IHighlightRenderingServices_FWD_DEFINED__
#define __IHighlightRenderingServices_FWD_DEFINED__
typedef interface IHighlightRenderingServices IHighlightRenderingServices;
#ifdef __cplusplus
interface IHighlightRenderingServices;
#endif /* __cplusplus */
#endif

#ifndef __ILineInfo_FWD_DEFINED__
#define __ILineInfo_FWD_DEFINED__
typedef interface ILineInfo ILineInfo;
#ifdef __cplusplus
interface ILineInfo;
#endif /* __cplusplus */
#endif

#ifndef __IDisplayPointer_FWD_DEFINED__
#define __IDisplayPointer_FWD_DEFINED__
typedef interface IDisplayPointer IDisplayPointer;
#ifdef __cplusplus
interface IDisplayPointer;
#endif /* __cplusplus */
#endif

#ifndef __IDisplayServices_FWD_DEFINED__
#define __IDisplayServices_FWD_DEFINED__
typedef interface IDisplayServices IDisplayServices;
#ifdef __cplusplus
interface IDisplayServices;
#endif /* __cplusplus */
#endif

#ifndef __IHtmlDlgSafeHelper_FWD_DEFINED__
#define __IHtmlDlgSafeHelper_FWD_DEFINED__
typedef interface IHtmlDlgSafeHelper IHtmlDlgSafeHelper;
#ifdef __cplusplus
interface IHtmlDlgSafeHelper;
#endif /* __cplusplus */
#endif

#ifndef __IBlockFormats_FWD_DEFINED__
#define __IBlockFormats_FWD_DEFINED__
typedef interface IBlockFormats IBlockFormats;
#ifdef __cplusplus
interface IBlockFormats;
#endif /* __cplusplus */
#endif

#ifndef __IFontNames_FWD_DEFINED__
#define __IFontNames_FWD_DEFINED__
typedef interface IFontNames IFontNames;
#ifdef __cplusplus
interface IFontNames;
#endif /* __cplusplus */
#endif

#ifndef __IScriptEventHandler_FWD_DEFINED__
#define __IScriptEventHandler_FWD_DEFINED__
typedef interface IScriptEventHandler IScriptEventHandler;
#ifdef __cplusplus
interface IScriptEventHandler;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPainter_FWD_DEFINED__
#define __IHTMLPainter_FWD_DEFINED__
typedef interface IHTMLPainter IHTMLPainter;
#ifdef __cplusplus
interface IHTMLPainter;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLPaintSite_FWD_DEFINED__
#define __IHTMLPaintSite_FWD_DEFINED__
typedef interface IHTMLPaintSite IHTMLPaintSite;
#ifdef __cplusplus
interface IHTMLPaintSite;
#endif /* __cplusplus */
#endif

EXTERN_C const GUID CLSID_CHTMLNamespace;
EXTERN_C const GUID CLSID_CHTMLNamespaceCollection;
EXTERN_C const GUID CLSID_HtmlDlgSafeHelper;
EXTERN_C const GUID CLSID_BlockFormats;
EXTERN_C const GUID CLSID_FontNames;
EXTERN_C const GUID CLSID_CApplicationCache;
typedef enum _ELEMENT_CORNER {
    ELEMENT_CORNER_NONE = 0,
    ELEMENT_CORNER_TOP = 1,
    ELEMENT_CORNER_LEFT = 2,
    ELEMENT_CORNER_BOTTOM = 3,
    ELEMENT_CORNER_RIGHT = 4,
    ELEMENT_CORNER_TOPLEFT = 5,
    ELEMENT_CORNER_TOPRIGHT = 6,
    ELEMENT_CORNER_BOTTOMLEFT = 7,
    ELEMENT_CORNER_BOTTOMRIGHT = 8,
    ELEMENT_CORNER_Max = 0x7fffffff
} ELEMENT_CORNER;
typedef enum _SECUREURLHOSTVALIDATE_FLAGS {
    SUHV_PROMPTBEFORENO = 0x1,
    SUHV_SILENTYES = 0x2,
    SUHV_UNSECURESOURCE = 0x4,
    SECUREURLHOSTVALIDATE_FLAGS_Max = 0x7fffffff
} SECUREURLHOSTVALIDATE_FLAGS;
typedef enum _POINTER_GRAVITY {
    POINTER_GRAVITY_Left = 0,
    POINTER_GRAVITY_Right = 1,
    POINTER_GRAVITY_Max = 0x7fffffff
} POINTER_GRAVITY;
typedef enum _ELEMENT_ADJACENCY {
    ELEM_ADJ_BeforeBegin = 0,
    ELEM_ADJ_AfterBegin = 1,
    ELEM_ADJ_BeforeEnd = 2,
    ELEM_ADJ_AfterEnd = 3,
    ELEMENT_ADJACENCY_Max = 0x7fffffff
} ELEMENT_ADJACENCY;
typedef enum _MARKUP_CONTEXT_TYPE {
    CONTEXT_TYPE_None = 0,
    CONTEXT_TYPE_Text = 1,
    CONTEXT_TYPE_EnterScope = 2,
    CONTEXT_TYPE_ExitScope = 3,
    CONTEXT_TYPE_NoScope = 4,
    MARKUP_CONTEXT_TYPE_Max = 0x7fffffff
} MARKUP_CONTEXT_TYPE;
typedef enum _FINDTEXT_FLAGS {
    FINDTEXT_BACKWARDS = 0x1,
    FINDTEXT_WHOLEWORD = 0x2,
    FINDTEXT_MATCHCASE = 0x4,
    FINDTEXT_RAW = 0x20000,
    FINDTEXT_MATCHREPEATEDWHITESPACE = 0x40000,
    FINDTEXT_MATCHDIAC = 0x20000000,
    FINDTEXT_MATCHKASHIDA = 0x40000000,
    FINDTEXT_MATCHALEFHAMZA = 0x80000000,
    FINDTEXT_FLAGS_Max = 0x7fffffff
} FINDTEXT_FLAGS;
typedef enum _MOVEUNIT_ACTION {
    MOVEUNIT_PREVCHAR = 0,
    MOVEUNIT_NEXTCHAR = 1,
    MOVEUNIT_PREVCLUSTERBEGIN = 2,
    MOVEUNIT_NEXTCLUSTERBEGIN = 3,
    MOVEUNIT_PREVCLUSTEREND = 4,
    MOVEUNIT_NEXTCLUSTEREND = 5,
    MOVEUNIT_PREVWORDBEGIN = 6,
    MOVEUNIT_NEXTWORDBEGIN = 7,
    MOVEUNIT_PREVWORDEND = 8,
    MOVEUNIT_NEXTWORDEND = 9,
    MOVEUNIT_PREVPROOFWORD = 10,
    MOVEUNIT_NEXTPROOFWORD = 11,
    MOVEUNIT_NEXTURLBEGIN = 12,
    MOVEUNIT_PREVURLBEGIN = 13,
    MOVEUNIT_NEXTURLEND = 14,
    MOVEUNIT_PREVURLEND = 15,
    MOVEUNIT_PREVSENTENCE = 16,
    MOVEUNIT_NEXTSENTENCE = 17,
    MOVEUNIT_PREVBLOCK = 18,
    MOVEUNIT_NEXTBLOCK = 19,
    MOVEUNIT_ACTION_Max = 0x7fffffff
} MOVEUNIT_ACTION;
typedef enum _PARSE_FLAGS {
    PARSE_ABSOLUTIFYIE40URLS = 0x1,
    PARSE_DISABLEVML = 0x2,
    PARSE_FLAGS_Max = 0x7fffffff
} PARSE_FLAGS;
typedef enum _ELEMENT_TAG_ID {
    TAGID_NULL = 0,
    TAGID_UNKNOWN = 1,
    TAGID_A = 2,
    TAGID_ACRONYM = 3,
    TAGID_ADDRESS = 4,
    TAGID_APPLET = 5,
    TAGID_AREA = 6,
    TAGID_B = 7,
    TAGID_BASE = 8,
    TAGID_BASEFONT = 9,
    TAGID_BDO = 10,
    TAGID_BGSOUND = 11,
    TAGID_BIG = 12,
    TAGID_BLINK = 13,
    TAGID_BLOCKQUOTE = 14,
    TAGID_BODY = 15,
    TAGID_BR = 16,
    TAGID_BUTTON = 17,
    TAGID_CAPTION = 18,
    TAGID_CENTER = 19,
    TAGID_CITE = 20,
    TAGID_CODE = 21,
    TAGID_COL = 22,
    TAGID_COLGROUP = 23,
    TAGID_COMMENT = 24,
    TAGID_COMMENT_RAW = 25,
    TAGID_DD = 26,
    TAGID_DEL = 27,
    TAGID_DFN = 28,
    TAGID_DIR = 29,
    TAGID_DIV = 30,
    TAGID_DL = 31,
    TAGID_DT = 32,
    TAGID_EM = 33,
    TAGID_EMBED = 34,
    TAGID_FIELDSET = 35,
    TAGID_FONT = 36,
    TAGID_FORM = 37,
    TAGID_FRAME = 38,
    TAGID_FRAMESET = 39,
    TAGID_GENERIC = 40,
    TAGID_H1 = 41,
    TAGID_H2 = 42,
    TAGID_H3 = 43,
    TAGID_H4 = 44,
    TAGID_H5 = 45,
    TAGID_H6 = 46,
    TAGID_HEAD = 47,
    TAGID_HR = 48,
    TAGID_HTML = 49,
    TAGID_I = 50,
    TAGID_IFRAME = 51,
    TAGID_IMG = 52,
    TAGID_INPUT = 53,
    TAGID_INS = 54,
    TAGID_KBD = 55,
    TAGID_LABEL = 56,
    TAGID_LEGEND = 57,
    TAGID_LI = 58,
    TAGID_LINK = 59,
    TAGID_LISTING = 60,
    TAGID_MAP = 61,
    TAGID_MARQUEE = 62,
    TAGID_MENU = 63,
    TAGID_META = 64,
    TAGID_NEXTID = 65,
    TAGID_NOBR = 66,
    TAGID_NOEMBED = 67,
    TAGID_NOFRAMES = 68,
    TAGID_NOSCRIPT = 69,
    TAGID_OBJECT = 70,
    TAGID_OL = 71,
    TAGID_OPTION = 72,
    TAGID_P = 73,
    TAGID_PARAM = 74,
    TAGID_PLAINTEXT = 75,
    TAGID_PRE = 76,
    TAGID_Q = 77,
    TAGID_RP = 78,
    TAGID_RT = 79,
    TAGID_RUBY = 80,
    TAGID_S = 81,
    TAGID_SAMP = 82,
    TAGID_SCRIPT = 83,
    TAGID_SELECT = 84,
    TAGID_SMALL = 85,
    TAGID_SPAN = 86,
    TAGID_STRIKE = 87,
    TAGID_STRONG = 88,
    TAGID_STYLE = 89,
    TAGID_SUB = 90,
    TAGID_SUP = 91,
    TAGID_TABLE = 92,
    TAGID_TBODY = 93,
    TAGID_TC = 94,
    TAGID_TD = 95,
    TAGID_TEXTAREA = 96,
    TAGID_TFOOT = 97,
    TAGID_TH = 98,
    TAGID_THEAD = 99,
    TAGID_TITLE = 100,
    TAGID_TR = 101,
    TAGID_TT = 102,
    TAGID_U = 103,
    TAGID_UL = 104,
    TAGID_VAR = 105,
    TAGID_WBR = 106,
    TAGID_XMP = 107,
    TAGID_ROOT = 108,
    TAGID_OPTGROUP = 109,
    TAGID_ABBR = 110,
    TAGID_SVG_A = 111,
    TAGID_SVG_ALTGLYPH = 112,
    TAGID_SVG_ALTGLYPHDEF = 113,
    TAGID_SVG_ALTGLYPHITEM = 114,
    TAGID_SVG_ANIMATE = 115,
    TAGID_SVG_ANIMATECOLOR = 116,
    TAGID_SVG_ANIMATEMOTION = 117,
    TAGID_SVG_ANIMATETRANSFORM = 118,
    TAGID_SVG_CIRCLE = 119,
    TAGID_SVG_CLIPPATH = 120,
    TAGID_SVG_COLOR_PROFILE = 121,
    TAGID_SVG_CURSOR = 122,
    TAGID_SVG_DEFINITION_SRC = 123,
    TAGID_SVG_DEFS = 124,
    TAGID_SVG_DESC = 125,
    TAGID_SVG_ELLIPSE = 126,
    TAGID_SVG_FEBLEND = 127,
    TAGID_SVG_FECOLORMATRIX = 128,
    TAGID_SVG_FECOMPONENTTRANSFER = 129,
    TAGID_SVG_FECOMPOSITE = 130,
    TAGID_SVG_FECONVOLVEMATRIX = 131,
    TAGID_SVG_FEDIFFUSELIGHTING = 132,
    TAGID_SVG_FEDISPLACEMENTMAP = 133,
    TAGID_SVG_FEDISTANTLIGHT = 134,
    TAGID_SVG_FEFLOOD = 135,
    TAGID_SVG_FEFUNCA = 136,
    TAGID_SVG_FEFUNCB = 137,
    TAGID_SVG_FEFUNCG = 138,
    TAGID_SVG_FEFUNCR = 139,
    TAGID_SVG_FEGAUSSIANBLUR = 140,
    TAGID_SVG_FEIMAGE = 141,
    TAGID_SVG_FEMERGE = 142,
    TAGID_SVG_FEMERGENODE = 143,
    TAGID_SVG_FEMORPHOLOGY = 144,
    TAGID_SVG_FEOFFSET = 145,
    TAGID_SVG_FEPOINTLIGHT = 146,
    TAGID_SVG_FESPECULARLIGHTING = 147,
    TAGID_SVG_FESPOTLIGHT = 148,
    TAGID_SVG_FETILE = 149,
    TAGID_SVG_FETURBULENCE = 150,
    TAGID_SVG_FILTER = 151,
    TAGID_SVG_FONT = 152,
    TAGID_SVG_FONT_FACE = 153,
    TAGID_SVG_FONT_FACE_FORMAT = 154,
    TAGID_SVG_FONT_FACE_NAME = 155,
    TAGID_SVG_FONT_FACE_SRC = 156,
    TAGID_SVG_FONT_FACE_URI = 157,
    TAGID_SVG_FOREIGNOBJECT = 158,
    TAGID_SVG_G = 159,
    TAGID_SVG_GLYPH = 160,
    TAGID_SVG_GLYPHREF = 161,
    TAGID_SVG_HKERN = 162,
    TAGID_SVG_IMAGE = 163,
    TAGID_SVG_LINE = 164,
    TAGID_SVG_LINEARGRADIENT = 165,
    TAGID_SVG_MARKER = 166,
    TAGID_SVG_MASK = 167,
    TAGID_SVG_METADATA = 168,
    TAGID_SVG_MISSING_GLYPH = 169,
    TAGID_SVG_MPATH = 170,
    TAGID_SVG_PATH = 171,
    TAGID_SVG_PATTERN = 172,
    TAGID_SVG_POLYGON = 173,
    TAGID_SVG_POLYLINE = 174,
    TAGID_SVG_RADIALGRADIENT = 175,
    TAGID_SVG_RECT = 176,
    TAGID_SVG_SCRIPT = 177,
    TAGID_SVG_SET = 178,
    TAGID_SVG_STOP = 179,
    TAGID_SVG_STYLE = 180,
    TAGID_SVG_SVG = 181,
    TAGID_SVG_SWITCH = 182,
    TAGID_SVG_SYMBOL = 183,
    TAGID_SVG_TEXT = 184,
    TAGID_SVG_TEXTPATH = 185,
    TAGID_SVG_TITLE = 186,
    TAGID_SVG_TREF = 187,
    TAGID_SVG_TSPAN = 188,
    TAGID_SVG_USE = 189,
    TAGID_SVG_VIEW = 190,
    TAGID_SVG_VKERN = 191,
    TAGID_AUDIO = 192,
    TAGID_SOURCE = 193,
    TAGID_VIDEO = 194,
    TAGID_CANVAS = 195,
    TAGID_DOCTYPE = 196,
    TAGID_KEYGEN = 197,
    TAGID_PROCESSINGINSTRUCTION = 198,
    TAGID_ARTICLE = 199,
    TAGID_ASIDE = 200,
    TAGID_FIGCAPTION = 201,
    TAGID_FIGURE = 202,
    TAGID_FOOTER = 203,
    TAGID_HEADER = 204,
    TAGID_HGROUP = 205,
    TAGID_MARK = 206,
    TAGID_NAV = 207,
    TAGID_SECTION = 208,
    TAGID_PROGRESS = 209,
    TAGID_MATHML_ANNOTATION_XML = 210,
    TAGID_MATHML_MATH = 211,
    TAGID_MATHML_MI = 212,
    TAGID_MATHML_MN = 213,
    TAGID_MATHML_MO = 214,
    TAGID_MATHML_MS = 215,
    TAGID_MATHML_MTEXT = 216,
    TAGID_DATALIST = 217,
    TAGID_TRACK = 218,
    TAGID_ISINDEX = 219,
    TAGID_COMMAND = 220,
    TAGID_DETAILS = 221,
    TAGID_SUMMARY = 222,
    TAGID_COUNT = 223,
    TAGID_LAST_PREDEFINED = 10000,
    ELEMENT_TAG_ID_Max = 0x7fffffff
} ELEMENT_TAG_ID;
typedef enum _SELECTION_TYPE {
    SELECTION_TYPE_None = 0,
    SELECTION_TYPE_Caret = 1,
    SELECTION_TYPE_Text = 2,
    SELECTION_TYPE_Control = 3,
    SELECTION_TYPE_Max = 0x7fffffff
} SELECTION_TYPE;
typedef enum _SAVE_SEGMENTS_FLAGS {
    SAVE_SEGMENTS_NoIE4SelectionCompat = 0x1,
    SAVE_SEGMENTS_FLAGS_Max = 0x7fffffff
} SAVE_SEGMENTS_FLAGS;
typedef enum _CARET_DIRECTION {
    CARET_DIRECTION_INDETERMINATE = 0,
    CARET_DIRECTION_SAME = 1,
    CARET_DIRECTION_BACKWARD = 2,
    CARET_DIRECTION_FORWARD = 3,
    CARET_DIRECTION_Max = 0x7fffffff
} CARET_DIRECTION;
typedef enum _LINE_DIRECTION {
    LINE_DIRECTION_RightToLeft = 1,
    LINE_DIRECTION_LeftToRight = 2,
    LINE_DIRECTION_Max = 0x7fffffff
} LINE_DIRECTION;
typedef enum _HT_OPTIONS {
    HT_OPT_AllowAfterEOL = 0x1,
    HT_OPTIONS_Max = 0x7fffffff
} HT_OPTIONS;
typedef enum _HT_RESULTS {
    HT_RESULTS_Glyph = 0x1,
    HT_RESULTS_Max = 0x7fffffff
} HT_RESULTS;
typedef enum _DISPLAY_MOVEUNIT {
    DISPLAY_MOVEUNIT_PreviousLine = 1,
    DISPLAY_MOVEUNIT_NextLine = 2,
    DISPLAY_MOVEUNIT_CurrentLineStart = 3,
    DISPLAY_MOVEUNIT_CurrentLineEnd = 4,
    DISPLAY_MOVEUNIT_TopOfWindow = 5,
    DISPLAY_MOVEUNIT_BottomOfWindow = 6,
    DISPLAY_MOVEUNIT_Max = 0x7fffffff
} DISPLAY_MOVEUNIT;
typedef enum _DISPLAY_GRAVITY {
    DISPLAY_GRAVITY_PreviousLine = 1,
    DISPLAY_GRAVITY_NextLine = 2,
    DISPLAY_GRAVITY_Max = 0x7fffffff
} DISPLAY_GRAVITY;
typedef enum _DISPLAY_BREAK {
    DISPLAY_BREAK_None = 0x0,
    DISPLAY_BREAK_Block = 0x1,
    DISPLAY_BREAK_Break = 0x2,
    DISPLAY_BREAK_Max = 0x7fffffff
} DISPLAY_BREAK;
typedef enum _COORD_SYSTEM {
    COORD_SYSTEM_GLOBAL = 0,
    COORD_SYSTEM_PARENT = 1,
    COORD_SYSTEM_CONTAINER = 2,
    COORD_SYSTEM_CONTENT = 3,
    COORD_SYSTEM_FRAME = 4,
    COORD_SYSTEM_CLIENT = 5,
    COORD_SYSTEM_Max = 0x7fffffff
} COORD_SYSTEM;
typedef enum _DEV_CONSOLE_MESSAGE_LEVEL {
    DCML_INFORMATIONAL = 0x0,
    DCML_WARNING = 0x1,
    DCML_ERROR = 0x2,
    DEV_CONSOLE_MESSAGE_LEVEL_Max = 0x7fffffff
} DEV_CONSOLE_MESSAGE_LEVEL;
typedef enum _DOM_EVENT_PHASE {
    DEP_CAPTURING_PHASE = 0x1,
    DEP_AT_TARGET = 0x2,
    DEP_BUBBLING_PHASE = 0x3,
    DOM_EVENT_PHASE_Max = 0x7fffffff
} DOM_EVENT_PHASE;
typedef enum _SCRIPT_TIMER_TYPE {
    STT_TIMEOUT = 0x0,
    STT_INTERVAL = 0x1,
    STT_IMMEDIATE = 0x2,
    STT_ANIMATION_FRAME = 0x3,
    SCRIPT_TIMER_TYPE_Max = 0x7fffffff
} SCRIPT_TIMER_TYPE;
typedef enum _HTML_PAINTER {
    HTMLPAINTER_OPAQUE = 0x1,
    HTMLPAINTER_TRANSPARENT = 0x2,
    HTMLPAINTER_ALPHA = 0x4,
    HTMLPAINTER_COMPLEX = 0x8,
    HTMLPAINTER_OVERLAY = 0x10,
    HTMLPAINTER_HITTEST = 0x20,
    HTMLPAINTER_SURFACE = 0x100,
    HTMLPAINTER_3DSURFACE = 0x200,
    HTMLPAINTER_NOBAND = 0x400,
    HTMLPAINTER_NODC = 0x1000,
    HTMLPAINTER_NOPHYSICALCLIP = 0x2000,
    HTMLPAINTER_NOSAVEDC = 0x4000,
    HTMLPAINTER_SUPPORTS_XFORM = 0x8000,
    HTMLPAINTER_EXPAND = 0x10000,
    HTMLPAINTER_NOSCROLLBITS = 0x20000,
    HTML_PAINTER_Max = 0x7fffffff
} HTML_PAINTER;
typedef enum _HTML_PAINT_ZORDER {
    HTMLPAINT_ZORDER_NONE = 0,
    HTMLPAINT_ZORDER_REPLACE_ALL = 1,
    HTMLPAINT_ZORDER_REPLACE_CONTENT = 2,
    HTMLPAINT_ZORDER_REPLACE_BACKGROUND = 3,
    HTMLPAINT_ZORDER_BELOW_CONTENT = 4,
    HTMLPAINT_ZORDER_BELOW_FLOW = 5,
    HTMLPAINT_ZORDER_ABOVE_FLOW = 6,
    HTMLPAINT_ZORDER_ABOVE_CONTENT = 7,
    HTMLPAINT_ZORDER_WINDOW_TOP = 8,
    HTML_PAINT_ZORDER_Max = 0x7fffffff
} HTML_PAINT_ZORDER;
typedef enum _HTML_PAINT_DRAW_FLAGS {
    HTMLPAINT_DRAW_UPDATEREGION = 0x1,
    HTMLPAINT_DRAW_USE_XFORM = 0x2,
    HTML_PAINT_DRAW_FLAGS_Max = 0x7fffffff
} HTML_PAINT_DRAW_FLAGS;
typedef enum _HTML_PAINT_EVENT_FLAGS {
    HTMLPAINT_EVENT_TARGET = 0x1,
    HTMLPAINT_EVENT_SETCURSOR = 0x2,
    HTML_PAINT_EVENT_FLAGS_Max = 0x7fffffff
} HTML_PAINT_EVENT_FLAGS;
typedef enum _HTML_PAINT_DRAW_INFO_FLAGS {
    HTMLPAINT_DRAWINFO_VIEWPORT = 0x1,
    HTMLPAINT_DRAWINFO_UPDATEREGION = 0x2,
    HTMLPAINT_DRAWINFO_XFORM = 0x4,
    HTML_PAINT_DRAW_INFO_FLAGS_Max = 0x7fffffff
} HTML_PAINT_DRAW_INFO_FLAGS;
typedef struct _HTML_PAINTER_INFO {
    LONG lFlags;
    LONG lZOrder;
    IID iidDrawObject;
    RECT rcExpand;
} HTML_PAINTER_INFO;
typedef struct _HTML_PAINT_XFORM {
    FLOAT eM11;
    FLOAT eM12;
    FLOAT eM21;
    FLOAT eM22;
    FLOAT eDx;
    FLOAT eDy;
} HTML_PAINT_XFORM;
typedef struct _HTML_PAINT_DRAW_INFO {
    RECT rcViewport;
    HRGN hrgnUpdate;
    HTML_PAINT_XFORM xform;
} HTML_PAINT_DRAW_INFO;
#ifndef __IElementBehavior_FWD_DEFINED__
#define __IElementBehavior_FWD_DEFINED__
typedef interface IElementBehavior IElementBehavior;
#ifdef __cplusplus
interface IElementBehavior;
#endif /* __cplusplus */
#endif

#ifndef __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;
#ifdef __cplusplus
interface IElementBehaviorSite;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLElementDefaults_FWD_DEFINED__
#define __IHTMLElementDefaults_FWD_DEFINED__
typedef interface IHTMLElementDefaults IHTMLElementDefaults;
#ifdef __cplusplus
interface IHTMLElementDefaults;
#endif /* __cplusplus */
#endif

#ifndef __ISurfacePresenter_FWD_DEFINED__
#define __ISurfacePresenter_FWD_DEFINED__
typedef interface ISurfacePresenter ISurfacePresenter;
#ifdef __cplusplus
interface ISurfacePresenter;
#endif /* __cplusplus */
#endif

EXTERN_C const GUID CLSID_CAppBehavior;
EXTERN_C const GUID CLSID_CHTMLDlg;
EXTERN_C const GUID CLSID_CHTMLPopup;
EXTERN_C const GUID CLSID_CThreadDialogProcParam;
typedef enum _HTMLDlgFlag {
    HTMLDlgFlagNo = 0,
    HTMLDlgFlagOff = 0,
    HTMLDlgFlag0 = 0,
    HTMLDlgFlagYes = 1,
    HTMLDlgFlagOn = 1,
    HTMLDlgFlag1 = 1,
    HTMLDlgFlagNotSet = -1,
    HTMLDlgFlag_Max = 0x7fffffff
} HTMLDlgFlag;
typedef enum _HTMLDlgBorder {
    HTMLDlgBorderThin = 0,
    HTMLDlgBorderThick = 0x40000,
    HTMLDlgBorder_Max = 0x7fffffff
} HTMLDlgBorder;
typedef enum _HTMLDlgEdge {
    HTMLDlgEdgeSunken = 0,
    HTMLDlgEdgeRaised = 16,
    HTMLDlgEdge_Max = 0x7fffffff
} HTMLDlgEdge;
typedef enum _HTMLDlgCenter {
    HTMLDlgCenterNo = 0,
    HTMLDlgCenterOff = 0,
    HTMLDlgCenter0 = 0,
    HTMLDlgCenterYes = 1,
    HTMLDlgCenterOn = 1,
    HTMLDlgCenter1 = 1,
    HTMLDlgCenterParent = 1,
    HTMLDlgCenterDesktop = 2,
    HTMLDlgCenter_Max = 0x7fffffff
} HTMLDlgCenter;
typedef enum _HTMLAppFlag {
    HTMLAppFlagNo = 0,
    HTMLAppFlagOff = 0,
    HTMLAppFlag0 = 0,
    HTMLAppFlagYes = 1,
    HTMLAppFlagOn = 1,
    HTMLAppFlag1 = 1,
    HTMLAppFlag_Max = 0x7fffffff
} HTMLAppFlag;
typedef enum _HTMLMinimizeFlag {
    HTMLMinimizeFlagNo = 0,
    HTMLMinimizeFlagYes = 0x20000,
    HTMLMinimizeFlag_Max = 0x7fffffff
} HTMLMinimizeFlag;
typedef enum _HTMLMaximizeFlag {
    HTMLMaximizeFlagNo = 0,
    HTMLMaximizeFlagYes = 0x10000,
    HTMLMaximizeFlag_Max = 0x7fffffff
} HTMLMaximizeFlag;
typedef enum _HTMLCaptionFlag {
    HTMLCaptionFlagNo = 0,
    HTMLCaptionFlagYes = 0xc00000,
    HTMLCaptionFlag_Max = 0x7fffffff
} HTMLCaptionFlag;
typedef enum _HTMLSysMenuFlag {
    HTMLSysMenuFlagNo = 0,
    HTMLSysMenuFlagYes = 0x80000,
    HTMLSysMenuFlag_Max = 0x7fffffff
} HTMLSysMenuFlag;
typedef enum _HTMLBorder {
    HTMLBorderNone = 0,
    HTMLBorderThick = 0x40000,
    HTMLBorderDialog = 0x400000,
    HTMLBorderThin = 0x800000,
    HTMLBorder_Max = 0x7fffffff
} HTMLBorder;
typedef enum _HTMLBorderStyle {
    HTMLBorderStyleNormal = 0,
    HTMLBorderStyleRaised = 0x100,
    HTMLBorderStyleSunken = 0x200,
    HTMLBorderStylecombined = 0x300,
    HTMLBorderStyleStatic = 0x20000,
    HTMLBorderStyle_Max = 0x7fffffff
} HTMLBorderStyle;
typedef enum _HTMLWindowState {
    HTMLWindowStateNormal = 1,
    HTMLWindowStateMaximize = 3,
    HTMLWindowStateMinimize = 6,
    HTMLWindowState_Max = 0x7fffffff
} HTMLWindowState;
typedef enum _BEHAVIOR_EVENT {
    BEHAVIOREVENT_FIRST = 0,
    BEHAVIOREVENT_CONTENTREADY = 0,
    BEHAVIOREVENT_DOCUMENTREADY = 1,
    BEHAVIOREVENT_APPLYSTYLE = 2,
    BEHAVIOREVENT_DOCUMENTCONTEXTCHANGE = 3,
    BEHAVIOREVENT_CONTENTSAVE = 4,
    BEHAVIOREVENT_LAST = 4,
    BEHAVIOR_EVENT_Max = 0x7fffffff
} BEHAVIOR_EVENT;
typedef enum _BEHAVIOR_EVENT_FLAGS {
    BEHAVIOREVENTFLAGS_BUBBLE = 1,
    BEHAVIOREVENTFLAGS_STANDARDADDITIVE = 2,
    BEHAVIOR_EVENT_FLAGS_Max = 0x7fffffff
} BEHAVIOR_EVENT_FLAGS;
typedef enum _BEHAVIOR_RENDER_INFO {
    BEHAVIORRENDERINFO_BEFOREBACKGROUND = 0x1,
    BEHAVIORRENDERINFO_AFTERBACKGROUND = 0x2,
    BEHAVIORRENDERINFO_BEFORECONTENT = 0x4,
    BEHAVIORRENDERINFO_AFTERCONTENT = 0x8,
    BEHAVIORRENDERINFO_AFTERFOREGROUND = 0x20,
    BEHAVIORRENDERINFO_ABOVECONTENT = 0x28,
    BEHAVIORRENDERINFO_ALLLAYERS = 0xff,
    BEHAVIORRENDERINFO_DISABLEBACKGROUND = 0x100,
    BEHAVIORRENDERINFO_DISABLENEGATIVEZ = 0x200,
    BEHAVIORRENDERINFO_DISABLECONTENT = 0x400,
    BEHAVIORRENDERINFO_DISABLEPOSITIVEZ = 0x800,
    BEHAVIORRENDERINFO_DISABLEALLLAYERS = 0xf00,
    BEHAVIORRENDERINFO_HITTESTING = 0x1000,
    BEHAVIORRENDERINFO_SURFACE = 0x100000,
    BEHAVIORRENDERINFO_3DSURFACE = 0x200000,
    BEHAVIOR_RENDER_INFO_Max = 0x7fffffff
} BEHAVIOR_RENDER_INFO;
typedef enum _BEHAVIOR_RELATION {
    BEHAVIOR_FIRSTRELATION = 0,
    BEHAVIOR_SAMEELEMENT = 0,
    BEHAVIOR_PARENT = 1,
    BEHAVIOR_CHILD = 2,
    BEHAVIOR_SIBLING = 3,
    BEHAVIOR_LASTRELATION = 3,
    BEHAVIOR_RELATION_Max = 0x7fffffff
} BEHAVIOR_RELATION;
typedef enum _BEHAVIOR_LAYOUT_INFO {
    BEHAVIORLAYOUTINFO_FULLDELEGATION = 0x1,
    BEHAVIORLAYOUTINFO_MODIFYNATURAL = 0x2,
    BEHAVIORLAYOUTINFO_MAPSIZE = 0x4,
    BEHAVIOR_LAYOUT_INFO_Max = 0x7fffffff
} BEHAVIOR_LAYOUT_INFO;
typedef enum _BEHAVIOR_LAYOUT_MODE {
    BEHAVIORLAYOUTMODE_NATURAL = 0x1,
    BEHAVIORLAYOUTMODE_MINWIDTH = 0x2,
    BEHAVIORLAYOUTMODE_MAXWIDTH = 0x4,
    BEHAVIORLAYOUTMODE_MEDIA_RESOLUTION = 0x4000,
    BEHAVIORLAYOUTMODE_FINAL_PERCENT = 0x8000,
    BEHAVIOR_LAYOUT_MODE_Max = 0x7fffffff
} BEHAVIOR_LAYOUT_MODE;
typedef enum _ELEMENTDESCRIPTOR_FLAGS {
    ELEMENTDESCRIPTORFLAGS_LITERAL = 1,
    ELEMENTDESCRIPTORFLAGS_NESTED_LITERAL = 2,
    ELEMENTDESCRIPTOR_FLAGS_Max = 0x7fffffff
} ELEMENTDESCRIPTOR_FLAGS;
typedef enum _ELEMENTNAMESPACE_FLAGS {
    ELEMENTNAMESPACEFLAGS_ALLOWANYTAG = 0x1,
    ELEMENTNAMESPACEFLAGS_QUERYFORUNKNOWNTAGS = 0x2,
    ELEMENTNAMESPACE_FLAGS_Max = 0x7fffffff
} ELEMENTNAMESPACE_FLAGS;
typedef enum _VIEW_OBJECT_ALPHA_MODE {
    VIEW_OBJECT_ALPHA_MODE_IGNORE = 0,
    VIEW_OBJECT_ALPHA_MODE_PREMULTIPLIED = 1,
    VIEW_OBJECT_ALPHA_MODE_Max = 0x7fffffff
} VIEW_OBJECT_ALPHA_MODE;
typedef enum _VIEW_OBJECT_COMPOSITION_MODE {
    VIEW_OBJECT_COMPOSITION_MODE_LEGACY = 0,
    VIEW_OBJECT_COMPOSITION_MODE_SURFACEPRESENTER = 1,
    VIEW_OBJECT_COMPOSITION_MODE_Max = 0x7fffffff
} VIEW_OBJECT_COMPOSITION_MODE;
/*****************************************************************************
 * ICSSFilterSite interface
 */
#ifndef __ICSSFilterSite_INTERFACE_DEFINED__
#define __ICSSFilterSite_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICSSFilterSite, 0x3050f3ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3ed-98b5-11cf-bb82-00aa00bdce0b")
ICSSFilterSite : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetElement(
        IHTMLElement **Element) = 0;

    virtual HRESULT STDMETHODCALLTYPE FireOnFilterChangeEvent(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICSSFilterSite, 0x3050f3ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICSSFilterSiteVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICSSFilterSite *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICSSFilterSite *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICSSFilterSite *This);

    /*** ICSSFilterSite methods ***/
    HRESULT (STDMETHODCALLTYPE *GetElement)(
        ICSSFilterSite *This,
        IHTMLElement **Element);

    HRESULT (STDMETHODCALLTYPE *FireOnFilterChangeEvent)(
        ICSSFilterSite *This);

    END_INTERFACE
} ICSSFilterSiteVtbl;

interface ICSSFilterSite {
    CONST_VTBL ICSSFilterSiteVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICSSFilterSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICSSFilterSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICSSFilterSite_Release(This) (This)->lpVtbl->Release(This)
/*** ICSSFilterSite methods ***/
#define ICSSFilterSite_GetElement(This,Element) (This)->lpVtbl->GetElement(This,Element)
#define ICSSFilterSite_FireOnFilterChangeEvent(This) (This)->lpVtbl->FireOnFilterChangeEvent(This)
#else
/*** IUnknown methods ***/
static inline HRESULT ICSSFilterSite_QueryInterface(ICSSFilterSite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICSSFilterSite_AddRef(ICSSFilterSite* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICSSFilterSite_Release(ICSSFilterSite* This) {
    return This->lpVtbl->Release(This);
}
/*** ICSSFilterSite methods ***/
static inline HRESULT ICSSFilterSite_GetElement(ICSSFilterSite* This,IHTMLElement **Element) {
    return This->lpVtbl->GetElement(This,Element);
}
static inline HRESULT ICSSFilterSite_FireOnFilterChangeEvent(ICSSFilterSite* This) {
    return This->lpVtbl->FireOnFilterChangeEvent(This);
}
#endif
#endif

#endif


#endif  /* __ICSSFilterSite_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ICSSFilter interface
 */
#ifndef __ICSSFilter_INTERFACE_DEFINED__
#define __ICSSFilter_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICSSFilter, 0x3050f3ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f3ec-98b5-11cf-bb82-00aa00bdce0b")
ICSSFilter : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetSite(
        ICSSFilterSite *pSink) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnAmbientPropertyChange(
        LONG dispid) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICSSFilter, 0x3050f3ec, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICSSFilterVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICSSFilter *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICSSFilter *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICSSFilter *This);

    /*** ICSSFilter methods ***/
    HRESULT (STDMETHODCALLTYPE *SetSite)(
        ICSSFilter *This,
        ICSSFilterSite *pSink);

    HRESULT (STDMETHODCALLTYPE *OnAmbientPropertyChange)(
        ICSSFilter *This,
        LONG dispid);

    END_INTERFACE
} ICSSFilterVtbl;

interface ICSSFilter {
    CONST_VTBL ICSSFilterVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICSSFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICSSFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICSSFilter_Release(This) (This)->lpVtbl->Release(This)
/*** ICSSFilter methods ***/
#define ICSSFilter_SetSite(This,pSink) (This)->lpVtbl->SetSite(This,pSink)
#define ICSSFilter_OnAmbientPropertyChange(This,dispid) (This)->lpVtbl->OnAmbientPropertyChange(This,dispid)
#else
/*** IUnknown methods ***/
static inline HRESULT ICSSFilter_QueryInterface(ICSSFilter* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICSSFilter_AddRef(ICSSFilter* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICSSFilter_Release(ICSSFilter* This) {
    return This->lpVtbl->Release(This);
}
/*** ICSSFilter methods ***/
static inline HRESULT ICSSFilter_SetSite(ICSSFilter* This,ICSSFilterSite *pSink) {
    return This->lpVtbl->SetSite(This,pSink);
}
static inline HRESULT ICSSFilter_OnAmbientPropertyChange(ICSSFilter* This,LONG dispid) {
    return This->lpVtbl->OnAmbientPropertyChange(This,dispid);
}
#endif
#endif

#endif


#endif  /* __ICSSFilter_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISecureUrlHost interface
 */
#ifndef __ISecureUrlHost_INTERFACE_DEFINED__
#define __ISecureUrlHost_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISecureUrlHost, 0xc81984c4, 0x74c8, 0x11d2, 0xba,0xa9, 0x00,0xc0,0x4f,0xc2,0x04,0x0e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c81984c4-74c8-11d2-baa9-00c04fc2040e")
ISecureUrlHost : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE ValidateSecureUrl(
        WINBOOL *pfAllow,
        OLECHAR *pchUrlInQuestion,
        DWORD dwFlags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISecureUrlHost, 0xc81984c4, 0x74c8, 0x11d2, 0xba,0xa9, 0x00,0xc0,0x4f,0xc2,0x04,0x0e)
#endif
#else
typedef struct ISecureUrlHostVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISecureUrlHost *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISecureUrlHost *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISecureUrlHost *This);

    /*** ISecureUrlHost methods ***/
    HRESULT (STDMETHODCALLTYPE *ValidateSecureUrl)(
        ISecureUrlHost *This,
        WINBOOL *pfAllow,
        OLECHAR *pchUrlInQuestion,
        DWORD dwFlags);

    END_INTERFACE
} ISecureUrlHostVtbl;

interface ISecureUrlHost {
    CONST_VTBL ISecureUrlHostVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISecureUrlHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISecureUrlHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISecureUrlHost_Release(This) (This)->lpVtbl->Release(This)
/*** ISecureUrlHost methods ***/
#define ISecureUrlHost_ValidateSecureUrl(This,pfAllow,pchUrlInQuestion,dwFlags) (This)->lpVtbl->ValidateSecureUrl(This,pfAllow,pchUrlInQuestion,dwFlags)
#else
/*** IUnknown methods ***/
static inline HRESULT ISecureUrlHost_QueryInterface(ISecureUrlHost* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISecureUrlHost_AddRef(ISecureUrlHost* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISecureUrlHost_Release(ISecureUrlHost* This) {
    return This->lpVtbl->Release(This);
}
/*** ISecureUrlHost methods ***/
static inline HRESULT ISecureUrlHost_ValidateSecureUrl(ISecureUrlHost* This,WINBOOL *pfAllow,OLECHAR *pchUrlInQuestion,DWORD dwFlags) {
    return This->lpVtbl->ValidateSecureUrl(This,pfAllow,pchUrlInQuestion,dwFlags);
}
#endif
#endif

#endif


#endif  /* __ISecureUrlHost_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMarkupServices interface
 */
#ifndef __IMarkupServices_INTERFACE_DEFINED__
#define __IMarkupServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMarkupServices, 0x3050f4a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4a0-98b5-11cf-bb82-00aa00bdce0b")
IMarkupServices : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CreateMarkupPointer(
        IMarkupPointer **ppPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateMarkupContainer(
        IMarkupContainer **ppMarkupContainer) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateElement(
        ELEMENT_TAG_ID tagID,
        OLECHAR *pchAttributes,
        IHTMLElement **ppElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE CloneElement(
        IHTMLElement *pElemCloneThis,
        IHTMLElement **ppElementTheClone) = 0;

    virtual HRESULT STDMETHODCALLTYPE InsertElement(
        IHTMLElement *pElementInsert,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveElement(
        IHTMLElement *pElementRemove) = 0;

    virtual HRESULT STDMETHODCALLTYPE Remove(
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish) = 0;

    virtual HRESULT STDMETHODCALLTYPE Copy(
        IMarkupPointer *pPointerSourceStart,
        IMarkupPointer *pPointerSourceFinish,
        IMarkupPointer *pPointerTarget) = 0;

    virtual HRESULT STDMETHODCALLTYPE Move(
        IMarkupPointer *pPointerSourceStart,
        IMarkupPointer *pPointerSourceFinish,
        IMarkupPointer *pPointerTarget) = 0;

    virtual HRESULT STDMETHODCALLTYPE InsertText(
        OLECHAR *pchText,
        LONG cch,
        IMarkupPointer *pPointerTarget) = 0;

    virtual HRESULT STDMETHODCALLTYPE ParseString(
        OLECHAR *pchHTML,
        DWORD dwFlags,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *ppPointerStart,
        IMarkupPointer *ppPointerFinish) = 0;

    virtual HRESULT STDMETHODCALLTYPE ParseGlobal(
        HGLOBAL hglobalHTML,
        DWORD dwFlags,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsScopedElement(
        IHTMLElement *pElement,
        WINBOOL *pfScoped) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetElementTagId(
        IHTMLElement *pElement,
        ELEMENT_TAG_ID *ptagId) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTagIDForName(
        BSTR bstrName,
        ELEMENT_TAG_ID *ptagId) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetNameForTagID(
        ELEMENT_TAG_ID tagId,
        BSTR *pbstrName) = 0;

    virtual HRESULT STDMETHODCALLTYPE MovePointersToRange(
        IHTMLTxtRange *pIRange,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveRangeToPointers(
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish,
        IHTMLTxtRange *pIRange) = 0;

    virtual HRESULT STDMETHODCALLTYPE BeginUndoUnit(
        OLECHAR *pchTitle) = 0;

    virtual HRESULT STDMETHODCALLTYPE EndUndoUnit(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMarkupServices, 0x3050f4a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IMarkupServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMarkupServices *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMarkupServices *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMarkupServices *This);

    /*** IMarkupServices methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateMarkupPointer)(
        IMarkupServices *This,
        IMarkupPointer **ppPointer);

    HRESULT (STDMETHODCALLTYPE *CreateMarkupContainer)(
        IMarkupServices *This,
        IMarkupContainer **ppMarkupContainer);

    HRESULT (STDMETHODCALLTYPE *CreateElement)(
        IMarkupServices *This,
        ELEMENT_TAG_ID tagID,
        OLECHAR *pchAttributes,
        IHTMLElement **ppElement);

    HRESULT (STDMETHODCALLTYPE *CloneElement)(
        IMarkupServices *This,
        IHTMLElement *pElemCloneThis,
        IHTMLElement **ppElementTheClone);

    HRESULT (STDMETHODCALLTYPE *InsertElement)(
        IMarkupServices *This,
        IHTMLElement *pElementInsert,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *RemoveElement)(
        IMarkupServices *This,
        IHTMLElement *pElementRemove);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        IMarkupServices *This,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *Copy)(
        IMarkupServices *This,
        IMarkupPointer *pPointerSourceStart,
        IMarkupPointer *pPointerSourceFinish,
        IMarkupPointer *pPointerTarget);

    HRESULT (STDMETHODCALLTYPE *Move)(
        IMarkupServices *This,
        IMarkupPointer *pPointerSourceStart,
        IMarkupPointer *pPointerSourceFinish,
        IMarkupPointer *pPointerTarget);

    HRESULT (STDMETHODCALLTYPE *InsertText)(
        IMarkupServices *This,
        OLECHAR *pchText,
        LONG cch,
        IMarkupPointer *pPointerTarget);

    HRESULT (STDMETHODCALLTYPE *ParseString)(
        IMarkupServices *This,
        OLECHAR *pchHTML,
        DWORD dwFlags,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *ppPointerStart,
        IMarkupPointer *ppPointerFinish);

    HRESULT (STDMETHODCALLTYPE *ParseGlobal)(
        IMarkupServices *This,
        HGLOBAL hglobalHTML,
        DWORD dwFlags,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *IsScopedElement)(
        IMarkupServices *This,
        IHTMLElement *pElement,
        WINBOOL *pfScoped);

    HRESULT (STDMETHODCALLTYPE *GetElementTagId)(
        IMarkupServices *This,
        IHTMLElement *pElement,
        ELEMENT_TAG_ID *ptagId);

    HRESULT (STDMETHODCALLTYPE *GetTagIDForName)(
        IMarkupServices *This,
        BSTR bstrName,
        ELEMENT_TAG_ID *ptagId);

    HRESULT (STDMETHODCALLTYPE *GetNameForTagID)(
        IMarkupServices *This,
        ELEMENT_TAG_ID tagId,
        BSTR *pbstrName);

    HRESULT (STDMETHODCALLTYPE *MovePointersToRange)(
        IMarkupServices *This,
        IHTMLTxtRange *pIRange,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *MoveRangeToPointers)(
        IMarkupServices *This,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish,
        IHTMLTxtRange *pIRange);

    HRESULT (STDMETHODCALLTYPE *BeginUndoUnit)(
        IMarkupServices *This,
        OLECHAR *pchTitle);

    HRESULT (STDMETHODCALLTYPE *EndUndoUnit)(
        IMarkupServices *This);

    END_INTERFACE
} IMarkupServicesVtbl;

interface IMarkupServices {
    CONST_VTBL IMarkupServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMarkupServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMarkupServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMarkupServices_Release(This) (This)->lpVtbl->Release(This)
/*** IMarkupServices methods ***/
#define IMarkupServices_CreateMarkupPointer(This,ppPointer) (This)->lpVtbl->CreateMarkupPointer(This,ppPointer)
#define IMarkupServices_CreateMarkupContainer(This,ppMarkupContainer) (This)->lpVtbl->CreateMarkupContainer(This,ppMarkupContainer)
#define IMarkupServices_CreateElement(This,tagID,pchAttributes,ppElement) (This)->lpVtbl->CreateElement(This,tagID,pchAttributes,ppElement)
#define IMarkupServices_CloneElement(This,pElemCloneThis,ppElementTheClone) (This)->lpVtbl->CloneElement(This,pElemCloneThis,ppElementTheClone)
#define IMarkupServices_InsertElement(This,pElementInsert,pPointerStart,pPointerFinish) (This)->lpVtbl->InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)
#define IMarkupServices_RemoveElement(This,pElementRemove) (This)->lpVtbl->RemoveElement(This,pElementRemove)
#define IMarkupServices_Remove(This,pPointerStart,pPointerFinish) (This)->lpVtbl->Remove(This,pPointerStart,pPointerFinish)
#define IMarkupServices_Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) (This)->lpVtbl->Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
#define IMarkupServices_Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) (This)->lpVtbl->Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
#define IMarkupServices_InsertText(This,pchText,cch,pPointerTarget) (This)->lpVtbl->InsertText(This,pchText,cch,pPointerTarget)
#define IMarkupServices_ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish) (This)->lpVtbl->ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)
#define IMarkupServices_ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish) (This)->lpVtbl->ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)
#define IMarkupServices_IsScopedElement(This,pElement,pfScoped) (This)->lpVtbl->IsScopedElement(This,pElement,pfScoped)
#define IMarkupServices_GetElementTagId(This,pElement,ptagId) (This)->lpVtbl->GetElementTagId(This,pElement,ptagId)
#define IMarkupServices_GetTagIDForName(This,bstrName,ptagId) (This)->lpVtbl->GetTagIDForName(This,bstrName,ptagId)
#define IMarkupServices_GetNameForTagID(This,tagId,pbstrName) (This)->lpVtbl->GetNameForTagID(This,tagId,pbstrName)
#define IMarkupServices_MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish) (This)->lpVtbl->MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)
#define IMarkupServices_MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange) (This)->lpVtbl->MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)
#define IMarkupServices_BeginUndoUnit(This,pchTitle) (This)->lpVtbl->BeginUndoUnit(This,pchTitle)
#define IMarkupServices_EndUndoUnit(This) (This)->lpVtbl->EndUndoUnit(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IMarkupServices_QueryInterface(IMarkupServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMarkupServices_AddRef(IMarkupServices* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMarkupServices_Release(IMarkupServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupServices methods ***/
static inline HRESULT IMarkupServices_CreateMarkupPointer(IMarkupServices* This,IMarkupPointer **ppPointer) {
    return This->lpVtbl->CreateMarkupPointer(This,ppPointer);
}
static inline HRESULT IMarkupServices_CreateMarkupContainer(IMarkupServices* This,IMarkupContainer **ppMarkupContainer) {
    return This->lpVtbl->CreateMarkupContainer(This,ppMarkupContainer);
}
static inline HRESULT IMarkupServices_CreateElement(IMarkupServices* This,ELEMENT_TAG_ID tagID,OLECHAR *pchAttributes,IHTMLElement **ppElement) {
    return This->lpVtbl->CreateElement(This,tagID,pchAttributes,ppElement);
}
static inline HRESULT IMarkupServices_CloneElement(IMarkupServices* This,IHTMLElement *pElemCloneThis,IHTMLElement **ppElementTheClone) {
    return This->lpVtbl->CloneElement(This,pElemCloneThis,ppElementTheClone);
}
static inline HRESULT IMarkupServices_InsertElement(IMarkupServices* This,IHTMLElement *pElementInsert,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->InsertElement(This,pElementInsert,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices_RemoveElement(IMarkupServices* This,IHTMLElement *pElementRemove) {
    return This->lpVtbl->RemoveElement(This,pElementRemove);
}
static inline HRESULT IMarkupServices_Remove(IMarkupServices* This,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->Remove(This,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices_Copy(IMarkupServices* This,IMarkupPointer *pPointerSourceStart,IMarkupPointer *pPointerSourceFinish,IMarkupPointer *pPointerTarget) {
    return This->lpVtbl->Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget);
}
static inline HRESULT IMarkupServices_Move(IMarkupServices* This,IMarkupPointer *pPointerSourceStart,IMarkupPointer *pPointerSourceFinish,IMarkupPointer *pPointerTarget) {
    return This->lpVtbl->Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget);
}
static inline HRESULT IMarkupServices_InsertText(IMarkupServices* This,OLECHAR *pchText,LONG cch,IMarkupPointer *pPointerTarget) {
    return This->lpVtbl->InsertText(This,pchText,cch,pPointerTarget);
}
static inline HRESULT IMarkupServices_ParseString(IMarkupServices* This,OLECHAR *pchHTML,DWORD dwFlags,IMarkupContainer **ppContainerResult,IMarkupPointer *ppPointerStart,IMarkupPointer *ppPointerFinish) {
    return This->lpVtbl->ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish);
}
static inline HRESULT IMarkupServices_ParseGlobal(IMarkupServices* This,HGLOBAL hglobalHTML,DWORD dwFlags,IMarkupContainer **ppContainerResult,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices_IsScopedElement(IMarkupServices* This,IHTMLElement *pElement,WINBOOL *pfScoped) {
    return This->lpVtbl->IsScopedElement(This,pElement,pfScoped);
}
static inline HRESULT IMarkupServices_GetElementTagId(IMarkupServices* This,IHTMLElement *pElement,ELEMENT_TAG_ID *ptagId) {
    return This->lpVtbl->GetElementTagId(This,pElement,ptagId);
}
static inline HRESULT IMarkupServices_GetTagIDForName(IMarkupServices* This,BSTR bstrName,ELEMENT_TAG_ID *ptagId) {
    return This->lpVtbl->GetTagIDForName(This,bstrName,ptagId);
}
static inline HRESULT IMarkupServices_GetNameForTagID(IMarkupServices* This,ELEMENT_TAG_ID tagId,BSTR *pbstrName) {
    return This->lpVtbl->GetNameForTagID(This,tagId,pbstrName);
}
static inline HRESULT IMarkupServices_MovePointersToRange(IMarkupServices* This,IHTMLTxtRange *pIRange,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices_MoveRangeToPointers(IMarkupServices* This,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish,IHTMLTxtRange *pIRange) {
    return This->lpVtbl->MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange);
}
static inline HRESULT IMarkupServices_BeginUndoUnit(IMarkupServices* This,OLECHAR *pchTitle) {
    return This->lpVtbl->BeginUndoUnit(This,pchTitle);
}
static inline HRESULT IMarkupServices_EndUndoUnit(IMarkupServices* This) {
    return This->lpVtbl->EndUndoUnit(This);
}
#endif
#endif

#endif


#endif  /* __IMarkupServices_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMarkupServices2 interface
 */
#ifndef __IMarkupServices2_INTERFACE_DEFINED__
#define __IMarkupServices2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMarkupServices2, 0x3050f682, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f682-98b5-11cf-bb82-00aa00bdce0b")
IMarkupServices2 : public IMarkupServices
{
    virtual HRESULT STDMETHODCALLTYPE ParseGlobalEx(
        HGLOBAL hglobalHTML,
        DWORD dwFlags,
        IMarkupContainer *pContext,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish) = 0;

    virtual HRESULT STDMETHODCALLTYPE ValidateElements(
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish,
        IMarkupPointer *pPointerTarget,
        IMarkupPointer *pPointerStatus,
        IHTMLElement **ppElemFailBottom,
        IHTMLElement **ppElemFailTop) = 0;

    virtual HRESULT STDMETHODCALLTYPE SaveSegmentsToClipboard(
        ISegmentList *pSegmentList,
        DWORD dwFlags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMarkupServices2, 0x3050f682, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IMarkupServices2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMarkupServices2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMarkupServices2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMarkupServices2 *This);

    /*** IMarkupServices methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateMarkupPointer)(
        IMarkupServices2 *This,
        IMarkupPointer **ppPointer);

    HRESULT (STDMETHODCALLTYPE *CreateMarkupContainer)(
        IMarkupServices2 *This,
        IMarkupContainer **ppMarkupContainer);

    HRESULT (STDMETHODCALLTYPE *CreateElement)(
        IMarkupServices2 *This,
        ELEMENT_TAG_ID tagID,
        OLECHAR *pchAttributes,
        IHTMLElement **ppElement);

    HRESULT (STDMETHODCALLTYPE *CloneElement)(
        IMarkupServices2 *This,
        IHTMLElement *pElemCloneThis,
        IHTMLElement **ppElementTheClone);

    HRESULT (STDMETHODCALLTYPE *InsertElement)(
        IMarkupServices2 *This,
        IHTMLElement *pElementInsert,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *RemoveElement)(
        IMarkupServices2 *This,
        IHTMLElement *pElementRemove);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        IMarkupServices2 *This,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *Copy)(
        IMarkupServices2 *This,
        IMarkupPointer *pPointerSourceStart,
        IMarkupPointer *pPointerSourceFinish,
        IMarkupPointer *pPointerTarget);

    HRESULT (STDMETHODCALLTYPE *Move)(
        IMarkupServices2 *This,
        IMarkupPointer *pPointerSourceStart,
        IMarkupPointer *pPointerSourceFinish,
        IMarkupPointer *pPointerTarget);

    HRESULT (STDMETHODCALLTYPE *InsertText)(
        IMarkupServices2 *This,
        OLECHAR *pchText,
        LONG cch,
        IMarkupPointer *pPointerTarget);

    HRESULT (STDMETHODCALLTYPE *ParseString)(
        IMarkupServices2 *This,
        OLECHAR *pchHTML,
        DWORD dwFlags,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *ppPointerStart,
        IMarkupPointer *ppPointerFinish);

    HRESULT (STDMETHODCALLTYPE *ParseGlobal)(
        IMarkupServices2 *This,
        HGLOBAL hglobalHTML,
        DWORD dwFlags,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *IsScopedElement)(
        IMarkupServices2 *This,
        IHTMLElement *pElement,
        WINBOOL *pfScoped);

    HRESULT (STDMETHODCALLTYPE *GetElementTagId)(
        IMarkupServices2 *This,
        IHTMLElement *pElement,
        ELEMENT_TAG_ID *ptagId);

    HRESULT (STDMETHODCALLTYPE *GetTagIDForName)(
        IMarkupServices2 *This,
        BSTR bstrName,
        ELEMENT_TAG_ID *ptagId);

    HRESULT (STDMETHODCALLTYPE *GetNameForTagID)(
        IMarkupServices2 *This,
        ELEMENT_TAG_ID tagId,
        BSTR *pbstrName);

    HRESULT (STDMETHODCALLTYPE *MovePointersToRange)(
        IMarkupServices2 *This,
        IHTMLTxtRange *pIRange,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *MoveRangeToPointers)(
        IMarkupServices2 *This,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish,
        IHTMLTxtRange *pIRange);

    HRESULT (STDMETHODCALLTYPE *BeginUndoUnit)(
        IMarkupServices2 *This,
        OLECHAR *pchTitle);

    HRESULT (STDMETHODCALLTYPE *EndUndoUnit)(
        IMarkupServices2 *This);

    /*** IMarkupServices2 methods ***/
    HRESULT (STDMETHODCALLTYPE *ParseGlobalEx)(
        IMarkupServices2 *This,
        HGLOBAL hglobalHTML,
        DWORD dwFlags,
        IMarkupContainer *pContext,
        IMarkupContainer **ppContainerResult,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish);

    HRESULT (STDMETHODCALLTYPE *ValidateElements)(
        IMarkupServices2 *This,
        IMarkupPointer *pPointerStart,
        IMarkupPointer *pPointerFinish,
        IMarkupPointer *pPointerTarget,
        IMarkupPointer *pPointerStatus,
        IHTMLElement **ppElemFailBottom,
        IHTMLElement **ppElemFailTop);

    HRESULT (STDMETHODCALLTYPE *SaveSegmentsToClipboard)(
        IMarkupServices2 *This,
        ISegmentList *pSegmentList,
        DWORD dwFlags);

    END_INTERFACE
} IMarkupServices2Vtbl;

interface IMarkupServices2 {
    CONST_VTBL IMarkupServices2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMarkupServices2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMarkupServices2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMarkupServices2_Release(This) (This)->lpVtbl->Release(This)
/*** IMarkupServices methods ***/
#define IMarkupServices2_CreateMarkupPointer(This,ppPointer) (This)->lpVtbl->CreateMarkupPointer(This,ppPointer)
#define IMarkupServices2_CreateMarkupContainer(This,ppMarkupContainer) (This)->lpVtbl->CreateMarkupContainer(This,ppMarkupContainer)
#define IMarkupServices2_CreateElement(This,tagID,pchAttributes,ppElement) (This)->lpVtbl->CreateElement(This,tagID,pchAttributes,ppElement)
#define IMarkupServices2_CloneElement(This,pElemCloneThis,ppElementTheClone) (This)->lpVtbl->CloneElement(This,pElemCloneThis,ppElementTheClone)
#define IMarkupServices2_InsertElement(This,pElementInsert,pPointerStart,pPointerFinish) (This)->lpVtbl->InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)
#define IMarkupServices2_RemoveElement(This,pElementRemove) (This)->lpVtbl->RemoveElement(This,pElementRemove)
#define IMarkupServices2_Remove(This,pPointerStart,pPointerFinish) (This)->lpVtbl->Remove(This,pPointerStart,pPointerFinish)
#define IMarkupServices2_Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) (This)->lpVtbl->Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
#define IMarkupServices2_Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) (This)->lpVtbl->Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
#define IMarkupServices2_InsertText(This,pchText,cch,pPointerTarget) (This)->lpVtbl->InsertText(This,pchText,cch,pPointerTarget)
#define IMarkupServices2_ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish) (This)->lpVtbl->ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)
#define IMarkupServices2_ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish) (This)->lpVtbl->ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)
#define IMarkupServices2_IsScopedElement(This,pElement,pfScoped) (This)->lpVtbl->IsScopedElement(This,pElement,pfScoped)
#define IMarkupServices2_GetElementTagId(This,pElement,ptagId) (This)->lpVtbl->GetElementTagId(This,pElement,ptagId)
#define IMarkupServices2_GetTagIDForName(This,bstrName,ptagId) (This)->lpVtbl->GetTagIDForName(This,bstrName,ptagId)
#define IMarkupServices2_GetNameForTagID(This,tagId,pbstrName) (This)->lpVtbl->GetNameForTagID(This,tagId,pbstrName)
#define IMarkupServices2_MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish) (This)->lpVtbl->MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)
#define IMarkupServices2_MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange) (This)->lpVtbl->MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)
#define IMarkupServices2_BeginUndoUnit(This,pchTitle) (This)->lpVtbl->BeginUndoUnit(This,pchTitle)
#define IMarkupServices2_EndUndoUnit(This) (This)->lpVtbl->EndUndoUnit(This)
/*** IMarkupServices2 methods ***/
#define IMarkupServices2_ParseGlobalEx(This,hglobalHTML,dwFlags,pContext,ppContainerResult,pPointerStart,pPointerFinish) (This)->lpVtbl->ParseGlobalEx(This,hglobalHTML,dwFlags,pContext,ppContainerResult,pPointerStart,pPointerFinish)
#define IMarkupServices2_ValidateElements(This,pPointerStart,pPointerFinish,pPointerTarget,pPointerStatus,ppElemFailBottom,ppElemFailTop) (This)->lpVtbl->ValidateElements(This,pPointerStart,pPointerFinish,pPointerTarget,pPointerStatus,ppElemFailBottom,ppElemFailTop)
#define IMarkupServices2_SaveSegmentsToClipboard(This,pSegmentList,dwFlags) (This)->lpVtbl->SaveSegmentsToClipboard(This,pSegmentList,dwFlags)
#else
/*** IUnknown methods ***/
static inline HRESULT IMarkupServices2_QueryInterface(IMarkupServices2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMarkupServices2_AddRef(IMarkupServices2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMarkupServices2_Release(IMarkupServices2* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupServices methods ***/
static inline HRESULT IMarkupServices2_CreateMarkupPointer(IMarkupServices2* This,IMarkupPointer **ppPointer) {
    return This->lpVtbl->CreateMarkupPointer(This,ppPointer);
}
static inline HRESULT IMarkupServices2_CreateMarkupContainer(IMarkupServices2* This,IMarkupContainer **ppMarkupContainer) {
    return This->lpVtbl->CreateMarkupContainer(This,ppMarkupContainer);
}
static inline HRESULT IMarkupServices2_CreateElement(IMarkupServices2* This,ELEMENT_TAG_ID tagID,OLECHAR *pchAttributes,IHTMLElement **ppElement) {
    return This->lpVtbl->CreateElement(This,tagID,pchAttributes,ppElement);
}
static inline HRESULT IMarkupServices2_CloneElement(IMarkupServices2* This,IHTMLElement *pElemCloneThis,IHTMLElement **ppElementTheClone) {
    return This->lpVtbl->CloneElement(This,pElemCloneThis,ppElementTheClone);
}
static inline HRESULT IMarkupServices2_InsertElement(IMarkupServices2* This,IHTMLElement *pElementInsert,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->InsertElement(This,pElementInsert,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices2_RemoveElement(IMarkupServices2* This,IHTMLElement *pElementRemove) {
    return This->lpVtbl->RemoveElement(This,pElementRemove);
}
static inline HRESULT IMarkupServices2_Remove(IMarkupServices2* This,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->Remove(This,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices2_Copy(IMarkupServices2* This,IMarkupPointer *pPointerSourceStart,IMarkupPointer *pPointerSourceFinish,IMarkupPointer *pPointerTarget) {
    return This->lpVtbl->Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget);
}
static inline HRESULT IMarkupServices2_Move(IMarkupServices2* This,IMarkupPointer *pPointerSourceStart,IMarkupPointer *pPointerSourceFinish,IMarkupPointer *pPointerTarget) {
    return This->lpVtbl->Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget);
}
static inline HRESULT IMarkupServices2_InsertText(IMarkupServices2* This,OLECHAR *pchText,LONG cch,IMarkupPointer *pPointerTarget) {
    return This->lpVtbl->InsertText(This,pchText,cch,pPointerTarget);
}
static inline HRESULT IMarkupServices2_ParseString(IMarkupServices2* This,OLECHAR *pchHTML,DWORD dwFlags,IMarkupContainer **ppContainerResult,IMarkupPointer *ppPointerStart,IMarkupPointer *ppPointerFinish) {
    return This->lpVtbl->ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish);
}
static inline HRESULT IMarkupServices2_ParseGlobal(IMarkupServices2* This,HGLOBAL hglobalHTML,DWORD dwFlags,IMarkupContainer **ppContainerResult,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices2_IsScopedElement(IMarkupServices2* This,IHTMLElement *pElement,WINBOOL *pfScoped) {
    return This->lpVtbl->IsScopedElement(This,pElement,pfScoped);
}
static inline HRESULT IMarkupServices2_GetElementTagId(IMarkupServices2* This,IHTMLElement *pElement,ELEMENT_TAG_ID *ptagId) {
    return This->lpVtbl->GetElementTagId(This,pElement,ptagId);
}
static inline HRESULT IMarkupServices2_GetTagIDForName(IMarkupServices2* This,BSTR bstrName,ELEMENT_TAG_ID *ptagId) {
    return This->lpVtbl->GetTagIDForName(This,bstrName,ptagId);
}
static inline HRESULT IMarkupServices2_GetNameForTagID(IMarkupServices2* This,ELEMENT_TAG_ID tagId,BSTR *pbstrName) {
    return This->lpVtbl->GetNameForTagID(This,tagId,pbstrName);
}
static inline HRESULT IMarkupServices2_MovePointersToRange(IMarkupServices2* This,IHTMLTxtRange *pIRange,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices2_MoveRangeToPointers(IMarkupServices2* This,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish,IHTMLTxtRange *pIRange) {
    return This->lpVtbl->MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange);
}
static inline HRESULT IMarkupServices2_BeginUndoUnit(IMarkupServices2* This,OLECHAR *pchTitle) {
    return This->lpVtbl->BeginUndoUnit(This,pchTitle);
}
static inline HRESULT IMarkupServices2_EndUndoUnit(IMarkupServices2* This) {
    return This->lpVtbl->EndUndoUnit(This);
}
/*** IMarkupServices2 methods ***/
static inline HRESULT IMarkupServices2_ParseGlobalEx(IMarkupServices2* This,HGLOBAL hglobalHTML,DWORD dwFlags,IMarkupContainer *pContext,IMarkupContainer **ppContainerResult,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish) {
    return This->lpVtbl->ParseGlobalEx(This,hglobalHTML,dwFlags,pContext,ppContainerResult,pPointerStart,pPointerFinish);
}
static inline HRESULT IMarkupServices2_ValidateElements(IMarkupServices2* This,IMarkupPointer *pPointerStart,IMarkupPointer *pPointerFinish,IMarkupPointer *pPointerTarget,IMarkupPointer *pPointerStatus,IHTMLElement **ppElemFailBottom,IHTMLElement **ppElemFailTop) {
    return This->lpVtbl->ValidateElements(This,pPointerStart,pPointerFinish,pPointerTarget,pPointerStatus,ppElemFailBottom,ppElemFailTop);
}
static inline HRESULT IMarkupServices2_SaveSegmentsToClipboard(IMarkupServices2* This,ISegmentList *pSegmentList,DWORD dwFlags) {
    return This->lpVtbl->SaveSegmentsToClipboard(This,pSegmentList,dwFlags);
}
#endif
#endif

#endif


#endif  /* __IMarkupServices2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMarkupContainer interface
 */
#ifndef __IMarkupContainer_INTERFACE_DEFINED__
#define __IMarkupContainer_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMarkupContainer, 0x3050f5f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5f9-98b5-11cf-bb82-00aa00bdce0b")
IMarkupContainer : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE OwningDoc(
        IHTMLDocument2 **ppDoc) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMarkupContainer, 0x3050f5f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IMarkupContainerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMarkupContainer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMarkupContainer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMarkupContainer *This);

    /*** IMarkupContainer methods ***/
    HRESULT (STDMETHODCALLTYPE *OwningDoc)(
        IMarkupContainer *This,
        IHTMLDocument2 **ppDoc);

    END_INTERFACE
} IMarkupContainerVtbl;

interface IMarkupContainer {
    CONST_VTBL IMarkupContainerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMarkupContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMarkupContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMarkupContainer_Release(This) (This)->lpVtbl->Release(This)
/*** IMarkupContainer methods ***/
#define IMarkupContainer_OwningDoc(This,ppDoc) (This)->lpVtbl->OwningDoc(This,ppDoc)
#else
/*** IUnknown methods ***/
static inline HRESULT IMarkupContainer_QueryInterface(IMarkupContainer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMarkupContainer_AddRef(IMarkupContainer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMarkupContainer_Release(IMarkupContainer* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupContainer methods ***/
static inline HRESULT IMarkupContainer_OwningDoc(IMarkupContainer* This,IHTMLDocument2 **ppDoc) {
    return This->lpVtbl->OwningDoc(This,ppDoc);
}
#endif
#endif

#endif


#endif  /* __IMarkupContainer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMarkupContainer2 interface
 */
#ifndef __IMarkupContainer2_INTERFACE_DEFINED__
#define __IMarkupContainer2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMarkupContainer2, 0x3050f648, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f648-98b5-11cf-bb82-00aa00bdce0b")
IMarkupContainer2 : public IMarkupContainer
{
    virtual HRESULT STDMETHODCALLTYPE CreateChangeLog(
        IHTMLChangeSink *pChangeSink,
        IHTMLChangeLog **ppChangeLog,
        WINBOOL fForward,
        WINBOOL fBackward) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterForDirtyRange(
        IHTMLChangeSink *pChangeSink,
        DWORD *pdwCookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE UnRegisterForDirtyRange(
        DWORD dwCookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetAndClearDirtyRange(
        DWORD dwCookie,
        IMarkupPointer *pIPointerBegin,
        IMarkupPointer *pIPointerEnd) = 0;

    virtual LONG STDMETHODCALLTYPE GetVersionNumber(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetMasterElement(
        IHTMLElement **ppElementMaster) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMarkupContainer2, 0x3050f648, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IMarkupContainer2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMarkupContainer2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMarkupContainer2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMarkupContainer2 *This);

    /*** IMarkupContainer methods ***/
    HRESULT (STDMETHODCALLTYPE *OwningDoc)(
        IMarkupContainer2 *This,
        IHTMLDocument2 **ppDoc);

    /*** IMarkupContainer2 methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateChangeLog)(
        IMarkupContainer2 *This,
        IHTMLChangeSink *pChangeSink,
        IHTMLChangeLog **ppChangeLog,
        WINBOOL fForward,
        WINBOOL fBackward);

    HRESULT (STDMETHODCALLTYPE *RegisterForDirtyRange)(
        IMarkupContainer2 *This,
        IHTMLChangeSink *pChangeSink,
        DWORD *pdwCookie);

    HRESULT (STDMETHODCALLTYPE *UnRegisterForDirtyRange)(
        IMarkupContainer2 *This,
        DWORD dwCookie);

    HRESULT (STDMETHODCALLTYPE *GetAndClearDirtyRange)(
        IMarkupContainer2 *This,
        DWORD dwCookie,
        IMarkupPointer *pIPointerBegin,
        IMarkupPointer *pIPointerEnd);

    LONG (STDMETHODCALLTYPE *GetVersionNumber)(
        IMarkupContainer2 *This);

    HRESULT (STDMETHODCALLTYPE *GetMasterElement)(
        IMarkupContainer2 *This,
        IHTMLElement **ppElementMaster);

    END_INTERFACE
} IMarkupContainer2Vtbl;

interface IMarkupContainer2 {
    CONST_VTBL IMarkupContainer2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMarkupContainer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMarkupContainer2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMarkupContainer2_Release(This) (This)->lpVtbl->Release(This)
/*** IMarkupContainer methods ***/
#define IMarkupContainer2_OwningDoc(This,ppDoc) (This)->lpVtbl->OwningDoc(This,ppDoc)
/*** IMarkupContainer2 methods ***/
#define IMarkupContainer2_CreateChangeLog(This,pChangeSink,ppChangeLog,fForward,fBackward) (This)->lpVtbl->CreateChangeLog(This,pChangeSink,ppChangeLog,fForward,fBackward)
#define IMarkupContainer2_RegisterForDirtyRange(This,pChangeSink,pdwCookie) (This)->lpVtbl->RegisterForDirtyRange(This,pChangeSink,pdwCookie)
#define IMarkupContainer2_UnRegisterForDirtyRange(This,dwCookie) (This)->lpVtbl->UnRegisterForDirtyRange(This,dwCookie)
#define IMarkupContainer2_GetAndClearDirtyRange(This,dwCookie,pIPointerBegin,pIPointerEnd) (This)->lpVtbl->GetAndClearDirtyRange(This,dwCookie,pIPointerBegin,pIPointerEnd)
#define IMarkupContainer2_GetVersionNumber(This) (This)->lpVtbl->GetVersionNumber(This)
#define IMarkupContainer2_GetMasterElement(This,ppElementMaster) (This)->lpVtbl->GetMasterElement(This,ppElementMaster)
#else
/*** IUnknown methods ***/
static inline HRESULT IMarkupContainer2_QueryInterface(IMarkupContainer2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMarkupContainer2_AddRef(IMarkupContainer2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMarkupContainer2_Release(IMarkupContainer2* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupContainer methods ***/
static inline HRESULT IMarkupContainer2_OwningDoc(IMarkupContainer2* This,IHTMLDocument2 **ppDoc) {
    return This->lpVtbl->OwningDoc(This,ppDoc);
}
/*** IMarkupContainer2 methods ***/
static inline HRESULT IMarkupContainer2_CreateChangeLog(IMarkupContainer2* This,IHTMLChangeSink *pChangeSink,IHTMLChangeLog **ppChangeLog,WINBOOL fForward,WINBOOL fBackward) {
    return This->lpVtbl->CreateChangeLog(This,pChangeSink,ppChangeLog,fForward,fBackward);
}
static inline HRESULT IMarkupContainer2_RegisterForDirtyRange(IMarkupContainer2* This,IHTMLChangeSink *pChangeSink,DWORD *pdwCookie) {
    return This->lpVtbl->RegisterForDirtyRange(This,pChangeSink,pdwCookie);
}
static inline HRESULT IMarkupContainer2_UnRegisterForDirtyRange(IMarkupContainer2* This,DWORD dwCookie) {
    return This->lpVtbl->UnRegisterForDirtyRange(This,dwCookie);
}
static inline HRESULT IMarkupContainer2_GetAndClearDirtyRange(IMarkupContainer2* This,DWORD dwCookie,IMarkupPointer *pIPointerBegin,IMarkupPointer *pIPointerEnd) {
    return This->lpVtbl->GetAndClearDirtyRange(This,dwCookie,pIPointerBegin,pIPointerEnd);
}
static inline LONG IMarkupContainer2_GetVersionNumber(IMarkupContainer2* This) {
    return This->lpVtbl->GetVersionNumber(This);
}
static inline HRESULT IMarkupContainer2_GetMasterElement(IMarkupContainer2* This,IHTMLElement **ppElementMaster) {
    return This->lpVtbl->GetMasterElement(This,ppElementMaster);
}
#endif
#endif

#endif


#endif  /* __IMarkupContainer2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLChangePlayback interface
 */
#ifndef __IHTMLChangePlayback_INTERFACE_DEFINED__
#define __IHTMLChangePlayback_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLChangePlayback, 0x3050f6e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6e0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLChangePlayback : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE ExecChange(
        BYTE *pbRecord,
        WINBOOL fForward) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLChangePlayback, 0x3050f6e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLChangePlaybackVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLChangePlayback *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLChangePlayback *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLChangePlayback *This);

    /*** IHTMLChangePlayback methods ***/
    HRESULT (STDMETHODCALLTYPE *ExecChange)(
        IHTMLChangePlayback *This,
        BYTE *pbRecord,
        WINBOOL fForward);

    END_INTERFACE
} IHTMLChangePlaybackVtbl;

interface IHTMLChangePlayback {
    CONST_VTBL IHTMLChangePlaybackVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLChangePlayback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLChangePlayback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLChangePlayback_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLChangePlayback methods ***/
#define IHTMLChangePlayback_ExecChange(This,pbRecord,fForward) (This)->lpVtbl->ExecChange(This,pbRecord,fForward)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLChangePlayback_QueryInterface(IHTMLChangePlayback* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLChangePlayback_AddRef(IHTMLChangePlayback* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLChangePlayback_Release(IHTMLChangePlayback* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLChangePlayback methods ***/
static inline HRESULT IHTMLChangePlayback_ExecChange(IHTMLChangePlayback* This,BYTE *pbRecord,WINBOOL fForward) {
    return This->lpVtbl->ExecChange(This,pbRecord,fForward);
}
#endif
#endif

#endif


#endif  /* __IHTMLChangePlayback_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMarkupPointer interface
 */
#ifndef __IMarkupPointer_INTERFACE_DEFINED__
#define __IMarkupPointer_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMarkupPointer, 0x3050f49f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f49f-98b5-11cf-bb82-00aa00bdce0b")
IMarkupPointer : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE OwningDoc(
        IHTMLDocument2 **ppDoc) = 0;

    virtual HRESULT STDMETHODCALLTYPE Gravity(
        POINTER_GRAVITY *pGravity) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetGravity(
        POINTER_GRAVITY Gravity) = 0;

    virtual HRESULT STDMETHODCALLTYPE Cling(
        WINBOOL *pfCling) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetCling(
        WINBOOL fCLing) = 0;

    virtual HRESULT STDMETHODCALLTYPE Unposition(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsPositioned(
        WINBOOL *pfPositioned) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetContainer(
        IMarkupContainer **ppContainer) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveAdjacentToElement(
        IHTMLElement *pElement,
        ELEMENT_ADJACENCY eAdj) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToPointer(
        IMarkupPointer *pPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToContainer(
        IMarkupContainer *pContainer,
        WINBOOL fAtStart) = 0;

    virtual HRESULT STDMETHODCALLTYPE Left(
        WINBOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText) = 0;

    virtual HRESULT STDMETHODCALLTYPE Right(
        WINBOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText) = 0;

    virtual HRESULT STDMETHODCALLTYPE CurrentScope(
        IHTMLElement **ppElemCurrent) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsLeftOf(
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsLeftOfOrEqualTo(
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsRightOf(
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsRightOfOrEqualTo(
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEqualTo(
        IMarkupPointer *pPointerThat,
        WINBOOL *pfAreEqual) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveUnit(
        MOVEUNIT_ACTION muAction) = 0;

    virtual HRESULT STDMETHODCALLTYPE FindText(
        OLECHAR *pchFindText,
        DWORD dwFlags,
        IMarkupPointer *pIEndMatch,
        IMarkupPointer *pIEndSearch) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMarkupPointer, 0x3050f49f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IMarkupPointerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMarkupPointer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMarkupPointer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMarkupPointer *This);

    /*** IMarkupPointer methods ***/
    HRESULT (STDMETHODCALLTYPE *OwningDoc)(
        IMarkupPointer *This,
        IHTMLDocument2 **ppDoc);

    HRESULT (STDMETHODCALLTYPE *Gravity)(
        IMarkupPointer *This,
        POINTER_GRAVITY *pGravity);

    HRESULT (STDMETHODCALLTYPE *SetGravity)(
        IMarkupPointer *This,
        POINTER_GRAVITY Gravity);

    HRESULT (STDMETHODCALLTYPE *Cling)(
        IMarkupPointer *This,
        WINBOOL *pfCling);

    HRESULT (STDMETHODCALLTYPE *SetCling)(
        IMarkupPointer *This,
        WINBOOL fCLing);

    HRESULT (STDMETHODCALLTYPE *Unposition)(
        IMarkupPointer *This);

    HRESULT (STDMETHODCALLTYPE *IsPositioned)(
        IMarkupPointer *This,
        WINBOOL *pfPositioned);

    HRESULT (STDMETHODCALLTYPE *GetContainer)(
        IMarkupPointer *This,
        IMarkupContainer **ppContainer);

    HRESULT (STDMETHODCALLTYPE *MoveAdjacentToElement)(
        IMarkupPointer *This,
        IHTMLElement *pElement,
        ELEMENT_ADJACENCY eAdj);

    HRESULT (STDMETHODCALLTYPE *MoveToPointer)(
        IMarkupPointer *This,
        IMarkupPointer *pPointer);

    HRESULT (STDMETHODCALLTYPE *MoveToContainer)(
        IMarkupPointer *This,
        IMarkupContainer *pContainer,
        WINBOOL fAtStart);

    HRESULT (STDMETHODCALLTYPE *Left)(
        IMarkupPointer *This,
        WINBOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText);

    HRESULT (STDMETHODCALLTYPE *Right)(
        IMarkupPointer *This,
        WINBOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText);

    HRESULT (STDMETHODCALLTYPE *CurrentScope)(
        IMarkupPointer *This,
        IHTMLElement **ppElemCurrent);

    HRESULT (STDMETHODCALLTYPE *IsLeftOf)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsLeftOfOrEqualTo)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsRightOf)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsRightOfOrEqualTo)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsEqualTo)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfAreEqual);

    HRESULT (STDMETHODCALLTYPE *MoveUnit)(
        IMarkupPointer *This,
        MOVEUNIT_ACTION muAction);

    HRESULT (STDMETHODCALLTYPE *FindText)(
        IMarkupPointer *This,
        OLECHAR *pchFindText,
        DWORD dwFlags,
        IMarkupPointer *pIEndMatch,
        IMarkupPointer *pIEndSearch);

    END_INTERFACE
} IMarkupPointerVtbl;

interface IMarkupPointer {
    CONST_VTBL IMarkupPointerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMarkupPointer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMarkupPointer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMarkupPointer_Release(This) (This)->lpVtbl->Release(This)
/*** IMarkupPointer methods ***/
#define IMarkupPointer_OwningDoc(This,ppDoc) (This)->lpVtbl->OwningDoc(This,ppDoc)
#define IMarkupPointer_Gravity(This,pGravity) (This)->lpVtbl->Gravity(This,pGravity)
#define IMarkupPointer_SetGravity(This,Gravity) (This)->lpVtbl->SetGravity(This,Gravity)
#define IMarkupPointer_Cling(This,pfCling) (This)->lpVtbl->Cling(This,pfCling)
#define IMarkupPointer_SetCling(This,fCLing) (This)->lpVtbl->SetCling(This,fCLing)
#define IMarkupPointer_Unposition(This) (This)->lpVtbl->Unposition(This)
#define IMarkupPointer_IsPositioned(This,pfPositioned) (This)->lpVtbl->IsPositioned(This,pfPositioned)
#define IMarkupPointer_GetContainer(This,ppContainer) (This)->lpVtbl->GetContainer(This,ppContainer)
#define IMarkupPointer_MoveAdjacentToElement(This,pElement,eAdj) (This)->lpVtbl->MoveAdjacentToElement(This,pElement,eAdj)
#define IMarkupPointer_MoveToPointer(This,pPointer) (This)->lpVtbl->MoveToPointer(This,pPointer)
#define IMarkupPointer_MoveToContainer(This,pContainer,fAtStart) (This)->lpVtbl->MoveToContainer(This,pContainer,fAtStart)
#define IMarkupPointer_Left(This,fMove,pContext,ppElement,pcch,pchText) (This)->lpVtbl->Left(This,fMove,pContext,ppElement,pcch,pchText)
#define IMarkupPointer_Right(This,fMove,pContext,ppElement,pcch,pchText) (This)->lpVtbl->Right(This,fMove,pContext,ppElement,pcch,pchText)
#define IMarkupPointer_CurrentScope(This,ppElemCurrent) (This)->lpVtbl->CurrentScope(This,ppElemCurrent)
#define IMarkupPointer_IsLeftOf(This,pPointerThat,pfResult) (This)->lpVtbl->IsLeftOf(This,pPointerThat,pfResult)
#define IMarkupPointer_IsLeftOfOrEqualTo(This,pPointerThat,pfResult) (This)->lpVtbl->IsLeftOfOrEqualTo(This,pPointerThat,pfResult)
#define IMarkupPointer_IsRightOf(This,pPointerThat,pfResult) (This)->lpVtbl->IsRightOf(This,pPointerThat,pfResult)
#define IMarkupPointer_IsRightOfOrEqualTo(This,pPointerThat,pfResult) (This)->lpVtbl->IsRightOfOrEqualTo(This,pPointerThat,pfResult)
#define IMarkupPointer_IsEqualTo(This,pPointerThat,pfAreEqual) (This)->lpVtbl->IsEqualTo(This,pPointerThat,pfAreEqual)
#define IMarkupPointer_MoveUnit(This,muAction) (This)->lpVtbl->MoveUnit(This,muAction)
#define IMarkupPointer_FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch) (This)->lpVtbl->FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch)
#else
/*** IUnknown methods ***/
static inline HRESULT IMarkupPointer_QueryInterface(IMarkupPointer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMarkupPointer_AddRef(IMarkupPointer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMarkupPointer_Release(IMarkupPointer* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupPointer methods ***/
static inline HRESULT IMarkupPointer_OwningDoc(IMarkupPointer* This,IHTMLDocument2 **ppDoc) {
    return This->lpVtbl->OwningDoc(This,ppDoc);
}
static inline HRESULT IMarkupPointer_Gravity(IMarkupPointer* This,POINTER_GRAVITY *pGravity) {
    return This->lpVtbl->Gravity(This,pGravity);
}
static inline HRESULT IMarkupPointer_SetGravity(IMarkupPointer* This,POINTER_GRAVITY Gravity) {
    return This->lpVtbl->SetGravity(This,Gravity);
}
static inline HRESULT IMarkupPointer_Cling(IMarkupPointer* This,WINBOOL *pfCling) {
    return This->lpVtbl->Cling(This,pfCling);
}
static inline HRESULT IMarkupPointer_SetCling(IMarkupPointer* This,WINBOOL fCLing) {
    return This->lpVtbl->SetCling(This,fCLing);
}
static inline HRESULT IMarkupPointer_Unposition(IMarkupPointer* This) {
    return This->lpVtbl->Unposition(This);
}
static inline HRESULT IMarkupPointer_IsPositioned(IMarkupPointer* This,WINBOOL *pfPositioned) {
    return This->lpVtbl->IsPositioned(This,pfPositioned);
}
static inline HRESULT IMarkupPointer_GetContainer(IMarkupPointer* This,IMarkupContainer **ppContainer) {
    return This->lpVtbl->GetContainer(This,ppContainer);
}
static inline HRESULT IMarkupPointer_MoveAdjacentToElement(IMarkupPointer* This,IHTMLElement *pElement,ELEMENT_ADJACENCY eAdj) {
    return This->lpVtbl->MoveAdjacentToElement(This,pElement,eAdj);
}
static inline HRESULT IMarkupPointer_MoveToPointer(IMarkupPointer* This,IMarkupPointer *pPointer) {
    return This->lpVtbl->MoveToPointer(This,pPointer);
}
static inline HRESULT IMarkupPointer_MoveToContainer(IMarkupPointer* This,IMarkupContainer *pContainer,WINBOOL fAtStart) {
    return This->lpVtbl->MoveToContainer(This,pContainer,fAtStart);
}
static inline HRESULT IMarkupPointer_Left(IMarkupPointer* This,WINBOOL fMove,MARKUP_CONTEXT_TYPE *pContext,IHTMLElement **ppElement,LONG *pcch,OLECHAR *pchText) {
    return This->lpVtbl->Left(This,fMove,pContext,ppElement,pcch,pchText);
}
static inline HRESULT IMarkupPointer_Right(IMarkupPointer* This,WINBOOL fMove,MARKUP_CONTEXT_TYPE *pContext,IHTMLElement **ppElement,LONG *pcch,OLECHAR *pchText) {
    return This->lpVtbl->Right(This,fMove,pContext,ppElement,pcch,pchText);
}
static inline HRESULT IMarkupPointer_CurrentScope(IMarkupPointer* This,IHTMLElement **ppElemCurrent) {
    return This->lpVtbl->CurrentScope(This,ppElemCurrent);
}
static inline HRESULT IMarkupPointer_IsLeftOf(IMarkupPointer* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsLeftOf(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer_IsLeftOfOrEqualTo(IMarkupPointer* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsLeftOfOrEqualTo(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer_IsRightOf(IMarkupPointer* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsRightOf(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer_IsRightOfOrEqualTo(IMarkupPointer* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsRightOfOrEqualTo(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer_IsEqualTo(IMarkupPointer* This,IMarkupPointer *pPointerThat,WINBOOL *pfAreEqual) {
    return This->lpVtbl->IsEqualTo(This,pPointerThat,pfAreEqual);
}
static inline HRESULT IMarkupPointer_MoveUnit(IMarkupPointer* This,MOVEUNIT_ACTION muAction) {
    return This->lpVtbl->MoveUnit(This,muAction);
}
static inline HRESULT IMarkupPointer_FindText(IMarkupPointer* This,OLECHAR *pchFindText,DWORD dwFlags,IMarkupPointer *pIEndMatch,IMarkupPointer *pIEndSearch) {
    return This->lpVtbl->FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch);
}
#endif
#endif

#endif


#endif  /* __IMarkupPointer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMarkupPointer2 interface
 */
#ifndef __IMarkupPointer2_INTERFACE_DEFINED__
#define __IMarkupPointer2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMarkupPointer2, 0x3050f675, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f675-98b5-11cf-bb82-00aa00bdce0b")
IMarkupPointer2 : public IMarkupPointer
{
    virtual HRESULT STDMETHODCALLTYPE IsAtWordBreak(
        WINBOOL *pfAtBreak) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetMarkupPosition(
        LONG *plMP) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToMarkupPosition(
        IMarkupContainer *pContainer,
        LONG lMP) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveUnitBounded(
        MOVEUNIT_ACTION muAction,
        IMarkupPointer *pIBoundary) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsInsideURL(
        IMarkupPointer *pRight,
        WINBOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToContent(
        IHTMLElement *pIElement,
        WINBOOL fAtStart) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMarkupPointer2, 0x3050f675, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IMarkupPointer2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMarkupPointer2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMarkupPointer2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMarkupPointer2 *This);

    /*** IMarkupPointer methods ***/
    HRESULT (STDMETHODCALLTYPE *OwningDoc)(
        IMarkupPointer2 *This,
        IHTMLDocument2 **ppDoc);

    HRESULT (STDMETHODCALLTYPE *Gravity)(
        IMarkupPointer2 *This,
        POINTER_GRAVITY *pGravity);

    HRESULT (STDMETHODCALLTYPE *SetGravity)(
        IMarkupPointer2 *This,
        POINTER_GRAVITY Gravity);

    HRESULT (STDMETHODCALLTYPE *Cling)(
        IMarkupPointer2 *This,
        WINBOOL *pfCling);

    HRESULT (STDMETHODCALLTYPE *SetCling)(
        IMarkupPointer2 *This,
        WINBOOL fCLing);

    HRESULT (STDMETHODCALLTYPE *Unposition)(
        IMarkupPointer2 *This);

    HRESULT (STDMETHODCALLTYPE *IsPositioned)(
        IMarkupPointer2 *This,
        WINBOOL *pfPositioned);

    HRESULT (STDMETHODCALLTYPE *GetContainer)(
        IMarkupPointer2 *This,
        IMarkupContainer **ppContainer);

    HRESULT (STDMETHODCALLTYPE *MoveAdjacentToElement)(
        IMarkupPointer2 *This,
        IHTMLElement *pElement,
        ELEMENT_ADJACENCY eAdj);

    HRESULT (STDMETHODCALLTYPE *MoveToPointer)(
        IMarkupPointer2 *This,
        IMarkupPointer *pPointer);

    HRESULT (STDMETHODCALLTYPE *MoveToContainer)(
        IMarkupPointer2 *This,
        IMarkupContainer *pContainer,
        WINBOOL fAtStart);

    HRESULT (STDMETHODCALLTYPE *Left)(
        IMarkupPointer2 *This,
        WINBOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText);

    HRESULT (STDMETHODCALLTYPE *Right)(
        IMarkupPointer2 *This,
        WINBOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText);

    HRESULT (STDMETHODCALLTYPE *CurrentScope)(
        IMarkupPointer2 *This,
        IHTMLElement **ppElemCurrent);

    HRESULT (STDMETHODCALLTYPE *IsLeftOf)(
        IMarkupPointer2 *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsLeftOfOrEqualTo)(
        IMarkupPointer2 *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsRightOf)(
        IMarkupPointer2 *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsRightOfOrEqualTo)(
        IMarkupPointer2 *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsEqualTo)(
        IMarkupPointer2 *This,
        IMarkupPointer *pPointerThat,
        WINBOOL *pfAreEqual);

    HRESULT (STDMETHODCALLTYPE *MoveUnit)(
        IMarkupPointer2 *This,
        MOVEUNIT_ACTION muAction);

    HRESULT (STDMETHODCALLTYPE *FindText)(
        IMarkupPointer2 *This,
        OLECHAR *pchFindText,
        DWORD dwFlags,
        IMarkupPointer *pIEndMatch,
        IMarkupPointer *pIEndSearch);

    /*** IMarkupPointer2 methods ***/
    HRESULT (STDMETHODCALLTYPE *IsAtWordBreak)(
        IMarkupPointer2 *This,
        WINBOOL *pfAtBreak);

    HRESULT (STDMETHODCALLTYPE *GetMarkupPosition)(
        IMarkupPointer2 *This,
        LONG *plMP);

    HRESULT (STDMETHODCALLTYPE *MoveToMarkupPosition)(
        IMarkupPointer2 *This,
        IMarkupContainer *pContainer,
        LONG lMP);

    HRESULT (STDMETHODCALLTYPE *MoveUnitBounded)(
        IMarkupPointer2 *This,
        MOVEUNIT_ACTION muAction,
        IMarkupPointer *pIBoundary);

    HRESULT (STDMETHODCALLTYPE *IsInsideURL)(
        IMarkupPointer2 *This,
        IMarkupPointer *pRight,
        WINBOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *MoveToContent)(
        IMarkupPointer2 *This,
        IHTMLElement *pIElement,
        WINBOOL fAtStart);

    END_INTERFACE
} IMarkupPointer2Vtbl;

interface IMarkupPointer2 {
    CONST_VTBL IMarkupPointer2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMarkupPointer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMarkupPointer2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMarkupPointer2_Release(This) (This)->lpVtbl->Release(This)
/*** IMarkupPointer methods ***/
#define IMarkupPointer2_OwningDoc(This,ppDoc) (This)->lpVtbl->OwningDoc(This,ppDoc)
#define IMarkupPointer2_Gravity(This,pGravity) (This)->lpVtbl->Gravity(This,pGravity)
#define IMarkupPointer2_SetGravity(This,Gravity) (This)->lpVtbl->SetGravity(This,Gravity)
#define IMarkupPointer2_Cling(This,pfCling) (This)->lpVtbl->Cling(This,pfCling)
#define IMarkupPointer2_SetCling(This,fCLing) (This)->lpVtbl->SetCling(This,fCLing)
#define IMarkupPointer2_Unposition(This) (This)->lpVtbl->Unposition(This)
#define IMarkupPointer2_IsPositioned(This,pfPositioned) (This)->lpVtbl->IsPositioned(This,pfPositioned)
#define IMarkupPointer2_GetContainer(This,ppContainer) (This)->lpVtbl->GetContainer(This,ppContainer)
#define IMarkupPointer2_MoveAdjacentToElement(This,pElement,eAdj) (This)->lpVtbl->MoveAdjacentToElement(This,pElement,eAdj)
#define IMarkupPointer2_MoveToPointer(This,pPointer) (This)->lpVtbl->MoveToPointer(This,pPointer)
#define IMarkupPointer2_MoveToContainer(This,pContainer,fAtStart) (This)->lpVtbl->MoveToContainer(This,pContainer,fAtStart)
#define IMarkupPointer2_Left(This,fMove,pContext,ppElement,pcch,pchText) (This)->lpVtbl->Left(This,fMove,pContext,ppElement,pcch,pchText)
#define IMarkupPointer2_Right(This,fMove,pContext,ppElement,pcch,pchText) (This)->lpVtbl->Right(This,fMove,pContext,ppElement,pcch,pchText)
#define IMarkupPointer2_CurrentScope(This,ppElemCurrent) (This)->lpVtbl->CurrentScope(This,ppElemCurrent)
#define IMarkupPointer2_IsLeftOf(This,pPointerThat,pfResult) (This)->lpVtbl->IsLeftOf(This,pPointerThat,pfResult)
#define IMarkupPointer2_IsLeftOfOrEqualTo(This,pPointerThat,pfResult) (This)->lpVtbl->IsLeftOfOrEqualTo(This,pPointerThat,pfResult)
#define IMarkupPointer2_IsRightOf(This,pPointerThat,pfResult) (This)->lpVtbl->IsRightOf(This,pPointerThat,pfResult)
#define IMarkupPointer2_IsRightOfOrEqualTo(This,pPointerThat,pfResult) (This)->lpVtbl->IsRightOfOrEqualTo(This,pPointerThat,pfResult)
#define IMarkupPointer2_IsEqualTo(This,pPointerThat,pfAreEqual) (This)->lpVtbl->IsEqualTo(This,pPointerThat,pfAreEqual)
#define IMarkupPointer2_MoveUnit(This,muAction) (This)->lpVtbl->MoveUnit(This,muAction)
#define IMarkupPointer2_FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch) (This)->lpVtbl->FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch)
/*** IMarkupPointer2 methods ***/
#define IMarkupPointer2_IsAtWordBreak(This,pfAtBreak) (This)->lpVtbl->IsAtWordBreak(This,pfAtBreak)
#define IMarkupPointer2_GetMarkupPosition(This,plMP) (This)->lpVtbl->GetMarkupPosition(This,plMP)
#define IMarkupPointer2_MoveToMarkupPosition(This,pContainer,lMP) (This)->lpVtbl->MoveToMarkupPosition(This,pContainer,lMP)
#define IMarkupPointer2_MoveUnitBounded(This,muAction,pIBoundary) (This)->lpVtbl->MoveUnitBounded(This,muAction,pIBoundary)
#define IMarkupPointer2_IsInsideURL(This,pRight,pfResult) (This)->lpVtbl->IsInsideURL(This,pRight,pfResult)
#define IMarkupPointer2_MoveToContent(This,pIElement,fAtStart) (This)->lpVtbl->MoveToContent(This,pIElement,fAtStart)
#else
/*** IUnknown methods ***/
static inline HRESULT IMarkupPointer2_QueryInterface(IMarkupPointer2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMarkupPointer2_AddRef(IMarkupPointer2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMarkupPointer2_Release(IMarkupPointer2* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupPointer methods ***/
static inline HRESULT IMarkupPointer2_OwningDoc(IMarkupPointer2* This,IHTMLDocument2 **ppDoc) {
    return This->lpVtbl->OwningDoc(This,ppDoc);
}
static inline HRESULT IMarkupPointer2_Gravity(IMarkupPointer2* This,POINTER_GRAVITY *pGravity) {
    return This->lpVtbl->Gravity(This,pGravity);
}
static inline HRESULT IMarkupPointer2_SetGravity(IMarkupPointer2* This,POINTER_GRAVITY Gravity) {
    return This->lpVtbl->SetGravity(This,Gravity);
}
static inline HRESULT IMarkupPointer2_Cling(IMarkupPointer2* This,WINBOOL *pfCling) {
    return This->lpVtbl->Cling(This,pfCling);
}
static inline HRESULT IMarkupPointer2_SetCling(IMarkupPointer2* This,WINBOOL fCLing) {
    return This->lpVtbl->SetCling(This,fCLing);
}
static inline HRESULT IMarkupPointer2_Unposition(IMarkupPointer2* This) {
    return This->lpVtbl->Unposition(This);
}
static inline HRESULT IMarkupPointer2_IsPositioned(IMarkupPointer2* This,WINBOOL *pfPositioned) {
    return This->lpVtbl->IsPositioned(This,pfPositioned);
}
static inline HRESULT IMarkupPointer2_GetContainer(IMarkupPointer2* This,IMarkupContainer **ppContainer) {
    return This->lpVtbl->GetContainer(This,ppContainer);
}
static inline HRESULT IMarkupPointer2_MoveAdjacentToElement(IMarkupPointer2* This,IHTMLElement *pElement,ELEMENT_ADJACENCY eAdj) {
    return This->lpVtbl->MoveAdjacentToElement(This,pElement,eAdj);
}
static inline HRESULT IMarkupPointer2_MoveToPointer(IMarkupPointer2* This,IMarkupPointer *pPointer) {
    return This->lpVtbl->MoveToPointer(This,pPointer);
}
static inline HRESULT IMarkupPointer2_MoveToContainer(IMarkupPointer2* This,IMarkupContainer *pContainer,WINBOOL fAtStart) {
    return This->lpVtbl->MoveToContainer(This,pContainer,fAtStart);
}
static inline HRESULT IMarkupPointer2_Left(IMarkupPointer2* This,WINBOOL fMove,MARKUP_CONTEXT_TYPE *pContext,IHTMLElement **ppElement,LONG *pcch,OLECHAR *pchText) {
    return This->lpVtbl->Left(This,fMove,pContext,ppElement,pcch,pchText);
}
static inline HRESULT IMarkupPointer2_Right(IMarkupPointer2* This,WINBOOL fMove,MARKUP_CONTEXT_TYPE *pContext,IHTMLElement **ppElement,LONG *pcch,OLECHAR *pchText) {
    return This->lpVtbl->Right(This,fMove,pContext,ppElement,pcch,pchText);
}
static inline HRESULT IMarkupPointer2_CurrentScope(IMarkupPointer2* This,IHTMLElement **ppElemCurrent) {
    return This->lpVtbl->CurrentScope(This,ppElemCurrent);
}
static inline HRESULT IMarkupPointer2_IsLeftOf(IMarkupPointer2* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsLeftOf(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer2_IsLeftOfOrEqualTo(IMarkupPointer2* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsLeftOfOrEqualTo(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer2_IsRightOf(IMarkupPointer2* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsRightOf(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer2_IsRightOfOrEqualTo(IMarkupPointer2* This,IMarkupPointer *pPointerThat,WINBOOL *pfResult) {
    return This->lpVtbl->IsRightOfOrEqualTo(This,pPointerThat,pfResult);
}
static inline HRESULT IMarkupPointer2_IsEqualTo(IMarkupPointer2* This,IMarkupPointer *pPointerThat,WINBOOL *pfAreEqual) {
    return This->lpVtbl->IsEqualTo(This,pPointerThat,pfAreEqual);
}
static inline HRESULT IMarkupPointer2_MoveUnit(IMarkupPointer2* This,MOVEUNIT_ACTION muAction) {
    return This->lpVtbl->MoveUnit(This,muAction);
}
static inline HRESULT IMarkupPointer2_FindText(IMarkupPointer2* This,OLECHAR *pchFindText,DWORD dwFlags,IMarkupPointer *pIEndMatch,IMarkupPointer *pIEndSearch) {
    return This->lpVtbl->FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch);
}
/*** IMarkupPointer2 methods ***/
static inline HRESULT IMarkupPointer2_IsAtWordBreak(IMarkupPointer2* This,WINBOOL *pfAtBreak) {
    return This->lpVtbl->IsAtWordBreak(This,pfAtBreak);
}
static inline HRESULT IMarkupPointer2_GetMarkupPosition(IMarkupPointer2* This,LONG *plMP) {
    return This->lpVtbl->GetMarkupPosition(This,plMP);
}
static inline HRESULT IMarkupPointer2_MoveToMarkupPosition(IMarkupPointer2* This,IMarkupContainer *pContainer,LONG lMP) {
    return This->lpVtbl->MoveToMarkupPosition(This,pContainer,lMP);
}
static inline HRESULT IMarkupPointer2_MoveUnitBounded(IMarkupPointer2* This,MOVEUNIT_ACTION muAction,IMarkupPointer *pIBoundary) {
    return This->lpVtbl->MoveUnitBounded(This,muAction,pIBoundary);
}
static inline HRESULT IMarkupPointer2_IsInsideURL(IMarkupPointer2* This,IMarkupPointer *pRight,WINBOOL *pfResult) {
    return This->lpVtbl->IsInsideURL(This,pRight,pfResult);
}
static inline HRESULT IMarkupPointer2_MoveToContent(IMarkupPointer2* This,IHTMLElement *pIElement,WINBOOL fAtStart) {
    return This->lpVtbl->MoveToContent(This,pIElement,fAtStart);
}
#endif
#endif

#endif


#endif  /* __IMarkupPointer2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMarkupTextFrags interface
 */
#ifndef __IMarkupTextFrags_INTERFACE_DEFINED__
#define __IMarkupTextFrags_INTERFACE_DEFINED__

DEFINE_GUID(IID_IMarkupTextFrags, 0x3050f5fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5fa-98b5-11cf-bb82-00aa00bdce0b")
IMarkupTextFrags : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetTextFragCount(
        LONG *pcFrags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTextFrag(
        LONG iFrag,
        BSTR *pbstrFrag,
        IMarkupPointer *pPointerFrag) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveTextFrag(
        LONG iFrag) = 0;

    virtual HRESULT STDMETHODCALLTYPE InsertTextFrag(
        LONG iFrag,
        BSTR bstrInsert,
        IMarkupPointer *pPointerInsert) = 0;

    virtual HRESULT STDMETHODCALLTYPE FindTextFragFromMarkupPointer(
        IMarkupPointer *pPointerFind,
        LONG *piFrag,
        WINBOOL *pfFragFound) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMarkupTextFrags, 0x3050f5fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IMarkupTextFragsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IMarkupTextFrags *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IMarkupTextFrags *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IMarkupTextFrags *This);

    /*** IMarkupTextFrags methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTextFragCount)(
        IMarkupTextFrags *This,
        LONG *pcFrags);

    HRESULT (STDMETHODCALLTYPE *GetTextFrag)(
        IMarkupTextFrags *This,
        LONG iFrag,
        BSTR *pbstrFrag,
        IMarkupPointer *pPointerFrag);

    HRESULT (STDMETHODCALLTYPE *RemoveTextFrag)(
        IMarkupTextFrags *This,
        LONG iFrag);

    HRESULT (STDMETHODCALLTYPE *InsertTextFrag)(
        IMarkupTextFrags *This,
        LONG iFrag,
        BSTR bstrInsert,
        IMarkupPointer *pPointerInsert);

    HRESULT (STDMETHODCALLTYPE *FindTextFragFromMarkupPointer)(
        IMarkupTextFrags *This,
        IMarkupPointer *pPointerFind,
        LONG *piFrag,
        WINBOOL *pfFragFound);

    END_INTERFACE
} IMarkupTextFragsVtbl;

interface IMarkupTextFrags {
    CONST_VTBL IMarkupTextFragsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMarkupTextFrags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMarkupTextFrags_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMarkupTextFrags_Release(This) (This)->lpVtbl->Release(This)
/*** IMarkupTextFrags methods ***/
#define IMarkupTextFrags_GetTextFragCount(This,pcFrags) (This)->lpVtbl->GetTextFragCount(This,pcFrags)
#define IMarkupTextFrags_GetTextFrag(This,iFrag,pbstrFrag,pPointerFrag) (This)->lpVtbl->GetTextFrag(This,iFrag,pbstrFrag,pPointerFrag)
#define IMarkupTextFrags_RemoveTextFrag(This,iFrag) (This)->lpVtbl->RemoveTextFrag(This,iFrag)
#define IMarkupTextFrags_InsertTextFrag(This,iFrag,bstrInsert,pPointerInsert) (This)->lpVtbl->InsertTextFrag(This,iFrag,bstrInsert,pPointerInsert)
#define IMarkupTextFrags_FindTextFragFromMarkupPointer(This,pPointerFind,piFrag,pfFragFound) (This)->lpVtbl->FindTextFragFromMarkupPointer(This,pPointerFind,piFrag,pfFragFound)
#else
/*** IUnknown methods ***/
static inline HRESULT IMarkupTextFrags_QueryInterface(IMarkupTextFrags* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IMarkupTextFrags_AddRef(IMarkupTextFrags* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IMarkupTextFrags_Release(IMarkupTextFrags* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupTextFrags methods ***/
static inline HRESULT IMarkupTextFrags_GetTextFragCount(IMarkupTextFrags* This,LONG *pcFrags) {
    return This->lpVtbl->GetTextFragCount(This,pcFrags);
}
static inline HRESULT IMarkupTextFrags_GetTextFrag(IMarkupTextFrags* This,LONG iFrag,BSTR *pbstrFrag,IMarkupPointer *pPointerFrag) {
    return This->lpVtbl->GetTextFrag(This,iFrag,pbstrFrag,pPointerFrag);
}
static inline HRESULT IMarkupTextFrags_RemoveTextFrag(IMarkupTextFrags* This,LONG iFrag) {
    return This->lpVtbl->RemoveTextFrag(This,iFrag);
}
static inline HRESULT IMarkupTextFrags_InsertTextFrag(IMarkupTextFrags* This,LONG iFrag,BSTR bstrInsert,IMarkupPointer *pPointerInsert) {
    return This->lpVtbl->InsertTextFrag(This,iFrag,bstrInsert,pPointerInsert);
}
static inline HRESULT IMarkupTextFrags_FindTextFragFromMarkupPointer(IMarkupTextFrags* This,IMarkupPointer *pPointerFind,LONG *piFrag,WINBOOL *pfFragFound) {
    return This->lpVtbl->FindTextFragFromMarkupPointer(This,pPointerFind,piFrag,pfFragFound);
}
#endif
#endif

#endif


#endif  /* __IMarkupTextFrags_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLChangeLog interface
 */
#ifndef __IHTMLChangeLog_INTERFACE_DEFINED__
#define __IHTMLChangeLog_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLChangeLog, 0x3050f649, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f649-98b5-11cf-bb82-00aa00bdce0b")
IHTMLChangeLog : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetNextChange(
        BYTE *pbBuffer,
        LONG nBufferSize,
        LONG *pnRecordLength) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLChangeLog, 0x3050f649, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLChangeLogVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLChangeLog *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLChangeLog *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLChangeLog *This);

    /*** IHTMLChangeLog methods ***/
    HRESULT (STDMETHODCALLTYPE *GetNextChange)(
        IHTMLChangeLog *This,
        BYTE *pbBuffer,
        LONG nBufferSize,
        LONG *pnRecordLength);

    END_INTERFACE
} IHTMLChangeLogVtbl;

interface IHTMLChangeLog {
    CONST_VTBL IHTMLChangeLogVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLChangeLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLChangeLog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLChangeLog_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLChangeLog methods ***/
#define IHTMLChangeLog_GetNextChange(This,pbBuffer,nBufferSize,pnRecordLength) (This)->lpVtbl->GetNextChange(This,pbBuffer,nBufferSize,pnRecordLength)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLChangeLog_QueryInterface(IHTMLChangeLog* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLChangeLog_AddRef(IHTMLChangeLog* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLChangeLog_Release(IHTMLChangeLog* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLChangeLog methods ***/
static inline HRESULT IHTMLChangeLog_GetNextChange(IHTMLChangeLog* This,BYTE *pbBuffer,LONG nBufferSize,LONG *pnRecordLength) {
    return This->lpVtbl->GetNextChange(This,pbBuffer,nBufferSize,pnRecordLength);
}
#endif
#endif

#endif


#endif  /* __IHTMLChangeLog_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLChangeSink interface
 */
#ifndef __IHTMLChangeSink_INTERFACE_DEFINED__
#define __IHTMLChangeSink_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLChangeSink, 0x3050f64a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f64a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLChangeSink : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Notify(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLChangeSink, 0x3050f64a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLChangeSinkVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLChangeSink *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLChangeSink *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLChangeSink *This);

    /*** IHTMLChangeSink methods ***/
    HRESULT (STDMETHODCALLTYPE *Notify)(
        IHTMLChangeSink *This);

    END_INTERFACE
} IHTMLChangeSinkVtbl;

interface IHTMLChangeSink {
    CONST_VTBL IHTMLChangeSinkVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLChangeSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLChangeSink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLChangeSink_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLChangeSink methods ***/
#define IHTMLChangeSink_Notify(This) (This)->lpVtbl->Notify(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLChangeSink_QueryInterface(IHTMLChangeSink* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLChangeSink_AddRef(IHTMLChangeSink* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLChangeSink_Release(IHTMLChangeSink* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLChangeSink methods ***/
static inline HRESULT IHTMLChangeSink_Notify(IHTMLChangeSink* This) {
    return This->lpVtbl->Notify(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLChangeSink_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IXMLGenericParse interface
 */
#ifndef __IXMLGenericParse_INTERFACE_DEFINED__
#define __IXMLGenericParse_INTERFACE_DEFINED__

DEFINE_GUID(IID_IXMLGenericParse, 0xe4e23071, 0x4d07, 0x11d2, 0xae,0x76, 0x00,0x80,0xc7,0x3b,0xc1,0x99);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e4e23071-4d07-11d2-ae76-0080c73bc199")
IXMLGenericParse : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetGenericParse(
        VARIANT_BOOL fDoGeneric) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IXMLGenericParse, 0xe4e23071, 0x4d07, 0x11d2, 0xae,0x76, 0x00,0x80,0xc7,0x3b,0xc1,0x99)
#endif
#else
typedef struct IXMLGenericParseVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IXMLGenericParse *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IXMLGenericParse *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IXMLGenericParse *This);

    /*** IXMLGenericParse methods ***/
    HRESULT (STDMETHODCALLTYPE *SetGenericParse)(
        IXMLGenericParse *This,
        VARIANT_BOOL fDoGeneric);

    END_INTERFACE
} IXMLGenericParseVtbl;

interface IXMLGenericParse {
    CONST_VTBL IXMLGenericParseVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IXMLGenericParse_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLGenericParse_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IXMLGenericParse_Release(This) (This)->lpVtbl->Release(This)
/*** IXMLGenericParse methods ***/
#define IXMLGenericParse_SetGenericParse(This,fDoGeneric) (This)->lpVtbl->SetGenericParse(This,fDoGeneric)
#else
/*** IUnknown methods ***/
static inline HRESULT IXMLGenericParse_QueryInterface(IXMLGenericParse* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IXMLGenericParse_AddRef(IXMLGenericParse* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IXMLGenericParse_Release(IXMLGenericParse* This) {
    return This->lpVtbl->Release(This);
}
/*** IXMLGenericParse methods ***/
static inline HRESULT IXMLGenericParse_SetGenericParse(IXMLGenericParse* This,VARIANT_BOOL fDoGeneric) {
    return This->lpVtbl->SetGenericParse(This,fDoGeneric);
}
#endif
#endif

#endif


#endif  /* __IXMLGenericParse_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEditHost interface
 */
#ifndef __IHTMLEditHost_INTERFACE_DEFINED__
#define __IHTMLEditHost_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEditHost, 0x3050f6a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6a0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEditHost : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SnapRect(
        IHTMLElement *pIElement,
        RECT *prcNew,
        ELEMENT_CORNER eHandle) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEditHost, 0x3050f6a0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEditHostVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEditHost *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEditHost *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEditHost *This);

    /*** IHTMLEditHost methods ***/
    HRESULT (STDMETHODCALLTYPE *SnapRect)(
        IHTMLEditHost *This,
        IHTMLElement *pIElement,
        RECT *prcNew,
        ELEMENT_CORNER eHandle);

    END_INTERFACE
} IHTMLEditHostVtbl;

interface IHTMLEditHost {
    CONST_VTBL IHTMLEditHostVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEditHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEditHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEditHost_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLEditHost methods ***/
#define IHTMLEditHost_SnapRect(This,pIElement,prcNew,eHandle) (This)->lpVtbl->SnapRect(This,pIElement,prcNew,eHandle)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEditHost_QueryInterface(IHTMLEditHost* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEditHost_AddRef(IHTMLEditHost* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEditHost_Release(IHTMLEditHost* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLEditHost methods ***/
static inline HRESULT IHTMLEditHost_SnapRect(IHTMLEditHost* This,IHTMLElement *pIElement,RECT *prcNew,ELEMENT_CORNER eHandle) {
    return This->lpVtbl->SnapRect(This,pIElement,prcNew,eHandle);
}
#endif
#endif

#endif


#endif  /* __IHTMLEditHost_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEditHost2 interface
 */
#ifndef __IHTMLEditHost2_INTERFACE_DEFINED__
#define __IHTMLEditHost2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEditHost2, 0x3050f848, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f848-98b5-11cf-bb82-00aa00bdce0d")
IHTMLEditHost2 : public IHTMLEditHost
{
    virtual HRESULT STDMETHODCALLTYPE PreDrag(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEditHost2, 0x3050f848, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0d)
#endif
#else
typedef struct IHTMLEditHost2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEditHost2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEditHost2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEditHost2 *This);

    /*** IHTMLEditHost methods ***/
    HRESULT (STDMETHODCALLTYPE *SnapRect)(
        IHTMLEditHost2 *This,
        IHTMLElement *pIElement,
        RECT *prcNew,
        ELEMENT_CORNER eHandle);

    /*** IHTMLEditHost2 methods ***/
    HRESULT (STDMETHODCALLTYPE *PreDrag)(
        IHTMLEditHost2 *This);

    END_INTERFACE
} IHTMLEditHost2Vtbl;

interface IHTMLEditHost2 {
    CONST_VTBL IHTMLEditHost2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEditHost2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEditHost2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEditHost2_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLEditHost methods ***/
#define IHTMLEditHost2_SnapRect(This,pIElement,prcNew,eHandle) (This)->lpVtbl->SnapRect(This,pIElement,prcNew,eHandle)
/*** IHTMLEditHost2 methods ***/
#define IHTMLEditHost2_PreDrag(This) (This)->lpVtbl->PreDrag(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEditHost2_QueryInterface(IHTMLEditHost2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEditHost2_AddRef(IHTMLEditHost2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEditHost2_Release(IHTMLEditHost2* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLEditHost methods ***/
static inline HRESULT IHTMLEditHost2_SnapRect(IHTMLEditHost2* This,IHTMLElement *pIElement,RECT *prcNew,ELEMENT_CORNER eHandle) {
    return This->lpVtbl->SnapRect(This,pIElement,prcNew,eHandle);
}
/*** IHTMLEditHost2 methods ***/
static inline HRESULT IHTMLEditHost2_PreDrag(IHTMLEditHost2* This) {
    return This->lpVtbl->PreDrag(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLEditHost2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISegment interface
 */
#ifndef __ISegment_INTERFACE_DEFINED__
#define __ISegment_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISegment, 0x3050f683, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f683-98b5-11cf-bb82-00aa00bdce0b")
ISegment : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetPointers(
        IMarkupPointer *pIStart,
        IMarkupPointer *pIEnd) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISegment, 0x3050f683, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISegmentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISegment *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISegment *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISegment *This);

    /*** ISegment methods ***/
    HRESULT (STDMETHODCALLTYPE *GetPointers)(
        ISegment *This,
        IMarkupPointer *pIStart,
        IMarkupPointer *pIEnd);

    END_INTERFACE
} ISegmentVtbl;

interface ISegment {
    CONST_VTBL ISegmentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISegment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISegment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISegment_Release(This) (This)->lpVtbl->Release(This)
/*** ISegment methods ***/
#define ISegment_GetPointers(This,pIStart,pIEnd) (This)->lpVtbl->GetPointers(This,pIStart,pIEnd)
#else
/*** IUnknown methods ***/
static inline HRESULT ISegment_QueryInterface(ISegment* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISegment_AddRef(ISegment* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISegment_Release(ISegment* This) {
    return This->lpVtbl->Release(This);
}
/*** ISegment methods ***/
static inline HRESULT ISegment_GetPointers(ISegment* This,IMarkupPointer *pIStart,IMarkupPointer *pIEnd) {
    return This->lpVtbl->GetPointers(This,pIStart,pIEnd);
}
#endif
#endif

#endif


#endif  /* __ISegment_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISegmentListIterator interface
 */
#ifndef __ISegmentListIterator_INTERFACE_DEFINED__
#define __ISegmentListIterator_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISegmentListIterator, 0x3050f692, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f692-98b5-11cf-bb82-00aa00bdce0b")
ISegmentListIterator : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Current(
        ISegment **ppISegment) = 0;

    virtual HRESULT STDMETHODCALLTYPE First(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsDone(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE Advance(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISegmentListIterator, 0x3050f692, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISegmentListIteratorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISegmentListIterator *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISegmentListIterator *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISegmentListIterator *This);

    /*** ISegmentListIterator methods ***/
    HRESULT (STDMETHODCALLTYPE *Current)(
        ISegmentListIterator *This,
        ISegment **ppISegment);

    HRESULT (STDMETHODCALLTYPE *First)(
        ISegmentListIterator *This);

    HRESULT (STDMETHODCALLTYPE *IsDone)(
        ISegmentListIterator *This);

    HRESULT (STDMETHODCALLTYPE *Advance)(
        ISegmentListIterator *This);

    END_INTERFACE
} ISegmentListIteratorVtbl;

interface ISegmentListIterator {
    CONST_VTBL ISegmentListIteratorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISegmentListIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISegmentListIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISegmentListIterator_Release(This) (This)->lpVtbl->Release(This)
/*** ISegmentListIterator methods ***/
#define ISegmentListIterator_Current(This,ppISegment) (This)->lpVtbl->Current(This,ppISegment)
#define ISegmentListIterator_First(This) (This)->lpVtbl->First(This)
#define ISegmentListIterator_IsDone(This) (This)->lpVtbl->IsDone(This)
#define ISegmentListIterator_Advance(This) (This)->lpVtbl->Advance(This)
#else
/*** IUnknown methods ***/
static inline HRESULT ISegmentListIterator_QueryInterface(ISegmentListIterator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISegmentListIterator_AddRef(ISegmentListIterator* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISegmentListIterator_Release(ISegmentListIterator* This) {
    return This->lpVtbl->Release(This);
}
/*** ISegmentListIterator methods ***/
static inline HRESULT ISegmentListIterator_Current(ISegmentListIterator* This,ISegment **ppISegment) {
    return This->lpVtbl->Current(This,ppISegment);
}
static inline HRESULT ISegmentListIterator_First(ISegmentListIterator* This) {
    return This->lpVtbl->First(This);
}
static inline HRESULT ISegmentListIterator_IsDone(ISegmentListIterator* This) {
    return This->lpVtbl->IsDone(This);
}
static inline HRESULT ISegmentListIterator_Advance(ISegmentListIterator* This) {
    return This->lpVtbl->Advance(This);
}
#endif
#endif

#endif


#endif  /* __ISegmentListIterator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISegmentList interface
 */
#ifndef __ISegmentList_INTERFACE_DEFINED__
#define __ISegmentList_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISegmentList, 0x3050f605, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f605-98b5-11cf-bb82-00aa00bdce0b")
ISegmentList : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CreateIterator(
        ISegmentListIterator **ppIIter) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetType(
        SELECTION_TYPE *peType) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEmpty(
        WINBOOL *pfEmpty) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISegmentList, 0x3050f605, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISegmentListVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISegmentList *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISegmentList *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISegmentList *This);

    /*** ISegmentList methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateIterator)(
        ISegmentList *This,
        ISegmentListIterator **ppIIter);

    HRESULT (STDMETHODCALLTYPE *GetType)(
        ISegmentList *This,
        SELECTION_TYPE *peType);

    HRESULT (STDMETHODCALLTYPE *IsEmpty)(
        ISegmentList *This,
        WINBOOL *pfEmpty);

    END_INTERFACE
} ISegmentListVtbl;

interface ISegmentList {
    CONST_VTBL ISegmentListVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISegmentList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISegmentList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISegmentList_Release(This) (This)->lpVtbl->Release(This)
/*** ISegmentList methods ***/
#define ISegmentList_CreateIterator(This,ppIIter) (This)->lpVtbl->CreateIterator(This,ppIIter)
#define ISegmentList_GetType(This,peType) (This)->lpVtbl->GetType(This,peType)
#define ISegmentList_IsEmpty(This,pfEmpty) (This)->lpVtbl->IsEmpty(This,pfEmpty)
#else
/*** IUnknown methods ***/
static inline HRESULT ISegmentList_QueryInterface(ISegmentList* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISegmentList_AddRef(ISegmentList* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISegmentList_Release(ISegmentList* This) {
    return This->lpVtbl->Release(This);
}
/*** ISegmentList methods ***/
static inline HRESULT ISegmentList_CreateIterator(ISegmentList* This,ISegmentListIterator **ppIIter) {
    return This->lpVtbl->CreateIterator(This,ppIIter);
}
static inline HRESULT ISegmentList_GetType(ISegmentList* This,SELECTION_TYPE *peType) {
    return This->lpVtbl->GetType(This,peType);
}
static inline HRESULT ISegmentList_IsEmpty(ISegmentList* This,WINBOOL *pfEmpty) {
    return This->lpVtbl->IsEmpty(This,pfEmpty);
}
#endif
#endif

#endif


#endif  /* __ISegmentList_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISequenceNumber interface
 */
#ifndef __ISequenceNumber_INTERFACE_DEFINED__
#define __ISequenceNumber_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISequenceNumber, 0x3050f6c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6c1-98b5-11cf-bb82-00aa00bdce0b")
ISequenceNumber : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetSequenceNumber(
        LONG nCurrent,
        LONG *pnNew) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISequenceNumber, 0x3050f6c1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISequenceNumberVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISequenceNumber *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISequenceNumber *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISequenceNumber *This);

    /*** ISequenceNumber methods ***/
    HRESULT (STDMETHODCALLTYPE *GetSequenceNumber)(
        ISequenceNumber *This,
        LONG nCurrent,
        LONG *pnNew);

    END_INTERFACE
} ISequenceNumberVtbl;

interface ISequenceNumber {
    CONST_VTBL ISequenceNumberVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISequenceNumber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISequenceNumber_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISequenceNumber_Release(This) (This)->lpVtbl->Release(This)
/*** ISequenceNumber methods ***/
#define ISequenceNumber_GetSequenceNumber(This,nCurrent,pnNew) (This)->lpVtbl->GetSequenceNumber(This,nCurrent,pnNew)
#else
/*** IUnknown methods ***/
static inline HRESULT ISequenceNumber_QueryInterface(ISequenceNumber* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISequenceNumber_AddRef(ISequenceNumber* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISequenceNumber_Release(ISequenceNumber* This) {
    return This->lpVtbl->Release(This);
}
/*** ISequenceNumber methods ***/
static inline HRESULT ISequenceNumber_GetSequenceNumber(ISequenceNumber* This,LONG nCurrent,LONG *pnNew) {
    return This->lpVtbl->GetSequenceNumber(This,nCurrent,pnNew);
}
#endif
#endif

#endif


#endif  /* __ISequenceNumber_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIMEServices interface
 */
#ifndef __IIMEServices_INTERFACE_DEFINED__
#define __IIMEServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_IIMEServices, 0x3050f6ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6ca-98b5-11cf-bb82-00aa00bdce0b")
IIMEServices : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetActiveIMM(
        IActiveIMMApp **ppActiveIMM) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IIMEServices, 0x3050f6ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IIMEServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IIMEServices *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IIMEServices *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IIMEServices *This);

    /*** IIMEServices methods ***/
    HRESULT (STDMETHODCALLTYPE *GetActiveIMM)(
        IIMEServices *This,
        IActiveIMMApp **ppActiveIMM);

    END_INTERFACE
} IIMEServicesVtbl;

interface IIMEServices {
    CONST_VTBL IIMEServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IIMEServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IIMEServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IIMEServices_Release(This) (This)->lpVtbl->Release(This)
/*** IIMEServices methods ***/
#define IIMEServices_GetActiveIMM(This,ppActiveIMM) (This)->lpVtbl->GetActiveIMM(This,ppActiveIMM)
#else
/*** IUnknown methods ***/
static inline HRESULT IIMEServices_QueryInterface(IIMEServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IIMEServices_AddRef(IIMEServices* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IIMEServices_Release(IIMEServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IIMEServices methods ***/
static inline HRESULT IIMEServices_GetActiveIMM(IIMEServices* This,IActiveIMMApp **ppActiveIMM) {
    return This->lpVtbl->GetActiveIMM(This,ppActiveIMM);
}
#endif
#endif

#endif


#endif  /* __IIMEServices_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLCaret interface
 */
#ifndef __IHTMLCaret_INTERFACE_DEFINED__
#define __IHTMLCaret_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLCaret, 0x3050f604, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f604-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCaret : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE MoveCaretToPointer(
        IDisplayPointer *pDispPointer,
        WINBOOL fScrollIntoView,
        CARET_DIRECTION eDir) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveCaretToPointerEx(
        IDisplayPointer *pDispPointer,
        WINBOOL fVisible,
        WINBOOL fScrollIntoView,
        CARET_DIRECTION eDir) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveMarkupPointerToCaret(
        IMarkupPointer *pIMarkupPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveDisplayPointerToCaret(
        IDisplayPointer *pDispPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsVisible(
        WINBOOL *pIsVisible) = 0;

    virtual HRESULT STDMETHODCALLTYPE Show(
        WINBOOL fScrollIntoView) = 0;

    virtual HRESULT STDMETHODCALLTYPE Hide(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InsertText(
        OLECHAR *pText,
        LONG lLen) = 0;

    virtual HRESULT STDMETHODCALLTYPE ScrollIntoView(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLocation(
        POINT *pPoint,
        WINBOOL fTranslate) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetCaretDirection(
        CARET_DIRECTION *peDir) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetCaretDirection(
        CARET_DIRECTION eDir) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLCaret, 0x3050f604, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLCaretVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLCaret *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLCaret *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLCaret *This);

    /*** IHTMLCaret methods ***/
    HRESULT (STDMETHODCALLTYPE *MoveCaretToPointer)(
        IHTMLCaret *This,
        IDisplayPointer *pDispPointer,
        WINBOOL fScrollIntoView,
        CARET_DIRECTION eDir);

    HRESULT (STDMETHODCALLTYPE *MoveCaretToPointerEx)(
        IHTMLCaret *This,
        IDisplayPointer *pDispPointer,
        WINBOOL fVisible,
        WINBOOL fScrollIntoView,
        CARET_DIRECTION eDir);

    HRESULT (STDMETHODCALLTYPE *MoveMarkupPointerToCaret)(
        IHTMLCaret *This,
        IMarkupPointer *pIMarkupPointer);

    HRESULT (STDMETHODCALLTYPE *MoveDisplayPointerToCaret)(
        IHTMLCaret *This,
        IDisplayPointer *pDispPointer);

    HRESULT (STDMETHODCALLTYPE *IsVisible)(
        IHTMLCaret *This,
        WINBOOL *pIsVisible);

    HRESULT (STDMETHODCALLTYPE *Show)(
        IHTMLCaret *This,
        WINBOOL fScrollIntoView);

    HRESULT (STDMETHODCALLTYPE *Hide)(
        IHTMLCaret *This);

    HRESULT (STDMETHODCALLTYPE *InsertText)(
        IHTMLCaret *This,
        OLECHAR *pText,
        LONG lLen);

    HRESULT (STDMETHODCALLTYPE *ScrollIntoView)(
        IHTMLCaret *This);

    HRESULT (STDMETHODCALLTYPE *GetLocation)(
        IHTMLCaret *This,
        POINT *pPoint,
        WINBOOL fTranslate);

    HRESULT (STDMETHODCALLTYPE *GetCaretDirection)(
        IHTMLCaret *This,
        CARET_DIRECTION *peDir);

    HRESULT (STDMETHODCALLTYPE *SetCaretDirection)(
        IHTMLCaret *This,
        CARET_DIRECTION eDir);

    END_INTERFACE
} IHTMLCaretVtbl;

interface IHTMLCaret {
    CONST_VTBL IHTMLCaretVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLCaret_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLCaret_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLCaret_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLCaret methods ***/
#define IHTMLCaret_MoveCaretToPointer(This,pDispPointer,fScrollIntoView,eDir) (This)->lpVtbl->MoveCaretToPointer(This,pDispPointer,fScrollIntoView,eDir)
#define IHTMLCaret_MoveCaretToPointerEx(This,pDispPointer,fVisible,fScrollIntoView,eDir) (This)->lpVtbl->MoveCaretToPointerEx(This,pDispPointer,fVisible,fScrollIntoView,eDir)
#define IHTMLCaret_MoveMarkupPointerToCaret(This,pIMarkupPointer) (This)->lpVtbl->MoveMarkupPointerToCaret(This,pIMarkupPointer)
#define IHTMLCaret_MoveDisplayPointerToCaret(This,pDispPointer) (This)->lpVtbl->MoveDisplayPointerToCaret(This,pDispPointer)
#define IHTMLCaret_IsVisible(This,pIsVisible) (This)->lpVtbl->IsVisible(This,pIsVisible)
#define IHTMLCaret_Show(This,fScrollIntoView) (This)->lpVtbl->Show(This,fScrollIntoView)
#define IHTMLCaret_Hide(This) (This)->lpVtbl->Hide(This)
#define IHTMLCaret_InsertText(This,pText,lLen) (This)->lpVtbl->InsertText(This,pText,lLen)
#define IHTMLCaret_ScrollIntoView(This) (This)->lpVtbl->ScrollIntoView(This)
#define IHTMLCaret_GetLocation(This,pPoint,fTranslate) (This)->lpVtbl->GetLocation(This,pPoint,fTranslate)
#define IHTMLCaret_GetCaretDirection(This,peDir) (This)->lpVtbl->GetCaretDirection(This,peDir)
#define IHTMLCaret_SetCaretDirection(This,eDir) (This)->lpVtbl->SetCaretDirection(This,eDir)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLCaret_QueryInterface(IHTMLCaret* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLCaret_AddRef(IHTMLCaret* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLCaret_Release(IHTMLCaret* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLCaret methods ***/
static inline HRESULT IHTMLCaret_MoveCaretToPointer(IHTMLCaret* This,IDisplayPointer *pDispPointer,WINBOOL fScrollIntoView,CARET_DIRECTION eDir) {
    return This->lpVtbl->MoveCaretToPointer(This,pDispPointer,fScrollIntoView,eDir);
}
static inline HRESULT IHTMLCaret_MoveCaretToPointerEx(IHTMLCaret* This,IDisplayPointer *pDispPointer,WINBOOL fVisible,WINBOOL fScrollIntoView,CARET_DIRECTION eDir) {
    return This->lpVtbl->MoveCaretToPointerEx(This,pDispPointer,fVisible,fScrollIntoView,eDir);
}
static inline HRESULT IHTMLCaret_MoveMarkupPointerToCaret(IHTMLCaret* This,IMarkupPointer *pIMarkupPointer) {
    return This->lpVtbl->MoveMarkupPointerToCaret(This,pIMarkupPointer);
}
static inline HRESULT IHTMLCaret_MoveDisplayPointerToCaret(IHTMLCaret* This,IDisplayPointer *pDispPointer) {
    return This->lpVtbl->MoveDisplayPointerToCaret(This,pDispPointer);
}
static inline HRESULT IHTMLCaret_IsVisible(IHTMLCaret* This,WINBOOL *pIsVisible) {
    return This->lpVtbl->IsVisible(This,pIsVisible);
}
static inline HRESULT IHTMLCaret_Show(IHTMLCaret* This,WINBOOL fScrollIntoView) {
    return This->lpVtbl->Show(This,fScrollIntoView);
}
static inline HRESULT IHTMLCaret_Hide(IHTMLCaret* This) {
    return This->lpVtbl->Hide(This);
}
static inline HRESULT IHTMLCaret_InsertText(IHTMLCaret* This,OLECHAR *pText,LONG lLen) {
    return This->lpVtbl->InsertText(This,pText,lLen);
}
static inline HRESULT IHTMLCaret_ScrollIntoView(IHTMLCaret* This) {
    return This->lpVtbl->ScrollIntoView(This);
}
static inline HRESULT IHTMLCaret_GetLocation(IHTMLCaret* This,POINT *pPoint,WINBOOL fTranslate) {
    return This->lpVtbl->GetLocation(This,pPoint,fTranslate);
}
static inline HRESULT IHTMLCaret_GetCaretDirection(IHTMLCaret* This,CARET_DIRECTION *peDir) {
    return This->lpVtbl->GetCaretDirection(This,peDir);
}
static inline HRESULT IHTMLCaret_SetCaretDirection(IHTMLCaret* This,CARET_DIRECTION eDir) {
    return This->lpVtbl->SetCaretDirection(This,eDir);
}
#endif
#endif

#endif


#endif  /* __IHTMLCaret_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHighlightRenderingServices interface
 */
#ifndef __IHighlightRenderingServices_INTERFACE_DEFINED__
#define __IHighlightRenderingServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHighlightRenderingServices, 0x3050f606, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f606-98b5-11cf-bb82-00aa00bdce0b")
IHighlightRenderingServices : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE AddSegment(
        IDisplayPointer *pDispPointerStart,
        IDisplayPointer *pDispPointerEnd,
        IHTMLRenderStyle *pIRenderStyle,
        IHighlightSegment **ppISegment) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveSegmentToPointers(
        IHighlightSegment *pISegment,
        IDisplayPointer *pDispPointerStart,
        IDisplayPointer *pDispPointerEnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveSegment(
        IHighlightSegment *pISegment) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHighlightRenderingServices, 0x3050f606, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHighlightRenderingServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHighlightRenderingServices *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHighlightRenderingServices *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHighlightRenderingServices *This);

    /*** IHighlightRenderingServices methods ***/
    HRESULT (STDMETHODCALLTYPE *AddSegment)(
        IHighlightRenderingServices *This,
        IDisplayPointer *pDispPointerStart,
        IDisplayPointer *pDispPointerEnd,
        IHTMLRenderStyle *pIRenderStyle,
        IHighlightSegment **ppISegment);

    HRESULT (STDMETHODCALLTYPE *MoveSegmentToPointers)(
        IHighlightRenderingServices *This,
        IHighlightSegment *pISegment,
        IDisplayPointer *pDispPointerStart,
        IDisplayPointer *pDispPointerEnd);

    HRESULT (STDMETHODCALLTYPE *RemoveSegment)(
        IHighlightRenderingServices *This,
        IHighlightSegment *pISegment);

    END_INTERFACE
} IHighlightRenderingServicesVtbl;

interface IHighlightRenderingServices {
    CONST_VTBL IHighlightRenderingServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHighlightRenderingServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHighlightRenderingServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHighlightRenderingServices_Release(This) (This)->lpVtbl->Release(This)
/*** IHighlightRenderingServices methods ***/
#define IHighlightRenderingServices_AddSegment(This,pDispPointerStart,pDispPointerEnd,pIRenderStyle,ppISegment) (This)->lpVtbl->AddSegment(This,pDispPointerStart,pDispPointerEnd,pIRenderStyle,ppISegment)
#define IHighlightRenderingServices_MoveSegmentToPointers(This,pISegment,pDispPointerStart,pDispPointerEnd) (This)->lpVtbl->MoveSegmentToPointers(This,pISegment,pDispPointerStart,pDispPointerEnd)
#define IHighlightRenderingServices_RemoveSegment(This,pISegment) (This)->lpVtbl->RemoveSegment(This,pISegment)
#else
/*** IUnknown methods ***/
static inline HRESULT IHighlightRenderingServices_QueryInterface(IHighlightRenderingServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHighlightRenderingServices_AddRef(IHighlightRenderingServices* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHighlightRenderingServices_Release(IHighlightRenderingServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IHighlightRenderingServices methods ***/
static inline HRESULT IHighlightRenderingServices_AddSegment(IHighlightRenderingServices* This,IDisplayPointer *pDispPointerStart,IDisplayPointer *pDispPointerEnd,IHTMLRenderStyle *pIRenderStyle,IHighlightSegment **ppISegment) {
    return This->lpVtbl->AddSegment(This,pDispPointerStart,pDispPointerEnd,pIRenderStyle,ppISegment);
}
static inline HRESULT IHighlightRenderingServices_MoveSegmentToPointers(IHighlightRenderingServices* This,IHighlightSegment *pISegment,IDisplayPointer *pDispPointerStart,IDisplayPointer *pDispPointerEnd) {
    return This->lpVtbl->MoveSegmentToPointers(This,pISegment,pDispPointerStart,pDispPointerEnd);
}
static inline HRESULT IHighlightRenderingServices_RemoveSegment(IHighlightRenderingServices* This,IHighlightSegment *pISegment) {
    return This->lpVtbl->RemoveSegment(This,pISegment);
}
#endif
#endif

#endif


#endif  /* __IHighlightRenderingServices_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISelectionServicesListener interface
 */
#ifndef __ISelectionServicesListener_INTERFACE_DEFINED__
#define __ISelectionServicesListener_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISelectionServicesListener, 0x3050f699, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f699-98b5-11cf-bb82-00aa00bdce0b")
ISelectionServicesListener : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE BeginSelectionUndo(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE EndSelectionUndo(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnSelectedElementExit(
        IMarkupPointer *pIElementStart,
        IMarkupPointer *pIElementEnd,
        IMarkupPointer *pIElementContentStart,
        IMarkupPointer *pIElementContentEnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnChangeType(
        SELECTION_TYPE eType,
        ISelectionServicesListener *pIListener) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetTypeDetail(
        BSTR *pTypeDetail) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISelectionServicesListener, 0x3050f699, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISelectionServicesListenerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISelectionServicesListener *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISelectionServicesListener *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISelectionServicesListener *This);

    /*** ISelectionServicesListener methods ***/
    HRESULT (STDMETHODCALLTYPE *BeginSelectionUndo)(
        ISelectionServicesListener *This);

    HRESULT (STDMETHODCALLTYPE *EndSelectionUndo)(
        ISelectionServicesListener *This);

    HRESULT (STDMETHODCALLTYPE *OnSelectedElementExit)(
        ISelectionServicesListener *This,
        IMarkupPointer *pIElementStart,
        IMarkupPointer *pIElementEnd,
        IMarkupPointer *pIElementContentStart,
        IMarkupPointer *pIElementContentEnd);

    HRESULT (STDMETHODCALLTYPE *OnChangeType)(
        ISelectionServicesListener *This,
        SELECTION_TYPE eType,
        ISelectionServicesListener *pIListener);

    HRESULT (STDMETHODCALLTYPE *GetTypeDetail)(
        ISelectionServicesListener *This,
        BSTR *pTypeDetail);

    END_INTERFACE
} ISelectionServicesListenerVtbl;

interface ISelectionServicesListener {
    CONST_VTBL ISelectionServicesListenerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISelectionServicesListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISelectionServicesListener_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISelectionServicesListener_Release(This) (This)->lpVtbl->Release(This)
/*** ISelectionServicesListener methods ***/
#define ISelectionServicesListener_BeginSelectionUndo(This) (This)->lpVtbl->BeginSelectionUndo(This)
#define ISelectionServicesListener_EndSelectionUndo(This) (This)->lpVtbl->EndSelectionUndo(This)
#define ISelectionServicesListener_OnSelectedElementExit(This,pIElementStart,pIElementEnd,pIElementContentStart,pIElementContentEnd) (This)->lpVtbl->OnSelectedElementExit(This,pIElementStart,pIElementEnd,pIElementContentStart,pIElementContentEnd)
#define ISelectionServicesListener_OnChangeType(This,eType,pIListener) (This)->lpVtbl->OnChangeType(This,eType,pIListener)
#define ISelectionServicesListener_GetTypeDetail(This,pTypeDetail) (This)->lpVtbl->GetTypeDetail(This,pTypeDetail)
#else
/*** IUnknown methods ***/
static inline HRESULT ISelectionServicesListener_QueryInterface(ISelectionServicesListener* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISelectionServicesListener_AddRef(ISelectionServicesListener* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISelectionServicesListener_Release(ISelectionServicesListener* This) {
    return This->lpVtbl->Release(This);
}
/*** ISelectionServicesListener methods ***/
static inline HRESULT ISelectionServicesListener_BeginSelectionUndo(ISelectionServicesListener* This) {
    return This->lpVtbl->BeginSelectionUndo(This);
}
static inline HRESULT ISelectionServicesListener_EndSelectionUndo(ISelectionServicesListener* This) {
    return This->lpVtbl->EndSelectionUndo(This);
}
static inline HRESULT ISelectionServicesListener_OnSelectedElementExit(ISelectionServicesListener* This,IMarkupPointer *pIElementStart,IMarkupPointer *pIElementEnd,IMarkupPointer *pIElementContentStart,IMarkupPointer *pIElementContentEnd) {
    return This->lpVtbl->OnSelectedElementExit(This,pIElementStart,pIElementEnd,pIElementContentStart,pIElementContentEnd);
}
static inline HRESULT ISelectionServicesListener_OnChangeType(ISelectionServicesListener* This,SELECTION_TYPE eType,ISelectionServicesListener *pIListener) {
    return This->lpVtbl->OnChangeType(This,eType,pIListener);
}
static inline HRESULT ISelectionServicesListener_GetTypeDetail(ISelectionServicesListener* This,BSTR *pTypeDetail) {
    return This->lpVtbl->GetTypeDetail(This,pTypeDetail);
}
#endif
#endif

#endif


#endif  /* __ISelectionServicesListener_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISelectionServices interface
 */
#ifndef __ISelectionServices_INTERFACE_DEFINED__
#define __ISelectionServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISelectionServices, 0x3050f684, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f684-98b5-11cf-bb82-00aa00bdce0b")
ISelectionServices : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetSelectionType(
        SELECTION_TYPE eType,
        ISelectionServicesListener *pIListener) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetMarkupContainer(
        IMarkupContainer **ppIContainer) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddSegment(
        IMarkupPointer *pIStart,
        IMarkupPointer *pIEnd,
        ISegment **ppISegmentAdded) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddElementSegment(
        IHTMLElement *pIElement,
        IElementSegment **ppISegmentAdded) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveSegment(
        ISegment *pISegment) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSelectionServicesListener(
        ISelectionServicesListener **ppISelectionServicesListener) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISelectionServices, 0x3050f684, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISelectionServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISelectionServices *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISelectionServices *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISelectionServices *This);

    /*** ISelectionServices methods ***/
    HRESULT (STDMETHODCALLTYPE *SetSelectionType)(
        ISelectionServices *This,
        SELECTION_TYPE eType,
        ISelectionServicesListener *pIListener);

    HRESULT (STDMETHODCALLTYPE *GetMarkupContainer)(
        ISelectionServices *This,
        IMarkupContainer **ppIContainer);

    HRESULT (STDMETHODCALLTYPE *AddSegment)(
        ISelectionServices *This,
        IMarkupPointer *pIStart,
        IMarkupPointer *pIEnd,
        ISegment **ppISegmentAdded);

    HRESULT (STDMETHODCALLTYPE *AddElementSegment)(
        ISelectionServices *This,
        IHTMLElement *pIElement,
        IElementSegment **ppISegmentAdded);

    HRESULT (STDMETHODCALLTYPE *RemoveSegment)(
        ISelectionServices *This,
        ISegment *pISegment);

    HRESULT (STDMETHODCALLTYPE *GetSelectionServicesListener)(
        ISelectionServices *This,
        ISelectionServicesListener **ppISelectionServicesListener);

    END_INTERFACE
} ISelectionServicesVtbl;

interface ISelectionServices {
    CONST_VTBL ISelectionServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISelectionServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISelectionServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISelectionServices_Release(This) (This)->lpVtbl->Release(This)
/*** ISelectionServices methods ***/
#define ISelectionServices_SetSelectionType(This,eType,pIListener) (This)->lpVtbl->SetSelectionType(This,eType,pIListener)
#define ISelectionServices_GetMarkupContainer(This,ppIContainer) (This)->lpVtbl->GetMarkupContainer(This,ppIContainer)
#define ISelectionServices_AddSegment(This,pIStart,pIEnd,ppISegmentAdded) (This)->lpVtbl->AddSegment(This,pIStart,pIEnd,ppISegmentAdded)
#define ISelectionServices_AddElementSegment(This,pIElement,ppISegmentAdded) (This)->lpVtbl->AddElementSegment(This,pIElement,ppISegmentAdded)
#define ISelectionServices_RemoveSegment(This,pISegment) (This)->lpVtbl->RemoveSegment(This,pISegment)
#define ISelectionServices_GetSelectionServicesListener(This,ppISelectionServicesListener) (This)->lpVtbl->GetSelectionServicesListener(This,ppISelectionServicesListener)
#else
/*** IUnknown methods ***/
static inline HRESULT ISelectionServices_QueryInterface(ISelectionServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISelectionServices_AddRef(ISelectionServices* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISelectionServices_Release(ISelectionServices* This) {
    return This->lpVtbl->Release(This);
}
/*** ISelectionServices methods ***/
static inline HRESULT ISelectionServices_SetSelectionType(ISelectionServices* This,SELECTION_TYPE eType,ISelectionServicesListener *pIListener) {
    return This->lpVtbl->SetSelectionType(This,eType,pIListener);
}
static inline HRESULT ISelectionServices_GetMarkupContainer(ISelectionServices* This,IMarkupContainer **ppIContainer) {
    return This->lpVtbl->GetMarkupContainer(This,ppIContainer);
}
static inline HRESULT ISelectionServices_AddSegment(ISelectionServices* This,IMarkupPointer *pIStart,IMarkupPointer *pIEnd,ISegment **ppISegmentAdded) {
    return This->lpVtbl->AddSegment(This,pIStart,pIEnd,ppISegmentAdded);
}
static inline HRESULT ISelectionServices_AddElementSegment(ISelectionServices* This,IHTMLElement *pIElement,IElementSegment **ppISegmentAdded) {
    return This->lpVtbl->AddElementSegment(This,pIElement,ppISegmentAdded);
}
static inline HRESULT ISelectionServices_RemoveSegment(ISelectionServices* This,ISegment *pISegment) {
    return This->lpVtbl->RemoveSegment(This,pISegment);
}
static inline HRESULT ISelectionServices_GetSelectionServicesListener(ISelectionServices* This,ISelectionServicesListener **ppISelectionServicesListener) {
    return This->lpVtbl->GetSelectionServicesListener(This,ppISelectionServicesListener);
}
#endif
#endif

#endif


#endif  /* __ISelectionServices_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementSegment interface
 */
#ifndef __IElementSegment_INTERFACE_DEFINED__
#define __IElementSegment_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementSegment, 0x3050f68f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f68f-98b5-11cf-bb82-00aa00bdce0b")
IElementSegment : public ISegment
{
    virtual HRESULT STDMETHODCALLTYPE GetElement(
        IHTMLElement **ppIElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetPrimary(
        WINBOOL fPrimary) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsPrimary(
        WINBOOL *pfPrimary) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementSegment, 0x3050f68f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementSegmentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementSegment *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementSegment *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementSegment *This);

    /*** ISegment methods ***/
    HRESULT (STDMETHODCALLTYPE *GetPointers)(
        IElementSegment *This,
        IMarkupPointer *pIStart,
        IMarkupPointer *pIEnd);

    /*** IElementSegment methods ***/
    HRESULT (STDMETHODCALLTYPE *GetElement)(
        IElementSegment *This,
        IHTMLElement **ppIElement);

    HRESULT (STDMETHODCALLTYPE *SetPrimary)(
        IElementSegment *This,
        WINBOOL fPrimary);

    HRESULT (STDMETHODCALLTYPE *IsPrimary)(
        IElementSegment *This,
        WINBOOL *pfPrimary);

    END_INTERFACE
} IElementSegmentVtbl;

interface IElementSegment {
    CONST_VTBL IElementSegmentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementSegment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementSegment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementSegment_Release(This) (This)->lpVtbl->Release(This)
/*** ISegment methods ***/
#define IElementSegment_GetPointers(This,pIStart,pIEnd) (This)->lpVtbl->GetPointers(This,pIStart,pIEnd)
/*** IElementSegment methods ***/
#define IElementSegment_GetElement(This,ppIElement) (This)->lpVtbl->GetElement(This,ppIElement)
#define IElementSegment_SetPrimary(This,fPrimary) (This)->lpVtbl->SetPrimary(This,fPrimary)
#define IElementSegment_IsPrimary(This,pfPrimary) (This)->lpVtbl->IsPrimary(This,pfPrimary)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementSegment_QueryInterface(IElementSegment* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementSegment_AddRef(IElementSegment* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementSegment_Release(IElementSegment* This) {
    return This->lpVtbl->Release(This);
}
/*** ISegment methods ***/
static inline HRESULT IElementSegment_GetPointers(IElementSegment* This,IMarkupPointer *pIStart,IMarkupPointer *pIEnd) {
    return This->lpVtbl->GetPointers(This,pIStart,pIEnd);
}
/*** IElementSegment methods ***/
static inline HRESULT IElementSegment_GetElement(IElementSegment* This,IHTMLElement **ppIElement) {
    return This->lpVtbl->GetElement(This,ppIElement);
}
static inline HRESULT IElementSegment_SetPrimary(IElementSegment* This,WINBOOL fPrimary) {
    return This->lpVtbl->SetPrimary(This,fPrimary);
}
static inline HRESULT IElementSegment_IsPrimary(IElementSegment* This,WINBOOL *pfPrimary) {
    return This->lpVtbl->IsPrimary(This,pfPrimary);
}
#endif
#endif

#endif


#endif  /* __IElementSegment_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHighlightSegment interface
 */
#ifndef __IHighlightSegment_INTERFACE_DEFINED__
#define __IHighlightSegment_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHighlightSegment, 0x3050f690, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f690-98b5-11cf-bb82-00aa00bdce0b")
IHighlightSegment : public ISegment
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHighlightSegment, 0x3050f690, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHighlightSegmentVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHighlightSegment *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHighlightSegment *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHighlightSegment *This);

    /*** ISegment methods ***/
    HRESULT (STDMETHODCALLTYPE *GetPointers)(
        IHighlightSegment *This,
        IMarkupPointer *pIStart,
        IMarkupPointer *pIEnd);

    END_INTERFACE
} IHighlightSegmentVtbl;

interface IHighlightSegment {
    CONST_VTBL IHighlightSegmentVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHighlightSegment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHighlightSegment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHighlightSegment_Release(This) (This)->lpVtbl->Release(This)
/*** ISegment methods ***/
#define IHighlightSegment_GetPointers(This,pIStart,pIEnd) (This)->lpVtbl->GetPointers(This,pIStart,pIEnd)
#else
/*** IUnknown methods ***/
static inline HRESULT IHighlightSegment_QueryInterface(IHighlightSegment* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHighlightSegment_AddRef(IHighlightSegment* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHighlightSegment_Release(IHighlightSegment* This) {
    return This->lpVtbl->Release(This);
}
/*** ISegment methods ***/
static inline HRESULT IHighlightSegment_GetPointers(IHighlightSegment* This,IMarkupPointer *pIStart,IMarkupPointer *pIEnd) {
    return This->lpVtbl->GetPointers(This,pIStart,pIEnd);
}
#endif
#endif

#endif


#endif  /* __IHighlightSegment_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEditDesigner interface
 */
#ifndef __IHTMLEditDesigner_INTERFACE_DEFINED__
#define __IHTMLEditDesigner_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEditDesigner, 0x3050f662, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f662-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEditDesigner : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE PreHandleEvent(
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE PostHandleEvent(
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE PostEditorEventNotify(
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEditDesigner, 0x3050f662, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEditDesignerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEditDesigner *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEditDesigner *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEditDesigner *This);

    /*** IHTMLEditDesigner methods ***/
    HRESULT (STDMETHODCALLTYPE *PreHandleEvent)(
        IHTMLEditDesigner *This,
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj);

    HRESULT (STDMETHODCALLTYPE *PostHandleEvent)(
        IHTMLEditDesigner *This,
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj);

    HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
        IHTMLEditDesigner *This,
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj);

    HRESULT (STDMETHODCALLTYPE *PostEditorEventNotify)(
        IHTMLEditDesigner *This,
        DISPID inEvtDispId,
        IHTMLEventObj *pIEventObj);

    END_INTERFACE
} IHTMLEditDesignerVtbl;

interface IHTMLEditDesigner {
    CONST_VTBL IHTMLEditDesignerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEditDesigner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEditDesigner_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEditDesigner_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLEditDesigner methods ***/
#define IHTMLEditDesigner_PreHandleEvent(This,inEvtDispId,pIEventObj) (This)->lpVtbl->PreHandleEvent(This,inEvtDispId,pIEventObj)
#define IHTMLEditDesigner_PostHandleEvent(This,inEvtDispId,pIEventObj) (This)->lpVtbl->PostHandleEvent(This,inEvtDispId,pIEventObj)
#define IHTMLEditDesigner_TranslateAccelerator(This,inEvtDispId,pIEventObj) (This)->lpVtbl->TranslateAccelerator(This,inEvtDispId,pIEventObj)
#define IHTMLEditDesigner_PostEditorEventNotify(This,inEvtDispId,pIEventObj) (This)->lpVtbl->PostEditorEventNotify(This,inEvtDispId,pIEventObj)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEditDesigner_QueryInterface(IHTMLEditDesigner* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEditDesigner_AddRef(IHTMLEditDesigner* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEditDesigner_Release(IHTMLEditDesigner* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLEditDesigner methods ***/
static inline HRESULT IHTMLEditDesigner_PreHandleEvent(IHTMLEditDesigner* This,DISPID inEvtDispId,IHTMLEventObj *pIEventObj) {
    return This->lpVtbl->PreHandleEvent(This,inEvtDispId,pIEventObj);
}
static inline HRESULT IHTMLEditDesigner_PostHandleEvent(IHTMLEditDesigner* This,DISPID inEvtDispId,IHTMLEventObj *pIEventObj) {
    return This->lpVtbl->PostHandleEvent(This,inEvtDispId,pIEventObj);
}
static inline HRESULT IHTMLEditDesigner_TranslateAccelerator(IHTMLEditDesigner* This,DISPID inEvtDispId,IHTMLEventObj *pIEventObj) {
    return This->lpVtbl->TranslateAccelerator(This,inEvtDispId,pIEventObj);
}
static inline HRESULT IHTMLEditDesigner_PostEditorEventNotify(IHTMLEditDesigner* This,DISPID inEvtDispId,IHTMLEventObj *pIEventObj) {
    return This->lpVtbl->PostEditorEventNotify(This,inEvtDispId,pIEventObj);
}
#endif
#endif

#endif


#endif  /* __IHTMLEditDesigner_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEditServices interface
 */
#ifndef __IHTMLEditServices_INTERFACE_DEFINED__
#define __IHTMLEditServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEditServices, 0x3050f663, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f663-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEditServices : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE AddDesigner(
        IHTMLEditDesigner *pIDesigner) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveDesigner(
        IHTMLEditDesigner *pIDesigner) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSelectionServices(
        IMarkupContainer *pIContainer,
        ISelectionServices **ppSelSvc) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToSelectionAnchor(
        IMarkupPointer *pIStartAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToSelectionEnd(
        IMarkupPointer *pIEndAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE SelectRange(
        IMarkupPointer *pStart,
        IMarkupPointer *pEnd,
        SELECTION_TYPE eType) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEditServices, 0x3050f663, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEditServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEditServices *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEditServices *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEditServices *This);

    /*** IHTMLEditServices methods ***/
    HRESULT (STDMETHODCALLTYPE *AddDesigner)(
        IHTMLEditServices *This,
        IHTMLEditDesigner *pIDesigner);

    HRESULT (STDMETHODCALLTYPE *RemoveDesigner)(
        IHTMLEditServices *This,
        IHTMLEditDesigner *pIDesigner);

    HRESULT (STDMETHODCALLTYPE *GetSelectionServices)(
        IHTMLEditServices *This,
        IMarkupContainer *pIContainer,
        ISelectionServices **ppSelSvc);

    HRESULT (STDMETHODCALLTYPE *MoveToSelectionAnchor)(
        IHTMLEditServices *This,
        IMarkupPointer *pIStartAnchor);

    HRESULT (STDMETHODCALLTYPE *MoveToSelectionEnd)(
        IHTMLEditServices *This,
        IMarkupPointer *pIEndAnchor);

    HRESULT (STDMETHODCALLTYPE *SelectRange)(
        IHTMLEditServices *This,
        IMarkupPointer *pStart,
        IMarkupPointer *pEnd,
        SELECTION_TYPE eType);

    END_INTERFACE
} IHTMLEditServicesVtbl;

interface IHTMLEditServices {
    CONST_VTBL IHTMLEditServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEditServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEditServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEditServices_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLEditServices methods ***/
#define IHTMLEditServices_AddDesigner(This,pIDesigner) (This)->lpVtbl->AddDesigner(This,pIDesigner)
#define IHTMLEditServices_RemoveDesigner(This,pIDesigner) (This)->lpVtbl->RemoveDesigner(This,pIDesigner)
#define IHTMLEditServices_GetSelectionServices(This,pIContainer,ppSelSvc) (This)->lpVtbl->GetSelectionServices(This,pIContainer,ppSelSvc)
#define IHTMLEditServices_MoveToSelectionAnchor(This,pIStartAnchor) (This)->lpVtbl->MoveToSelectionAnchor(This,pIStartAnchor)
#define IHTMLEditServices_MoveToSelectionEnd(This,pIEndAnchor) (This)->lpVtbl->MoveToSelectionEnd(This,pIEndAnchor)
#define IHTMLEditServices_SelectRange(This,pStart,pEnd,eType) (This)->lpVtbl->SelectRange(This,pStart,pEnd,eType)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEditServices_QueryInterface(IHTMLEditServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEditServices_AddRef(IHTMLEditServices* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEditServices_Release(IHTMLEditServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLEditServices methods ***/
static inline HRESULT IHTMLEditServices_AddDesigner(IHTMLEditServices* This,IHTMLEditDesigner *pIDesigner) {
    return This->lpVtbl->AddDesigner(This,pIDesigner);
}
static inline HRESULT IHTMLEditServices_RemoveDesigner(IHTMLEditServices* This,IHTMLEditDesigner *pIDesigner) {
    return This->lpVtbl->RemoveDesigner(This,pIDesigner);
}
static inline HRESULT IHTMLEditServices_GetSelectionServices(IHTMLEditServices* This,IMarkupContainer *pIContainer,ISelectionServices **ppSelSvc) {
    return This->lpVtbl->GetSelectionServices(This,pIContainer,ppSelSvc);
}
static inline HRESULT IHTMLEditServices_MoveToSelectionAnchor(IHTMLEditServices* This,IMarkupPointer *pIStartAnchor) {
    return This->lpVtbl->MoveToSelectionAnchor(This,pIStartAnchor);
}
static inline HRESULT IHTMLEditServices_MoveToSelectionEnd(IHTMLEditServices* This,IMarkupPointer *pIEndAnchor) {
    return This->lpVtbl->MoveToSelectionEnd(This,pIEndAnchor);
}
static inline HRESULT IHTMLEditServices_SelectRange(IHTMLEditServices* This,IMarkupPointer *pStart,IMarkupPointer *pEnd,SELECTION_TYPE eType) {
    return This->lpVtbl->SelectRange(This,pStart,pEnd,eType);
}
#endif
#endif

#endif


#endif  /* __IHTMLEditServices_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLEditServices2 interface
 */
#ifndef __IHTMLEditServices2_INTERFACE_DEFINED__
#define __IHTMLEditServices2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLEditServices2, 0x3050f812, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f812-98b5-11cf-bb82-00aa00bdce0b")
IHTMLEditServices2 : public IHTMLEditServices
{
    virtual HRESULT STDMETHODCALLTYPE MoveToSelectionAnchorEx(
        IDisplayPointer *pIStartAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToSelectionEndEx(
        IDisplayPointer *pIEndAnchor) = 0;

    virtual HRESULT STDMETHODCALLTYPE FreezeVirtualCaretPos(
        WINBOOL fReCompute) = 0;

    virtual HRESULT STDMETHODCALLTYPE UnFreezeVirtualCaretPos(
        WINBOOL fReset) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLEditServices2, 0x3050f812, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLEditServices2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLEditServices2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLEditServices2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLEditServices2 *This);

    /*** IHTMLEditServices methods ***/
    HRESULT (STDMETHODCALLTYPE *AddDesigner)(
        IHTMLEditServices2 *This,
        IHTMLEditDesigner *pIDesigner);

    HRESULT (STDMETHODCALLTYPE *RemoveDesigner)(
        IHTMLEditServices2 *This,
        IHTMLEditDesigner *pIDesigner);

    HRESULT (STDMETHODCALLTYPE *GetSelectionServices)(
        IHTMLEditServices2 *This,
        IMarkupContainer *pIContainer,
        ISelectionServices **ppSelSvc);

    HRESULT (STDMETHODCALLTYPE *MoveToSelectionAnchor)(
        IHTMLEditServices2 *This,
        IMarkupPointer *pIStartAnchor);

    HRESULT (STDMETHODCALLTYPE *MoveToSelectionEnd)(
        IHTMLEditServices2 *This,
        IMarkupPointer *pIEndAnchor);

    HRESULT (STDMETHODCALLTYPE *SelectRange)(
        IHTMLEditServices2 *This,
        IMarkupPointer *pStart,
        IMarkupPointer *pEnd,
        SELECTION_TYPE eType);

    /*** IHTMLEditServices2 methods ***/
    HRESULT (STDMETHODCALLTYPE *MoveToSelectionAnchorEx)(
        IHTMLEditServices2 *This,
        IDisplayPointer *pIStartAnchor);

    HRESULT (STDMETHODCALLTYPE *MoveToSelectionEndEx)(
        IHTMLEditServices2 *This,
        IDisplayPointer *pIEndAnchor);

    HRESULT (STDMETHODCALLTYPE *FreezeVirtualCaretPos)(
        IHTMLEditServices2 *This,
        WINBOOL fReCompute);

    HRESULT (STDMETHODCALLTYPE *UnFreezeVirtualCaretPos)(
        IHTMLEditServices2 *This,
        WINBOOL fReset);

    END_INTERFACE
} IHTMLEditServices2Vtbl;

interface IHTMLEditServices2 {
    CONST_VTBL IHTMLEditServices2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLEditServices2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLEditServices2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLEditServices2_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLEditServices methods ***/
#define IHTMLEditServices2_AddDesigner(This,pIDesigner) (This)->lpVtbl->AddDesigner(This,pIDesigner)
#define IHTMLEditServices2_RemoveDesigner(This,pIDesigner) (This)->lpVtbl->RemoveDesigner(This,pIDesigner)
#define IHTMLEditServices2_GetSelectionServices(This,pIContainer,ppSelSvc) (This)->lpVtbl->GetSelectionServices(This,pIContainer,ppSelSvc)
#define IHTMLEditServices2_MoveToSelectionAnchor(This,pIStartAnchor) (This)->lpVtbl->MoveToSelectionAnchor(This,pIStartAnchor)
#define IHTMLEditServices2_MoveToSelectionEnd(This,pIEndAnchor) (This)->lpVtbl->MoveToSelectionEnd(This,pIEndAnchor)
#define IHTMLEditServices2_SelectRange(This,pStart,pEnd,eType) (This)->lpVtbl->SelectRange(This,pStart,pEnd,eType)
/*** IHTMLEditServices2 methods ***/
#define IHTMLEditServices2_MoveToSelectionAnchorEx(This,pIStartAnchor) (This)->lpVtbl->MoveToSelectionAnchorEx(This,pIStartAnchor)
#define IHTMLEditServices2_MoveToSelectionEndEx(This,pIEndAnchor) (This)->lpVtbl->MoveToSelectionEndEx(This,pIEndAnchor)
#define IHTMLEditServices2_FreezeVirtualCaretPos(This,fReCompute) (This)->lpVtbl->FreezeVirtualCaretPos(This,fReCompute)
#define IHTMLEditServices2_UnFreezeVirtualCaretPos(This,fReset) (This)->lpVtbl->UnFreezeVirtualCaretPos(This,fReset)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLEditServices2_QueryInterface(IHTMLEditServices2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLEditServices2_AddRef(IHTMLEditServices2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLEditServices2_Release(IHTMLEditServices2* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLEditServices methods ***/
static inline HRESULT IHTMLEditServices2_AddDesigner(IHTMLEditServices2* This,IHTMLEditDesigner *pIDesigner) {
    return This->lpVtbl->AddDesigner(This,pIDesigner);
}
static inline HRESULT IHTMLEditServices2_RemoveDesigner(IHTMLEditServices2* This,IHTMLEditDesigner *pIDesigner) {
    return This->lpVtbl->RemoveDesigner(This,pIDesigner);
}
static inline HRESULT IHTMLEditServices2_GetSelectionServices(IHTMLEditServices2* This,IMarkupContainer *pIContainer,ISelectionServices **ppSelSvc) {
    return This->lpVtbl->GetSelectionServices(This,pIContainer,ppSelSvc);
}
static inline HRESULT IHTMLEditServices2_MoveToSelectionAnchor(IHTMLEditServices2* This,IMarkupPointer *pIStartAnchor) {
    return This->lpVtbl->MoveToSelectionAnchor(This,pIStartAnchor);
}
static inline HRESULT IHTMLEditServices2_MoveToSelectionEnd(IHTMLEditServices2* This,IMarkupPointer *pIEndAnchor) {
    return This->lpVtbl->MoveToSelectionEnd(This,pIEndAnchor);
}
static inline HRESULT IHTMLEditServices2_SelectRange(IHTMLEditServices2* This,IMarkupPointer *pStart,IMarkupPointer *pEnd,SELECTION_TYPE eType) {
    return This->lpVtbl->SelectRange(This,pStart,pEnd,eType);
}
/*** IHTMLEditServices2 methods ***/
static inline HRESULT IHTMLEditServices2_MoveToSelectionAnchorEx(IHTMLEditServices2* This,IDisplayPointer *pIStartAnchor) {
    return This->lpVtbl->MoveToSelectionAnchorEx(This,pIStartAnchor);
}
static inline HRESULT IHTMLEditServices2_MoveToSelectionEndEx(IHTMLEditServices2* This,IDisplayPointer *pIEndAnchor) {
    return This->lpVtbl->MoveToSelectionEndEx(This,pIEndAnchor);
}
static inline HRESULT IHTMLEditServices2_FreezeVirtualCaretPos(IHTMLEditServices2* This,WINBOOL fReCompute) {
    return This->lpVtbl->FreezeVirtualCaretPos(This,fReCompute);
}
static inline HRESULT IHTMLEditServices2_UnFreezeVirtualCaretPos(IHTMLEditServices2* This,WINBOOL fReset) {
    return This->lpVtbl->UnFreezeVirtualCaretPos(This,fReset);
}
#endif
#endif

#endif


#endif  /* __IHTMLEditServices2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ILineInfo interface
 */
#ifndef __ILineInfo_INTERFACE_DEFINED__
#define __ILineInfo_INTERFACE_DEFINED__

DEFINE_GUID(IID_ILineInfo, 0x3050f7e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7e2-98b5-11cf-bb82-00aa00bdce0b")
ILineInfo : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE get_x(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_baseLine(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textDescent(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textHeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_lineDirection(
        LONG *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ILineInfo, 0x3050f7e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ILineInfoVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ILineInfo *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ILineInfo *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ILineInfo *This);

    /*** ILineInfo methods ***/
    HRESULT (STDMETHODCALLTYPE *get_x)(
        ILineInfo *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_baseLine)(
        ILineInfo *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_textDescent)(
        ILineInfo *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_textHeight)(
        ILineInfo *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_lineDirection)(
        ILineInfo *This,
        LONG *p);

    END_INTERFACE
} ILineInfoVtbl;

interface ILineInfo {
    CONST_VTBL ILineInfoVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ILineInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ILineInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ILineInfo_Release(This) (This)->lpVtbl->Release(This)
/*** ILineInfo methods ***/
#define ILineInfo_get_x(This,p) (This)->lpVtbl->get_x(This,p)
#define ILineInfo_get_baseLine(This,p) (This)->lpVtbl->get_baseLine(This,p)
#define ILineInfo_get_textDescent(This,p) (This)->lpVtbl->get_textDescent(This,p)
#define ILineInfo_get_textHeight(This,p) (This)->lpVtbl->get_textHeight(This,p)
#define ILineInfo_get_lineDirection(This,p) (This)->lpVtbl->get_lineDirection(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT ILineInfo_QueryInterface(ILineInfo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ILineInfo_AddRef(ILineInfo* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ILineInfo_Release(ILineInfo* This) {
    return This->lpVtbl->Release(This);
}
/*** ILineInfo methods ***/
static inline HRESULT ILineInfo_get_x(ILineInfo* This,LONG *p) {
    return This->lpVtbl->get_x(This,p);
}
static inline HRESULT ILineInfo_get_baseLine(ILineInfo* This,LONG *p) {
    return This->lpVtbl->get_baseLine(This,p);
}
static inline HRESULT ILineInfo_get_textDescent(ILineInfo* This,LONG *p) {
    return This->lpVtbl->get_textDescent(This,p);
}
static inline HRESULT ILineInfo_get_textHeight(ILineInfo* This,LONG *p) {
    return This->lpVtbl->get_textHeight(This,p);
}
static inline HRESULT ILineInfo_get_lineDirection(ILineInfo* This,LONG *p) {
    return This->lpVtbl->get_lineDirection(This,p);
}
#endif
#endif

#endif


#endif  /* __ILineInfo_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLComputedStyle interface
 */
#ifndef __IHTMLComputedStyle_INTERFACE_DEFINED__
#define __IHTMLComputedStyle_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLComputedStyle, 0x3050f6c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6c3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLComputedStyle : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE get_bold(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_italic(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_underline(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_overline(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_strikeOut(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_subScript(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_superScript(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_explicitFace(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontWeight(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontSize(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_fontName(
        TCHAR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_hasBgColor(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_textColor(
        DWORD *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_backgroundColor(
        DWORD *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_preFormatted(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_direction(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_blockDirection(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_OL(
        VARIANT_BOOL *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEqual(
        IHTMLComputedStyle *pComputedStyle,
        VARIANT_BOOL *pfEqual) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLComputedStyle, 0x3050f6c3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLComputedStyleVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLComputedStyle *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLComputedStyle *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLComputedStyle *This);

    /*** IHTMLComputedStyle methods ***/
    HRESULT (STDMETHODCALLTYPE *get_bold)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_italic)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_underline)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_overline)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_strikeOut)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_subScript)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_superScript)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_explicitFace)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_fontWeight)(
        IHTMLComputedStyle *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_fontSize)(
        IHTMLComputedStyle *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get_fontName)(
        IHTMLComputedStyle *This,
        TCHAR *p);

    HRESULT (STDMETHODCALLTYPE *get_hasBgColor)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_textColor)(
        IHTMLComputedStyle *This,
        DWORD *p);

    HRESULT (STDMETHODCALLTYPE *get_backgroundColor)(
        IHTMLComputedStyle *This,
        DWORD *p);

    HRESULT (STDMETHODCALLTYPE *get_preFormatted)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_direction)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_blockDirection)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *get_OL)(
        IHTMLComputedStyle *This,
        VARIANT_BOOL *p);

    HRESULT (STDMETHODCALLTYPE *IsEqual)(
        IHTMLComputedStyle *This,
        IHTMLComputedStyle *pComputedStyle,
        VARIANT_BOOL *pfEqual);

    END_INTERFACE
} IHTMLComputedStyleVtbl;

interface IHTMLComputedStyle {
    CONST_VTBL IHTMLComputedStyleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLComputedStyle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLComputedStyle_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLComputedStyle_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLComputedStyle methods ***/
#define IHTMLComputedStyle_get_bold(This,p) (This)->lpVtbl->get_bold(This,p)
#define IHTMLComputedStyle_get_italic(This,p) (This)->lpVtbl->get_italic(This,p)
#define IHTMLComputedStyle_get_underline(This,p) (This)->lpVtbl->get_underline(This,p)
#define IHTMLComputedStyle_get_overline(This,p) (This)->lpVtbl->get_overline(This,p)
#define IHTMLComputedStyle_get_strikeOut(This,p) (This)->lpVtbl->get_strikeOut(This,p)
#define IHTMLComputedStyle_get_subScript(This,p) (This)->lpVtbl->get_subScript(This,p)
#define IHTMLComputedStyle_get_superScript(This,p) (This)->lpVtbl->get_superScript(This,p)
#define IHTMLComputedStyle_get_explicitFace(This,p) (This)->lpVtbl->get_explicitFace(This,p)
#define IHTMLComputedStyle_get_fontWeight(This,p) (This)->lpVtbl->get_fontWeight(This,p)
#define IHTMLComputedStyle_get_fontSize(This,p) (This)->lpVtbl->get_fontSize(This,p)
#define IHTMLComputedStyle_get_fontName(This,p) (This)->lpVtbl->get_fontName(This,p)
#define IHTMLComputedStyle_get_hasBgColor(This,p) (This)->lpVtbl->get_hasBgColor(This,p)
#define IHTMLComputedStyle_get_textColor(This,p) (This)->lpVtbl->get_textColor(This,p)
#define IHTMLComputedStyle_get_backgroundColor(This,p) (This)->lpVtbl->get_backgroundColor(This,p)
#define IHTMLComputedStyle_get_preFormatted(This,p) (This)->lpVtbl->get_preFormatted(This,p)
#define IHTMLComputedStyle_get_direction(This,p) (This)->lpVtbl->get_direction(This,p)
#define IHTMLComputedStyle_get_blockDirection(This,p) (This)->lpVtbl->get_blockDirection(This,p)
#define IHTMLComputedStyle_get_OL(This,p) (This)->lpVtbl->get_OL(This,p)
#define IHTMLComputedStyle_IsEqual(This,pComputedStyle,pfEqual) (This)->lpVtbl->IsEqual(This,pComputedStyle,pfEqual)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLComputedStyle_QueryInterface(IHTMLComputedStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLComputedStyle_AddRef(IHTMLComputedStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLComputedStyle_Release(IHTMLComputedStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLComputedStyle methods ***/
static inline HRESULT IHTMLComputedStyle_get_bold(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_bold(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_italic(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_italic(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_underline(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_underline(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_overline(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_overline(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_strikeOut(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_strikeOut(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_subScript(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_subScript(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_superScript(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_superScript(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_explicitFace(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_explicitFace(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_fontWeight(IHTMLComputedStyle* This,LONG *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_fontSize(IHTMLComputedStyle* This,LONG *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_fontName(IHTMLComputedStyle* This,TCHAR *p) {
    return This->lpVtbl->get_fontName(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_hasBgColor(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_hasBgColor(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_textColor(IHTMLComputedStyle* This,DWORD *p) {
    return This->lpVtbl->get_textColor(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_backgroundColor(IHTMLComputedStyle* This,DWORD *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_preFormatted(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_preFormatted(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_direction(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_direction(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_blockDirection(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_blockDirection(This,p);
}
static inline HRESULT IHTMLComputedStyle_get_OL(IHTMLComputedStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_OL(This,p);
}
static inline HRESULT IHTMLComputedStyle_IsEqual(IHTMLComputedStyle* This,IHTMLComputedStyle *pComputedStyle,VARIANT_BOOL *pfEqual) {
    return This->lpVtbl->IsEqual(This,pComputedStyle,pfEqual);
}
#endif
#endif

#endif


#endif  /* __IHTMLComputedStyle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDisplayPointer interface
 */
#ifndef __IDisplayPointer_INTERFACE_DEFINED__
#define __IDisplayPointer_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDisplayPointer, 0x3050f69e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f69e-98b5-11cf-bb82-00aa00bdce0b")
IDisplayPointer : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE MoveToPoint(
        POINT ptPoint,
        COORD_SYSTEM eCoordSystem,
        IHTMLElement *pElementContext,
        DWORD dwHitTestOptions,
        DWORD *pdwHitTestResults) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveUnit(
        DISPLAY_MOVEUNIT eMoveUnit,
        LONG lXPos) = 0;

    virtual HRESULT STDMETHODCALLTYPE PositionMarkupPointer(
        IMarkupPointer *pMarkupPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToPointer(
        IDisplayPointer *pDispPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetPointerGravity(
        POINTER_GRAVITY eGravity) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPointerGravity(
        POINTER_GRAVITY *peGravity) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetDisplayGravity(
        DISPLAY_GRAVITY eGravity) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDisplayGravity(
        DISPLAY_GRAVITY *peGravity) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsPositioned(
        WINBOOL *pfPositioned) = 0;

    virtual HRESULT STDMETHODCALLTYPE Unposition(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEqualTo(
        IDisplayPointer *pDispPointer,
        WINBOOL *pfIsEqual) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsLeftOf(
        IDisplayPointer *pDispPointer,
        WINBOOL *pfIsLeftOf) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsRightOf(
        IDisplayPointer *pDispPointer,
        WINBOOL *pfIsRightOf) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsAtBOL(
        WINBOOL *pfBOL) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToMarkupPointer(
        IMarkupPointer *pPointer,
        IDisplayPointer *pDispLineContext) = 0;

    virtual HRESULT STDMETHODCALLTYPE ScrollIntoView(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLineInfo(
        ILineInfo **ppLineInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetFlowElement(
        IHTMLElement **ppLayoutElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE QueryBreaks(
        DWORD *pdwBreaks) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDisplayPointer, 0x3050f69e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDisplayPointerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDisplayPointer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDisplayPointer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDisplayPointer *This);

    /*** IDisplayPointer methods ***/
    HRESULT (STDMETHODCALLTYPE *MoveToPoint)(
        IDisplayPointer *This,
        POINT ptPoint,
        COORD_SYSTEM eCoordSystem,
        IHTMLElement *pElementContext,
        DWORD dwHitTestOptions,
        DWORD *pdwHitTestResults);

    HRESULT (STDMETHODCALLTYPE *MoveUnit)(
        IDisplayPointer *This,
        DISPLAY_MOVEUNIT eMoveUnit,
        LONG lXPos);

    HRESULT (STDMETHODCALLTYPE *PositionMarkupPointer)(
        IDisplayPointer *This,
        IMarkupPointer *pMarkupPointer);

    HRESULT (STDMETHODCALLTYPE *MoveToPointer)(
        IDisplayPointer *This,
        IDisplayPointer *pDispPointer);

    HRESULT (STDMETHODCALLTYPE *SetPointerGravity)(
        IDisplayPointer *This,
        POINTER_GRAVITY eGravity);

    HRESULT (STDMETHODCALLTYPE *GetPointerGravity)(
        IDisplayPointer *This,
        POINTER_GRAVITY *peGravity);

    HRESULT (STDMETHODCALLTYPE *SetDisplayGravity)(
        IDisplayPointer *This,
        DISPLAY_GRAVITY eGravity);

    HRESULT (STDMETHODCALLTYPE *GetDisplayGravity)(
        IDisplayPointer *This,
        DISPLAY_GRAVITY *peGravity);

    HRESULT (STDMETHODCALLTYPE *IsPositioned)(
        IDisplayPointer *This,
        WINBOOL *pfPositioned);

    HRESULT (STDMETHODCALLTYPE *Unposition)(
        IDisplayPointer *This);

    HRESULT (STDMETHODCALLTYPE *IsEqualTo)(
        IDisplayPointer *This,
        IDisplayPointer *pDispPointer,
        WINBOOL *pfIsEqual);

    HRESULT (STDMETHODCALLTYPE *IsLeftOf)(
        IDisplayPointer *This,
        IDisplayPointer *pDispPointer,
        WINBOOL *pfIsLeftOf);

    HRESULT (STDMETHODCALLTYPE *IsRightOf)(
        IDisplayPointer *This,
        IDisplayPointer *pDispPointer,
        WINBOOL *pfIsRightOf);

    HRESULT (STDMETHODCALLTYPE *IsAtBOL)(
        IDisplayPointer *This,
        WINBOOL *pfBOL);

    HRESULT (STDMETHODCALLTYPE *MoveToMarkupPointer)(
        IDisplayPointer *This,
        IMarkupPointer *pPointer,
        IDisplayPointer *pDispLineContext);

    HRESULT (STDMETHODCALLTYPE *ScrollIntoView)(
        IDisplayPointer *This);

    HRESULT (STDMETHODCALLTYPE *GetLineInfo)(
        IDisplayPointer *This,
        ILineInfo **ppLineInfo);

    HRESULT (STDMETHODCALLTYPE *GetFlowElement)(
        IDisplayPointer *This,
        IHTMLElement **ppLayoutElement);

    HRESULT (STDMETHODCALLTYPE *QueryBreaks)(
        IDisplayPointer *This,
        DWORD *pdwBreaks);

    END_INTERFACE
} IDisplayPointerVtbl;

interface IDisplayPointer {
    CONST_VTBL IDisplayPointerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDisplayPointer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDisplayPointer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDisplayPointer_Release(This) (This)->lpVtbl->Release(This)
/*** IDisplayPointer methods ***/
#define IDisplayPointer_MoveToPoint(This,ptPoint,eCoordSystem,pElementContext,dwHitTestOptions,pdwHitTestResults) (This)->lpVtbl->MoveToPoint(This,ptPoint,eCoordSystem,pElementContext,dwHitTestOptions,pdwHitTestResults)
#define IDisplayPointer_MoveUnit(This,eMoveUnit,lXPos) (This)->lpVtbl->MoveUnit(This,eMoveUnit,lXPos)
#define IDisplayPointer_PositionMarkupPointer(This,pMarkupPointer) (This)->lpVtbl->PositionMarkupPointer(This,pMarkupPointer)
#define IDisplayPointer_MoveToPointer(This,pDispPointer) (This)->lpVtbl->MoveToPointer(This,pDispPointer)
#define IDisplayPointer_SetPointerGravity(This,eGravity) (This)->lpVtbl->SetPointerGravity(This,eGravity)
#define IDisplayPointer_GetPointerGravity(This,peGravity) (This)->lpVtbl->GetPointerGravity(This,peGravity)
#define IDisplayPointer_SetDisplayGravity(This,eGravity) (This)->lpVtbl->SetDisplayGravity(This,eGravity)
#define IDisplayPointer_GetDisplayGravity(This,peGravity) (This)->lpVtbl->GetDisplayGravity(This,peGravity)
#define IDisplayPointer_IsPositioned(This,pfPositioned) (This)->lpVtbl->IsPositioned(This,pfPositioned)
#define IDisplayPointer_Unposition(This) (This)->lpVtbl->Unposition(This)
#define IDisplayPointer_IsEqualTo(This,pDispPointer,pfIsEqual) (This)->lpVtbl->IsEqualTo(This,pDispPointer,pfIsEqual)
#define IDisplayPointer_IsLeftOf(This,pDispPointer,pfIsLeftOf) (This)->lpVtbl->IsLeftOf(This,pDispPointer,pfIsLeftOf)
#define IDisplayPointer_IsRightOf(This,pDispPointer,pfIsRightOf) (This)->lpVtbl->IsRightOf(This,pDispPointer,pfIsRightOf)
#define IDisplayPointer_IsAtBOL(This,pfBOL) (This)->lpVtbl->IsAtBOL(This,pfBOL)
#define IDisplayPointer_MoveToMarkupPointer(This,pPointer,pDispLineContext) (This)->lpVtbl->MoveToMarkupPointer(This,pPointer,pDispLineContext)
#define IDisplayPointer_ScrollIntoView(This) (This)->lpVtbl->ScrollIntoView(This)
#define IDisplayPointer_GetLineInfo(This,ppLineInfo) (This)->lpVtbl->GetLineInfo(This,ppLineInfo)
#define IDisplayPointer_GetFlowElement(This,ppLayoutElement) (This)->lpVtbl->GetFlowElement(This,ppLayoutElement)
#define IDisplayPointer_QueryBreaks(This,pdwBreaks) (This)->lpVtbl->QueryBreaks(This,pdwBreaks)
#else
/*** IUnknown methods ***/
static inline HRESULT IDisplayPointer_QueryInterface(IDisplayPointer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDisplayPointer_AddRef(IDisplayPointer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDisplayPointer_Release(IDisplayPointer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDisplayPointer methods ***/
static inline HRESULT IDisplayPointer_MoveToPoint(IDisplayPointer* This,POINT ptPoint,COORD_SYSTEM eCoordSystem,IHTMLElement *pElementContext,DWORD dwHitTestOptions,DWORD *pdwHitTestResults) {
    return This->lpVtbl->MoveToPoint(This,ptPoint,eCoordSystem,pElementContext,dwHitTestOptions,pdwHitTestResults);
}
static inline HRESULT IDisplayPointer_MoveUnit(IDisplayPointer* This,DISPLAY_MOVEUNIT eMoveUnit,LONG lXPos) {
    return This->lpVtbl->MoveUnit(This,eMoveUnit,lXPos);
}
static inline HRESULT IDisplayPointer_PositionMarkupPointer(IDisplayPointer* This,IMarkupPointer *pMarkupPointer) {
    return This->lpVtbl->PositionMarkupPointer(This,pMarkupPointer);
}
static inline HRESULT IDisplayPointer_MoveToPointer(IDisplayPointer* This,IDisplayPointer *pDispPointer) {
    return This->lpVtbl->MoveToPointer(This,pDispPointer);
}
static inline HRESULT IDisplayPointer_SetPointerGravity(IDisplayPointer* This,POINTER_GRAVITY eGravity) {
    return This->lpVtbl->SetPointerGravity(This,eGravity);
}
static inline HRESULT IDisplayPointer_GetPointerGravity(IDisplayPointer* This,POINTER_GRAVITY *peGravity) {
    return This->lpVtbl->GetPointerGravity(This,peGravity);
}
static inline HRESULT IDisplayPointer_SetDisplayGravity(IDisplayPointer* This,DISPLAY_GRAVITY eGravity) {
    return This->lpVtbl->SetDisplayGravity(This,eGravity);
}
static inline HRESULT IDisplayPointer_GetDisplayGravity(IDisplayPointer* This,DISPLAY_GRAVITY *peGravity) {
    return This->lpVtbl->GetDisplayGravity(This,peGravity);
}
static inline HRESULT IDisplayPointer_IsPositioned(IDisplayPointer* This,WINBOOL *pfPositioned) {
    return This->lpVtbl->IsPositioned(This,pfPositioned);
}
static inline HRESULT IDisplayPointer_Unposition(IDisplayPointer* This) {
    return This->lpVtbl->Unposition(This);
}
static inline HRESULT IDisplayPointer_IsEqualTo(IDisplayPointer* This,IDisplayPointer *pDispPointer,WINBOOL *pfIsEqual) {
    return This->lpVtbl->IsEqualTo(This,pDispPointer,pfIsEqual);
}
static inline HRESULT IDisplayPointer_IsLeftOf(IDisplayPointer* This,IDisplayPointer *pDispPointer,WINBOOL *pfIsLeftOf) {
    return This->lpVtbl->IsLeftOf(This,pDispPointer,pfIsLeftOf);
}
static inline HRESULT IDisplayPointer_IsRightOf(IDisplayPointer* This,IDisplayPointer *pDispPointer,WINBOOL *pfIsRightOf) {
    return This->lpVtbl->IsRightOf(This,pDispPointer,pfIsRightOf);
}
static inline HRESULT IDisplayPointer_IsAtBOL(IDisplayPointer* This,WINBOOL *pfBOL) {
    return This->lpVtbl->IsAtBOL(This,pfBOL);
}
static inline HRESULT IDisplayPointer_MoveToMarkupPointer(IDisplayPointer* This,IMarkupPointer *pPointer,IDisplayPointer *pDispLineContext) {
    return This->lpVtbl->MoveToMarkupPointer(This,pPointer,pDispLineContext);
}
static inline HRESULT IDisplayPointer_ScrollIntoView(IDisplayPointer* This) {
    return This->lpVtbl->ScrollIntoView(This);
}
static inline HRESULT IDisplayPointer_GetLineInfo(IDisplayPointer* This,ILineInfo **ppLineInfo) {
    return This->lpVtbl->GetLineInfo(This,ppLineInfo);
}
static inline HRESULT IDisplayPointer_GetFlowElement(IDisplayPointer* This,IHTMLElement **ppLayoutElement) {
    return This->lpVtbl->GetFlowElement(This,ppLayoutElement);
}
static inline HRESULT IDisplayPointer_QueryBreaks(IDisplayPointer* This,DWORD *pdwBreaks) {
    return This->lpVtbl->QueryBreaks(This,pdwBreaks);
}
#endif
#endif

#endif


#endif  /* __IDisplayPointer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDisplayServices interface
 */
#ifndef __IDisplayServices_INTERFACE_DEFINED__
#define __IDisplayServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDisplayServices, 0x3050f69d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f69d-98b5-11cf-bb82-00aa00bdce0b")
IDisplayServices : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CreateDisplayPointer(
        IDisplayPointer **ppDispPointer) = 0;

    virtual HRESULT STDMETHODCALLTYPE TransformRect(
        RECT *pRect,
        COORD_SYSTEM eSource,
        COORD_SYSTEM eDestination,
        IHTMLElement *pIElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE TransformPoint(
        POINT *pPoint,
        COORD_SYSTEM eSource,
        COORD_SYSTEM eDestination,
        IHTMLElement *pIElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetCaret(
        IHTMLCaret **ppCaret) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetComputedStyle(
        IMarkupPointer *pPointer,
        IHTMLComputedStyle **ppComputedStyle) = 0;

    virtual HRESULT STDMETHODCALLTYPE ScrollRectIntoView(
        IHTMLElement *pIElement,
        RECT rect) = 0;

    virtual HRESULT STDMETHODCALLTYPE HasFlowLayout(
        IHTMLElement *pIElement,
        WINBOOL *pfHasFlowLayout) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDisplayServices, 0x3050f69d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDisplayServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDisplayServices *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDisplayServices *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDisplayServices *This);

    /*** IDisplayServices methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateDisplayPointer)(
        IDisplayServices *This,
        IDisplayPointer **ppDispPointer);

    HRESULT (STDMETHODCALLTYPE *TransformRect)(
        IDisplayServices *This,
        RECT *pRect,
        COORD_SYSTEM eSource,
        COORD_SYSTEM eDestination,
        IHTMLElement *pIElement);

    HRESULT (STDMETHODCALLTYPE *TransformPoint)(
        IDisplayServices *This,
        POINT *pPoint,
        COORD_SYSTEM eSource,
        COORD_SYSTEM eDestination,
        IHTMLElement *pIElement);

    HRESULT (STDMETHODCALLTYPE *GetCaret)(
        IDisplayServices *This,
        IHTMLCaret **ppCaret);

    HRESULT (STDMETHODCALLTYPE *GetComputedStyle)(
        IDisplayServices *This,
        IMarkupPointer *pPointer,
        IHTMLComputedStyle **ppComputedStyle);

    HRESULT (STDMETHODCALLTYPE *ScrollRectIntoView)(
        IDisplayServices *This,
        IHTMLElement *pIElement,
        RECT rect);

    HRESULT (STDMETHODCALLTYPE *HasFlowLayout)(
        IDisplayServices *This,
        IHTMLElement *pIElement,
        WINBOOL *pfHasFlowLayout);

    END_INTERFACE
} IDisplayServicesVtbl;

interface IDisplayServices {
    CONST_VTBL IDisplayServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDisplayServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDisplayServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDisplayServices_Release(This) (This)->lpVtbl->Release(This)
/*** IDisplayServices methods ***/
#define IDisplayServices_CreateDisplayPointer(This,ppDispPointer) (This)->lpVtbl->CreateDisplayPointer(This,ppDispPointer)
#define IDisplayServices_TransformRect(This,pRect,eSource,eDestination,pIElement) (This)->lpVtbl->TransformRect(This,pRect,eSource,eDestination,pIElement)
#define IDisplayServices_TransformPoint(This,pPoint,eSource,eDestination,pIElement) (This)->lpVtbl->TransformPoint(This,pPoint,eSource,eDestination,pIElement)
#define IDisplayServices_GetCaret(This,ppCaret) (This)->lpVtbl->GetCaret(This,ppCaret)
#define IDisplayServices_GetComputedStyle(This,pPointer,ppComputedStyle) (This)->lpVtbl->GetComputedStyle(This,pPointer,ppComputedStyle)
#define IDisplayServices_ScrollRectIntoView(This,pIElement,rect) (This)->lpVtbl->ScrollRectIntoView(This,pIElement,rect)
#define IDisplayServices_HasFlowLayout(This,pIElement,pfHasFlowLayout) (This)->lpVtbl->HasFlowLayout(This,pIElement,pfHasFlowLayout)
#else
/*** IUnknown methods ***/
static inline HRESULT IDisplayServices_QueryInterface(IDisplayServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDisplayServices_AddRef(IDisplayServices* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDisplayServices_Release(IDisplayServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IDisplayServices methods ***/
static inline HRESULT IDisplayServices_CreateDisplayPointer(IDisplayServices* This,IDisplayPointer **ppDispPointer) {
    return This->lpVtbl->CreateDisplayPointer(This,ppDispPointer);
}
static inline HRESULT IDisplayServices_TransformRect(IDisplayServices* This,RECT *pRect,COORD_SYSTEM eSource,COORD_SYSTEM eDestination,IHTMLElement *pIElement) {
    return This->lpVtbl->TransformRect(This,pRect,eSource,eDestination,pIElement);
}
static inline HRESULT IDisplayServices_TransformPoint(IDisplayServices* This,POINT *pPoint,COORD_SYSTEM eSource,COORD_SYSTEM eDestination,IHTMLElement *pIElement) {
    return This->lpVtbl->TransformPoint(This,pPoint,eSource,eDestination,pIElement);
}
static inline HRESULT IDisplayServices_GetCaret(IDisplayServices* This,IHTMLCaret **ppCaret) {
    return This->lpVtbl->GetCaret(This,ppCaret);
}
static inline HRESULT IDisplayServices_GetComputedStyle(IDisplayServices* This,IMarkupPointer *pPointer,IHTMLComputedStyle **ppComputedStyle) {
    return This->lpVtbl->GetComputedStyle(This,pPointer,ppComputedStyle);
}
static inline HRESULT IDisplayServices_ScrollRectIntoView(IDisplayServices* This,IHTMLElement *pIElement,RECT rect) {
    return This->lpVtbl->ScrollRectIntoView(This,pIElement,rect);
}
static inline HRESULT IDisplayServices_HasFlowLayout(IDisplayServices* This,IHTMLElement *pIElement,WINBOOL *pfHasFlowLayout) {
    return This->lpVtbl->HasFlowLayout(This,pIElement,pfHasFlowLayout);
}
#endif
#endif

#endif


#endif  /* __IDisplayServices_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHtmlDlgSafeHelper interface
 */
#ifndef __IHtmlDlgSafeHelper_INTERFACE_DEFINED__
#define __IHtmlDlgSafeHelper_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHtmlDlgSafeHelper, 0x3050f81a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f81a-98b5-11cf-bb82-00aa00bdce0b")
IHtmlDlgSafeHelper : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE choosecolordlg(
        VARIANT initColor,
        VARIANT *rgbColor) = 0;

    virtual HRESULT STDMETHODCALLTYPE getCharset(
        BSTR fontName,
        VARIANT *charset) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Fonts(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_BlockFormats(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHtmlDlgSafeHelper, 0x3050f81a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHtmlDlgSafeHelperVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHtmlDlgSafeHelper *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHtmlDlgSafeHelper *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHtmlDlgSafeHelper *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHtmlDlgSafeHelper *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHtmlDlgSafeHelper *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHtmlDlgSafeHelper *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHtmlDlgSafeHelper *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHtmlDlgSafeHelper methods ***/
    HRESULT (STDMETHODCALLTYPE *choosecolordlg)(
        IHtmlDlgSafeHelper *This,
        VARIANT initColor,
        VARIANT *rgbColor);

    HRESULT (STDMETHODCALLTYPE *getCharset)(
        IHtmlDlgSafeHelper *This,
        BSTR fontName,
        VARIANT *charset);

    HRESULT (STDMETHODCALLTYPE *get_Fonts)(
        IHtmlDlgSafeHelper *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_BlockFormats)(
        IHtmlDlgSafeHelper *This,
        IDispatch **p);

    END_INTERFACE
} IHtmlDlgSafeHelperVtbl;

interface IHtmlDlgSafeHelper {
    CONST_VTBL IHtmlDlgSafeHelperVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHtmlDlgSafeHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHtmlDlgSafeHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHtmlDlgSafeHelper_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHtmlDlgSafeHelper_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHtmlDlgSafeHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHtmlDlgSafeHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHtmlDlgSafeHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHtmlDlgSafeHelper methods ***/
#define IHtmlDlgSafeHelper_choosecolordlg(This,initColor,rgbColor) (This)->lpVtbl->choosecolordlg(This,initColor,rgbColor)
#define IHtmlDlgSafeHelper_getCharset(This,fontName,charset) (This)->lpVtbl->getCharset(This,fontName,charset)
#define IHtmlDlgSafeHelper_get_Fonts(This,p) (This)->lpVtbl->get_Fonts(This,p)
#define IHtmlDlgSafeHelper_get_BlockFormats(This,p) (This)->lpVtbl->get_BlockFormats(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHtmlDlgSafeHelper_QueryInterface(IHtmlDlgSafeHelper* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHtmlDlgSafeHelper_AddRef(IHtmlDlgSafeHelper* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHtmlDlgSafeHelper_Release(IHtmlDlgSafeHelper* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHtmlDlgSafeHelper_GetTypeInfoCount(IHtmlDlgSafeHelper* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHtmlDlgSafeHelper_GetTypeInfo(IHtmlDlgSafeHelper* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHtmlDlgSafeHelper_GetIDsOfNames(IHtmlDlgSafeHelper* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHtmlDlgSafeHelper_Invoke(IHtmlDlgSafeHelper* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHtmlDlgSafeHelper methods ***/
static inline HRESULT IHtmlDlgSafeHelper_choosecolordlg(IHtmlDlgSafeHelper* This,VARIANT initColor,VARIANT *rgbColor) {
    return This->lpVtbl->choosecolordlg(This,initColor,rgbColor);
}
static inline HRESULT IHtmlDlgSafeHelper_getCharset(IHtmlDlgSafeHelper* This,BSTR fontName,VARIANT *charset) {
    return This->lpVtbl->getCharset(This,fontName,charset);
}
static inline HRESULT IHtmlDlgSafeHelper_get_Fonts(IHtmlDlgSafeHelper* This,IDispatch **p) {
    return This->lpVtbl->get_Fonts(This,p);
}
static inline HRESULT IHtmlDlgSafeHelper_get_BlockFormats(IHtmlDlgSafeHelper* This,IDispatch **p) {
    return This->lpVtbl->get_BlockFormats(This,p);
}
#endif
#endif

#endif


#endif  /* __IHtmlDlgSafeHelper_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IBlockFormats interface
 */
#ifndef __IBlockFormats_INTERFACE_DEFINED__
#define __IBlockFormats_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBlockFormats, 0x3050f830, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f830-98b5-11cf-bb82-00aa00bdce0b")
IBlockFormats : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE Item(
        VARIANT *pvarIndex,
        BSTR *pbstrBlockFormat) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBlockFormats, 0x3050f830, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IBlockFormatsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IBlockFormats *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IBlockFormats *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IBlockFormats *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IBlockFormats *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IBlockFormats *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IBlockFormats *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IBlockFormats *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IBlockFormats methods ***/
    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        IBlockFormats *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *get_Count)(
        IBlockFormats *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *Item)(
        IBlockFormats *This,
        VARIANT *pvarIndex,
        BSTR *pbstrBlockFormat);

    END_INTERFACE
} IBlockFormatsVtbl;

interface IBlockFormats {
    CONST_VTBL IBlockFormatsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBlockFormats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBlockFormats_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBlockFormats_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IBlockFormats_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IBlockFormats_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IBlockFormats_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IBlockFormats_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IBlockFormats methods ***/
#define IBlockFormats_get__NewEnum(This,p) (This)->lpVtbl->get__NewEnum(This,p)
#define IBlockFormats_get_Count(This,p) (This)->lpVtbl->get_Count(This,p)
#define IBlockFormats_Item(This,pvarIndex,pbstrBlockFormat) (This)->lpVtbl->Item(This,pvarIndex,pbstrBlockFormat)
#else
/*** IUnknown methods ***/
static inline HRESULT IBlockFormats_QueryInterface(IBlockFormats* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IBlockFormats_AddRef(IBlockFormats* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IBlockFormats_Release(IBlockFormats* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IBlockFormats_GetTypeInfoCount(IBlockFormats* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IBlockFormats_GetTypeInfo(IBlockFormats* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IBlockFormats_GetIDsOfNames(IBlockFormats* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IBlockFormats_Invoke(IBlockFormats* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IBlockFormats methods ***/
static inline HRESULT IBlockFormats_get__NewEnum(IBlockFormats* This,IUnknown **p) {
    return This->lpVtbl->get__NewEnum(This,p);
}
static inline HRESULT IBlockFormats_get_Count(IBlockFormats* This,LONG *p) {
    return This->lpVtbl->get_Count(This,p);
}
static inline HRESULT IBlockFormats_Item(IBlockFormats* This,VARIANT *pvarIndex,BSTR *pbstrBlockFormat) {
    return This->lpVtbl->Item(This,pvarIndex,pbstrBlockFormat);
}
#endif
#endif

#endif


#endif  /* __IBlockFormats_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IFontNames interface
 */
#ifndef __IFontNames_INTERFACE_DEFINED__
#define __IFontNames_INTERFACE_DEFINED__

DEFINE_GUID(IID_IFontNames, 0x3050f839, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f839-98b5-11cf-bb82-00aa00bdce0b")
IFontNames : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Count(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE Item(
        VARIANT *pvarIndex,
        BSTR *pbstrFontName) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFontNames, 0x3050f839, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IFontNamesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IFontNames *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IFontNames *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IFontNames *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IFontNames *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IFontNames *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IFontNames *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IFontNames *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IFontNames methods ***/
    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
        IFontNames *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *get_Count)(
        IFontNames *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *Item)(
        IFontNames *This,
        VARIANT *pvarIndex,
        BSTR *pbstrFontName);

    END_INTERFACE
} IFontNamesVtbl;

interface IFontNames {
    CONST_VTBL IFontNamesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFontNames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFontNames_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFontNames_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IFontNames_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IFontNames_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IFontNames_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IFontNames_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IFontNames methods ***/
#define IFontNames_get__NewEnum(This,p) (This)->lpVtbl->get__NewEnum(This,p)
#define IFontNames_get_Count(This,p) (This)->lpVtbl->get_Count(This,p)
#define IFontNames_Item(This,pvarIndex,pbstrFontName) (This)->lpVtbl->Item(This,pvarIndex,pbstrFontName)
#else
/*** IUnknown methods ***/
static inline HRESULT IFontNames_QueryInterface(IFontNames* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IFontNames_AddRef(IFontNames* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IFontNames_Release(IFontNames* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IFontNames_GetTypeInfoCount(IFontNames* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IFontNames_GetTypeInfo(IFontNames* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IFontNames_GetIDsOfNames(IFontNames* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IFontNames_Invoke(IFontNames* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IFontNames methods ***/
static inline HRESULT IFontNames_get__NewEnum(IFontNames* This,IUnknown **p) {
    return This->lpVtbl->get__NewEnum(This,p);
}
static inline HRESULT IFontNames_get_Count(IFontNames* This,LONG *p) {
    return This->lpVtbl->get_Count(This,p);
}
static inline HRESULT IFontNames_Item(IFontNames* This,VARIANT *pvarIndex,BSTR *pbstrFontName) {
    return This->lpVtbl->Item(This,pvarIndex,pbstrFontName);
}
#endif
#endif

#endif


#endif  /* __IFontNames_INTERFACE_DEFINED__ */

/*****************************************************************************
 * HtmlDlgSafeHelper coclass
 */

DEFINE_GUID(CLSID_HtmlDlgSafeHelper, 0x3050f819, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f819-98b5-11cf-bb82-00aa00bdce0b") HtmlDlgSafeHelper;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HtmlDlgSafeHelper, 0x3050f819, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * BlockFormats coclass
 */

DEFINE_GUID(CLSID_BlockFormats, 0x3050f831, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f831-98b5-11cf-bb82-00aa00bdce0b") BlockFormats;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(BlockFormats, 0x3050f831, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * FontNames coclass
 */

DEFINE_GUID(CLSID_FontNames, 0x3050f83a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f83a-98b5-11cf-bb82-00aa00bdce0b") FontNames;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FontNames, 0x3050f83a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * IDeveloperConsoleMessageReceiver interface
 */
#ifndef __IDeveloperConsoleMessageReceiver_INTERFACE_DEFINED__
#define __IDeveloperConsoleMessageReceiver_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDeveloperConsoleMessageReceiver, 0x30510808, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510808-98b5-11cf-bb82-00aa00bdce0b")
IDeveloperConsoleMessageReceiver : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Write(
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText) = 0;

    virtual HRESULT STDMETHODCALLTYPE WriteWithUrl(
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText,
        LPCWSTR fileUrl) = 0;

    virtual HRESULT STDMETHODCALLTYPE WriteWithUrlAndLine(
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText,
        LPCWSTR fileUrl,
        ULONG line) = 0;

    virtual HRESULT STDMETHODCALLTYPE WriteWithUrlLineAndColumn(
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText,
        LPCWSTR fileUrl,
        ULONG line,
        ULONG column) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeveloperConsoleMessageReceiver, 0x30510808, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDeveloperConsoleMessageReceiverVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDeveloperConsoleMessageReceiver *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDeveloperConsoleMessageReceiver *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDeveloperConsoleMessageReceiver *This);

    /*** IDeveloperConsoleMessageReceiver methods ***/
    HRESULT (STDMETHODCALLTYPE *Write)(
        IDeveloperConsoleMessageReceiver *This,
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText);

    HRESULT (STDMETHODCALLTYPE *WriteWithUrl)(
        IDeveloperConsoleMessageReceiver *This,
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText,
        LPCWSTR fileUrl);

    HRESULT (STDMETHODCALLTYPE *WriteWithUrlAndLine)(
        IDeveloperConsoleMessageReceiver *This,
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText,
        LPCWSTR fileUrl,
        ULONG line);

    HRESULT (STDMETHODCALLTYPE *WriteWithUrlLineAndColumn)(
        IDeveloperConsoleMessageReceiver *This,
        LPCWSTR source,
        DEV_CONSOLE_MESSAGE_LEVEL level,
        int messageId,
        LPCWSTR messageText,
        LPCWSTR fileUrl,
        ULONG line,
        ULONG column);

    END_INTERFACE
} IDeveloperConsoleMessageReceiverVtbl;

interface IDeveloperConsoleMessageReceiver {
    CONST_VTBL IDeveloperConsoleMessageReceiverVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeveloperConsoleMessageReceiver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeveloperConsoleMessageReceiver_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeveloperConsoleMessageReceiver_Release(This) (This)->lpVtbl->Release(This)
/*** IDeveloperConsoleMessageReceiver methods ***/
#define IDeveloperConsoleMessageReceiver_Write(This,source,level,messageId,messageText) (This)->lpVtbl->Write(This,source,level,messageId,messageText)
#define IDeveloperConsoleMessageReceiver_WriteWithUrl(This,source,level,messageId,messageText,fileUrl) (This)->lpVtbl->WriteWithUrl(This,source,level,messageId,messageText,fileUrl)
#define IDeveloperConsoleMessageReceiver_WriteWithUrlAndLine(This,source,level,messageId,messageText,fileUrl,line) (This)->lpVtbl->WriteWithUrlAndLine(This,source,level,messageId,messageText,fileUrl,line)
#define IDeveloperConsoleMessageReceiver_WriteWithUrlLineAndColumn(This,source,level,messageId,messageText,fileUrl,line,column) (This)->lpVtbl->WriteWithUrlLineAndColumn(This,source,level,messageId,messageText,fileUrl,line,column)
#else
/*** IUnknown methods ***/
static inline HRESULT IDeveloperConsoleMessageReceiver_QueryInterface(IDeveloperConsoleMessageReceiver* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDeveloperConsoleMessageReceiver_AddRef(IDeveloperConsoleMessageReceiver* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDeveloperConsoleMessageReceiver_Release(IDeveloperConsoleMessageReceiver* This) {
    return This->lpVtbl->Release(This);
}
/*** IDeveloperConsoleMessageReceiver methods ***/
static inline HRESULT IDeveloperConsoleMessageReceiver_Write(IDeveloperConsoleMessageReceiver* This,LPCWSTR source,DEV_CONSOLE_MESSAGE_LEVEL level,int messageId,LPCWSTR messageText) {
    return This->lpVtbl->Write(This,source,level,messageId,messageText);
}
static inline HRESULT IDeveloperConsoleMessageReceiver_WriteWithUrl(IDeveloperConsoleMessageReceiver* This,LPCWSTR source,DEV_CONSOLE_MESSAGE_LEVEL level,int messageId,LPCWSTR messageText,LPCWSTR fileUrl) {
    return This->lpVtbl->WriteWithUrl(This,source,level,messageId,messageText,fileUrl);
}
static inline HRESULT IDeveloperConsoleMessageReceiver_WriteWithUrlAndLine(IDeveloperConsoleMessageReceiver* This,LPCWSTR source,DEV_CONSOLE_MESSAGE_LEVEL level,int messageId,LPCWSTR messageText,LPCWSTR fileUrl,ULONG line) {
    return This->lpVtbl->WriteWithUrlAndLine(This,source,level,messageId,messageText,fileUrl,line);
}
static inline HRESULT IDeveloperConsoleMessageReceiver_WriteWithUrlLineAndColumn(IDeveloperConsoleMessageReceiver* This,LPCWSTR source,DEV_CONSOLE_MESSAGE_LEVEL level,int messageId,LPCWSTR messageText,LPCWSTR fileUrl,ULONG line,ULONG column) {
    return This->lpVtbl->WriteWithUrlLineAndColumn(This,source,level,messageId,messageText,fileUrl,line,column);
}
#endif
#endif

#endif


#endif  /* __IDeveloperConsoleMessageReceiver_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDebugCallbackNotificationHandler interface
 */
#ifndef __IDebugCallbackNotificationHandler_INTERFACE_DEFINED__
#define __IDebugCallbackNotificationHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDebugCallbackNotificationHandler, 0x30510842, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510842-98b5-11cf-bb82-00aa00bdce0b")
IDebugCallbackNotificationHandler : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE RequestedCallbackTypes(
        DWORD *pCallbackMask) = 0;

    virtual HRESULT STDMETHODCALLTYPE BeforeDispatchEvent(
        IUnknown *pEvent) = 0;

    virtual HRESULT STDMETHODCALLTYPE DispatchEventComplete(
        IUnknown *pEvent,
        DWORD propagationStatus) = 0;

    virtual HRESULT STDMETHODCALLTYPE BeforeInvokeDomCallback(
        IUnknown *pEvent,
        IScriptEventHandler *pCallback,
        DOM_EVENT_PHASE eStage,
        DWORD propagationStatus) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvokeDomCallbackComplete(
        IUnknown *pEvent,
        IScriptEventHandler *pCallback,
        DOM_EVENT_PHASE eStage,
        DWORD propagationStatus) = 0;

    virtual HRESULT STDMETHODCALLTYPE BeforeInvokeCallback(
        SCRIPT_TIMER_TYPE eCallbackType,
        DWORD callbackCookie,
        IDispatch *pDispHandler,
        ULONGLONG ullHandlerCookie,
        BSTR functionName,
        UINT32 line,
        UINT32 column,
        UINT32 cchLength,
        IUnknown *pDebugDocumentContext) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvokeCallbackComplete(
        SCRIPT_TIMER_TYPE eCallbackType,
        DWORD callbackCookie,
        IDispatch *pDispHandler,
        ULONGLONG ullHandlerCookie,
        BSTR functionName,
        UINT32 line,
        UINT32 column,
        UINT32 cchLength,
        IUnknown *pDebugDocumentContext) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDebugCallbackNotificationHandler, 0x30510842, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDebugCallbackNotificationHandlerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDebugCallbackNotificationHandler *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDebugCallbackNotificationHandler *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDebugCallbackNotificationHandler *This);

    /*** IDebugCallbackNotificationHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *RequestedCallbackTypes)(
        IDebugCallbackNotificationHandler *This,
        DWORD *pCallbackMask);

    HRESULT (STDMETHODCALLTYPE *BeforeDispatchEvent)(
        IDebugCallbackNotificationHandler *This,
        IUnknown *pEvent);

    HRESULT (STDMETHODCALLTYPE *DispatchEventComplete)(
        IDebugCallbackNotificationHandler *This,
        IUnknown *pEvent,
        DWORD propagationStatus);

    HRESULT (STDMETHODCALLTYPE *BeforeInvokeDomCallback)(
        IDebugCallbackNotificationHandler *This,
        IUnknown *pEvent,
        IScriptEventHandler *pCallback,
        DOM_EVENT_PHASE eStage,
        DWORD propagationStatus);

    HRESULT (STDMETHODCALLTYPE *InvokeDomCallbackComplete)(
        IDebugCallbackNotificationHandler *This,
        IUnknown *pEvent,
        IScriptEventHandler *pCallback,
        DOM_EVENT_PHASE eStage,
        DWORD propagationStatus);

    HRESULT (STDMETHODCALLTYPE *BeforeInvokeCallback)(
        IDebugCallbackNotificationHandler *This,
        SCRIPT_TIMER_TYPE eCallbackType,
        DWORD callbackCookie,
        IDispatch *pDispHandler,
        ULONGLONG ullHandlerCookie,
        BSTR functionName,
        UINT32 line,
        UINT32 column,
        UINT32 cchLength,
        IUnknown *pDebugDocumentContext);

    HRESULT (STDMETHODCALLTYPE *InvokeCallbackComplete)(
        IDebugCallbackNotificationHandler *This,
        SCRIPT_TIMER_TYPE eCallbackType,
        DWORD callbackCookie,
        IDispatch *pDispHandler,
        ULONGLONG ullHandlerCookie,
        BSTR functionName,
        UINT32 line,
        UINT32 column,
        UINT32 cchLength,
        IUnknown *pDebugDocumentContext);

    END_INTERFACE
} IDebugCallbackNotificationHandlerVtbl;

interface IDebugCallbackNotificationHandler {
    CONST_VTBL IDebugCallbackNotificationHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDebugCallbackNotificationHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDebugCallbackNotificationHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDebugCallbackNotificationHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IDebugCallbackNotificationHandler methods ***/
#define IDebugCallbackNotificationHandler_RequestedCallbackTypes(This,pCallbackMask) (This)->lpVtbl->RequestedCallbackTypes(This,pCallbackMask)
#define IDebugCallbackNotificationHandler_BeforeDispatchEvent(This,pEvent) (This)->lpVtbl->BeforeDispatchEvent(This,pEvent)
#define IDebugCallbackNotificationHandler_DispatchEventComplete(This,pEvent,propagationStatus) (This)->lpVtbl->DispatchEventComplete(This,pEvent,propagationStatus)
#define IDebugCallbackNotificationHandler_BeforeInvokeDomCallback(This,pEvent,pCallback,eStage,propagationStatus) (This)->lpVtbl->BeforeInvokeDomCallback(This,pEvent,pCallback,eStage,propagationStatus)
#define IDebugCallbackNotificationHandler_InvokeDomCallbackComplete(This,pEvent,pCallback,eStage,propagationStatus) (This)->lpVtbl->InvokeDomCallbackComplete(This,pEvent,pCallback,eStage,propagationStatus)
#define IDebugCallbackNotificationHandler_BeforeInvokeCallback(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext) (This)->lpVtbl->BeforeInvokeCallback(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext)
#define IDebugCallbackNotificationHandler_InvokeCallbackComplete(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext) (This)->lpVtbl->InvokeCallbackComplete(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext)
#else
/*** IUnknown methods ***/
static inline HRESULT IDebugCallbackNotificationHandler_QueryInterface(IDebugCallbackNotificationHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDebugCallbackNotificationHandler_AddRef(IDebugCallbackNotificationHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDebugCallbackNotificationHandler_Release(IDebugCallbackNotificationHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IDebugCallbackNotificationHandler methods ***/
static inline HRESULT IDebugCallbackNotificationHandler_RequestedCallbackTypes(IDebugCallbackNotificationHandler* This,DWORD *pCallbackMask) {
    return This->lpVtbl->RequestedCallbackTypes(This,pCallbackMask);
}
static inline HRESULT IDebugCallbackNotificationHandler_BeforeDispatchEvent(IDebugCallbackNotificationHandler* This,IUnknown *pEvent) {
    return This->lpVtbl->BeforeDispatchEvent(This,pEvent);
}
static inline HRESULT IDebugCallbackNotificationHandler_DispatchEventComplete(IDebugCallbackNotificationHandler* This,IUnknown *pEvent,DWORD propagationStatus) {
    return This->lpVtbl->DispatchEventComplete(This,pEvent,propagationStatus);
}
static inline HRESULT IDebugCallbackNotificationHandler_BeforeInvokeDomCallback(IDebugCallbackNotificationHandler* This,IUnknown *pEvent,IScriptEventHandler *pCallback,DOM_EVENT_PHASE eStage,DWORD propagationStatus) {
    return This->lpVtbl->BeforeInvokeDomCallback(This,pEvent,pCallback,eStage,propagationStatus);
}
static inline HRESULT IDebugCallbackNotificationHandler_InvokeDomCallbackComplete(IDebugCallbackNotificationHandler* This,IUnknown *pEvent,IScriptEventHandler *pCallback,DOM_EVENT_PHASE eStage,DWORD propagationStatus) {
    return This->lpVtbl->InvokeDomCallbackComplete(This,pEvent,pCallback,eStage,propagationStatus);
}
static inline HRESULT IDebugCallbackNotificationHandler_BeforeInvokeCallback(IDebugCallbackNotificationHandler* This,SCRIPT_TIMER_TYPE eCallbackType,DWORD callbackCookie,IDispatch *pDispHandler,ULONGLONG ullHandlerCookie,BSTR functionName,UINT32 line,UINT32 column,UINT32 cchLength,IUnknown *pDebugDocumentContext) {
    return This->lpVtbl->BeforeInvokeCallback(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext);
}
static inline HRESULT IDebugCallbackNotificationHandler_InvokeCallbackComplete(IDebugCallbackNotificationHandler* This,SCRIPT_TIMER_TYPE eCallbackType,DWORD callbackCookie,IDispatch *pDispHandler,ULONGLONG ullHandlerCookie,BSTR functionName,UINT32 line,UINT32 column,UINT32 cchLength,IUnknown *pDebugDocumentContext) {
    return This->lpVtbl->InvokeCallbackComplete(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext);
}
#endif
#endif

#endif


#endif  /* __IDebugCallbackNotificationHandler_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IScriptEventHandler interface
 */
#ifndef __IScriptEventHandler_INTERFACE_DEFINED__
#define __IScriptEventHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID_IScriptEventHandler, 0x3051083a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051083a-98b5-11cf-bb82-00aa00bdce0b")
IScriptEventHandler : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE FunctionName(
        BSTR *pbstrFunctionName) = 0;

    virtual HRESULT STDMETHODCALLTYPE DebugDocumentContext(
        IUnknown **ppDebugDocumentContext) = 0;

    virtual HRESULT STDMETHODCALLTYPE EventHandlerDispatch(
        IDispatch **ppDispHandler) = 0;

    virtual HRESULT STDMETHODCALLTYPE UsesCapture(
        WINBOOL *pfUsesCapture) = 0;

    virtual HRESULT STDMETHODCALLTYPE Cookie(
        ULONGLONG *pullCookie) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IScriptEventHandler, 0x3051083a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IScriptEventHandlerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IScriptEventHandler *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IScriptEventHandler *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IScriptEventHandler *This);

    /*** IScriptEventHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *FunctionName)(
        IScriptEventHandler *This,
        BSTR *pbstrFunctionName);

    HRESULT (STDMETHODCALLTYPE *DebugDocumentContext)(
        IScriptEventHandler *This,
        IUnknown **ppDebugDocumentContext);

    HRESULT (STDMETHODCALLTYPE *EventHandlerDispatch)(
        IScriptEventHandler *This,
        IDispatch **ppDispHandler);

    HRESULT (STDMETHODCALLTYPE *UsesCapture)(
        IScriptEventHandler *This,
        WINBOOL *pfUsesCapture);

    HRESULT (STDMETHODCALLTYPE *Cookie)(
        IScriptEventHandler *This,
        ULONGLONG *pullCookie);

    END_INTERFACE
} IScriptEventHandlerVtbl;

interface IScriptEventHandler {
    CONST_VTBL IScriptEventHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IScriptEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IScriptEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IScriptEventHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IScriptEventHandler methods ***/
#define IScriptEventHandler_FunctionName(This,pbstrFunctionName) (This)->lpVtbl->FunctionName(This,pbstrFunctionName)
#define IScriptEventHandler_DebugDocumentContext(This,ppDebugDocumentContext) (This)->lpVtbl->DebugDocumentContext(This,ppDebugDocumentContext)
#define IScriptEventHandler_EventHandlerDispatch(This,ppDispHandler) (This)->lpVtbl->EventHandlerDispatch(This,ppDispHandler)
#define IScriptEventHandler_UsesCapture(This,pfUsesCapture) (This)->lpVtbl->UsesCapture(This,pfUsesCapture)
#define IScriptEventHandler_Cookie(This,pullCookie) (This)->lpVtbl->Cookie(This,pullCookie)
#else
/*** IUnknown methods ***/
static inline HRESULT IScriptEventHandler_QueryInterface(IScriptEventHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IScriptEventHandler_AddRef(IScriptEventHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IScriptEventHandler_Release(IScriptEventHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IScriptEventHandler methods ***/
static inline HRESULT IScriptEventHandler_FunctionName(IScriptEventHandler* This,BSTR *pbstrFunctionName) {
    return This->lpVtbl->FunctionName(This,pbstrFunctionName);
}
static inline HRESULT IScriptEventHandler_DebugDocumentContext(IScriptEventHandler* This,IUnknown **ppDebugDocumentContext) {
    return This->lpVtbl->DebugDocumentContext(This,ppDebugDocumentContext);
}
static inline HRESULT IScriptEventHandler_EventHandlerDispatch(IScriptEventHandler* This,IDispatch **ppDispHandler) {
    return This->lpVtbl->EventHandlerDispatch(This,ppDispHandler);
}
static inline HRESULT IScriptEventHandler_UsesCapture(IScriptEventHandler* This,WINBOOL *pfUsesCapture) {
    return This->lpVtbl->UsesCapture(This,pfUsesCapture);
}
static inline HRESULT IScriptEventHandler_Cookie(IScriptEventHandler* This,ULONGLONG *pullCookie) {
    return This->lpVtbl->Cookie(This,pullCookie);
}
#endif
#endif

#endif


#endif  /* __IScriptEventHandler_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IScriptEventHandlerSourceInfo interface
 */
#ifndef __IScriptEventHandlerSourceInfo_INTERFACE_DEFINED__
#define __IScriptEventHandlerSourceInfo_INTERFACE_DEFINED__

DEFINE_GUID(IID_IScriptEventHandlerSourceInfo, 0x30510841, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510841-98b5-11cf-bb82-00aa00bdce0b")
IScriptEventHandlerSourceInfo : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetSourceInfo(
        BSTR *pbstrFunctionName,
        UINT32 *line,
        UINT32 *column,
        UINT32 *cchLength) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IScriptEventHandlerSourceInfo, 0x30510841, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IScriptEventHandlerSourceInfoVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IScriptEventHandlerSourceInfo *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IScriptEventHandlerSourceInfo *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IScriptEventHandlerSourceInfo *This);

    /*** IScriptEventHandlerSourceInfo methods ***/
    HRESULT (STDMETHODCALLTYPE *GetSourceInfo)(
        IScriptEventHandlerSourceInfo *This,
        BSTR *pbstrFunctionName,
        UINT32 *line,
        UINT32 *column,
        UINT32 *cchLength);

    END_INTERFACE
} IScriptEventHandlerSourceInfoVtbl;

interface IScriptEventHandlerSourceInfo {
    CONST_VTBL IScriptEventHandlerSourceInfoVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IScriptEventHandlerSourceInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IScriptEventHandlerSourceInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IScriptEventHandlerSourceInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IScriptEventHandlerSourceInfo methods ***/
#define IScriptEventHandlerSourceInfo_GetSourceInfo(This,pbstrFunctionName,line,column,cchLength) (This)->lpVtbl->GetSourceInfo(This,pbstrFunctionName,line,column,cchLength)
#else
/*** IUnknown methods ***/
static inline HRESULT IScriptEventHandlerSourceInfo_QueryInterface(IScriptEventHandlerSourceInfo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IScriptEventHandlerSourceInfo_AddRef(IScriptEventHandlerSourceInfo* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IScriptEventHandlerSourceInfo_Release(IScriptEventHandlerSourceInfo* This) {
    return This->lpVtbl->Release(This);
}
/*** IScriptEventHandlerSourceInfo methods ***/
static inline HRESULT IScriptEventHandlerSourceInfo_GetSourceInfo(IScriptEventHandlerSourceInfo* This,BSTR *pbstrFunctionName,UINT32 *line,UINT32 *column,UINT32 *cchLength) {
    return This->lpVtbl->GetSourceInfo(This,pbstrFunctionName,line,column,cchLength);
}
#endif
#endif

#endif


#endif  /* __IScriptEventHandlerSourceInfo_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IDOMEventRegistrationCallback interface
 */
#ifndef __IDOMEventRegistrationCallback_INTERFACE_DEFINED__
#define __IDOMEventRegistrationCallback_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDOMEventRegistrationCallback, 0x3051083b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051083b-98b5-11cf-bb82-00aa00bdce0b")
IDOMEventRegistrationCallback : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE OnDOMEventListenerAdded(
        LPCWSTR pszEventType,
        IScriptEventHandler *pHandler) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnDOMEventListenerRemoved(
        ULONGLONG ullCookie) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDOMEventRegistrationCallback, 0x3051083b, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IDOMEventRegistrationCallbackVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IDOMEventRegistrationCallback *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IDOMEventRegistrationCallback *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IDOMEventRegistrationCallback *This);

    /*** IDOMEventRegistrationCallback methods ***/
    HRESULT (STDMETHODCALLTYPE *OnDOMEventListenerAdded)(
        IDOMEventRegistrationCallback *This,
        LPCWSTR pszEventType,
        IScriptEventHandler *pHandler);

    HRESULT (STDMETHODCALLTYPE *OnDOMEventListenerRemoved)(
        IDOMEventRegistrationCallback *This,
        ULONGLONG ullCookie);

    END_INTERFACE
} IDOMEventRegistrationCallbackVtbl;

interface IDOMEventRegistrationCallback {
    CONST_VTBL IDOMEventRegistrationCallbackVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDOMEventRegistrationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDOMEventRegistrationCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDOMEventRegistrationCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IDOMEventRegistrationCallback methods ***/
#define IDOMEventRegistrationCallback_OnDOMEventListenerAdded(This,pszEventType,pHandler) (This)->lpVtbl->OnDOMEventListenerAdded(This,pszEventType,pHandler)
#define IDOMEventRegistrationCallback_OnDOMEventListenerRemoved(This,ullCookie) (This)->lpVtbl->OnDOMEventListenerRemoved(This,ullCookie)
#else
/*** IUnknown methods ***/
static inline HRESULT IDOMEventRegistrationCallback_QueryInterface(IDOMEventRegistrationCallback* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IDOMEventRegistrationCallback_AddRef(IDOMEventRegistrationCallback* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IDOMEventRegistrationCallback_Release(IDOMEventRegistrationCallback* This) {
    return This->lpVtbl->Release(This);
}
/*** IDOMEventRegistrationCallback methods ***/
static inline HRESULT IDOMEventRegistrationCallback_OnDOMEventListenerAdded(IDOMEventRegistrationCallback* This,LPCWSTR pszEventType,IScriptEventHandler *pHandler) {
    return This->lpVtbl->OnDOMEventListenerAdded(This,pszEventType,pHandler);
}
static inline HRESULT IDOMEventRegistrationCallback_OnDOMEventListenerRemoved(IDOMEventRegistrationCallback* This,ULONGLONG ullCookie) {
    return This->lpVtbl->OnDOMEventListenerRemoved(This,ullCookie);
}
#endif
#endif

#endif


#endif  /* __IDOMEventRegistrationCallback_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEventTarget2 interface
 */
#ifndef __IEventTarget2_INTERFACE_DEFINED__
#define __IEventTarget2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IEventTarget2, 0x30510839, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510839-98b5-11cf-bb82-00aa00bdce0b")
IEventTarget2 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetRegisteredEventTypes(
        SAFEARRAY **ppEventTypeArray) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetListenersForType(
        LPCWSTR pszEventType,
        SAFEARRAY **ppEventHandlerArray) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterForDOMEventListeners(
        IDOMEventRegistrationCallback *pCallback) = 0;

    virtual HRESULT STDMETHODCALLTYPE UnregisterForDOMEventListeners(
        IDOMEventRegistrationCallback *pCallback) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEventTarget2, 0x30510839, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IEventTarget2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IEventTarget2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IEventTarget2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IEventTarget2 *This);

    /*** IEventTarget2 methods ***/
    HRESULT (STDMETHODCALLTYPE *GetRegisteredEventTypes)(
        IEventTarget2 *This,
        SAFEARRAY **ppEventTypeArray);

    HRESULT (STDMETHODCALLTYPE *GetListenersForType)(
        IEventTarget2 *This,
        LPCWSTR pszEventType,
        SAFEARRAY **ppEventHandlerArray);

    HRESULT (STDMETHODCALLTYPE *RegisterForDOMEventListeners)(
        IEventTarget2 *This,
        IDOMEventRegistrationCallback *pCallback);

    HRESULT (STDMETHODCALLTYPE *UnregisterForDOMEventListeners)(
        IEventTarget2 *This,
        IDOMEventRegistrationCallback *pCallback);

    END_INTERFACE
} IEventTarget2Vtbl;

interface IEventTarget2 {
    CONST_VTBL IEventTarget2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEventTarget2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEventTarget2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEventTarget2_Release(This) (This)->lpVtbl->Release(This)
/*** IEventTarget2 methods ***/
#define IEventTarget2_GetRegisteredEventTypes(This,ppEventTypeArray) (This)->lpVtbl->GetRegisteredEventTypes(This,ppEventTypeArray)
#define IEventTarget2_GetListenersForType(This,pszEventType,ppEventHandlerArray) (This)->lpVtbl->GetListenersForType(This,pszEventType,ppEventHandlerArray)
#define IEventTarget2_RegisterForDOMEventListeners(This,pCallback) (This)->lpVtbl->RegisterForDOMEventListeners(This,pCallback)
#define IEventTarget2_UnregisterForDOMEventListeners(This,pCallback) (This)->lpVtbl->UnregisterForDOMEventListeners(This,pCallback)
#else
/*** IUnknown methods ***/
static inline HRESULT IEventTarget2_QueryInterface(IEventTarget2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IEventTarget2_AddRef(IEventTarget2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IEventTarget2_Release(IEventTarget2* This) {
    return This->lpVtbl->Release(This);
}
/*** IEventTarget2 methods ***/
static inline HRESULT IEventTarget2_GetRegisteredEventTypes(IEventTarget2* This,SAFEARRAY **ppEventTypeArray) {
    return This->lpVtbl->GetRegisteredEventTypes(This,ppEventTypeArray);
}
static inline HRESULT IEventTarget2_GetListenersForType(IEventTarget2* This,LPCWSTR pszEventType,SAFEARRAY **ppEventHandlerArray) {
    return This->lpVtbl->GetListenersForType(This,pszEventType,ppEventHandlerArray);
}
static inline HRESULT IEventTarget2_RegisterForDOMEventListeners(IEventTarget2* This,IDOMEventRegistrationCallback *pCallback) {
    return This->lpVtbl->RegisterForDOMEventListeners(This,pCallback);
}
static inline HRESULT IEventTarget2_UnregisterForDOMEventListeners(IEventTarget2* This,IDOMEventRegistrationCallback *pCallback) {
    return This->lpVtbl->UnregisterForDOMEventListeners(This,pCallback);
}
#endif
#endif

#endif


#endif  /* __IEventTarget2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLNamespaceEvents dispinterface
 */
#ifndef __HTMLNamespaceEvents_DISPINTERFACE_DEFINED__
#define __HTMLNamespaceEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_HTMLNamespaceEvents, 0x3050f6bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6bd-98b5-11cf-bb82-00aa00bdce0b")
HTMLNamespaceEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLNamespaceEvents, 0x3050f6bd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct HTMLNamespaceEventsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        HTMLNamespaceEvents *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        HTMLNamespaceEvents *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        HTMLNamespaceEvents *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        HTMLNamespaceEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        HTMLNamespaceEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        HTMLNamespaceEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        HTMLNamespaceEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} HTMLNamespaceEventsVtbl;

interface HTMLNamespaceEvents {
    CONST_VTBL HTMLNamespaceEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define HTMLNamespaceEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define HTMLNamespaceEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define HTMLNamespaceEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define HTMLNamespaceEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define HTMLNamespaceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define HTMLNamespaceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define HTMLNamespaceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT HTMLNamespaceEvents_QueryInterface(HTMLNamespaceEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG HTMLNamespaceEvents_AddRef(HTMLNamespaceEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG HTMLNamespaceEvents_Release(HTMLNamespaceEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT HTMLNamespaceEvents_GetTypeInfoCount(HTMLNamespaceEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT HTMLNamespaceEvents_GetTypeInfo(HTMLNamespaceEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT HTMLNamespaceEvents_GetIDsOfNames(HTMLNamespaceEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT HTMLNamespaceEvents_Invoke(HTMLNamespaceEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __HTMLNamespaceEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLNamespace interface
 */
#ifndef __IHTMLNamespace_INTERFACE_DEFINED__
#define __IHTMLNamespace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLNamespace, 0x3050f6bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6bb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLNamespace : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_name(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_urn(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tagNames(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE doImport(
        BSTR bstrImplementationUrl) = 0;

    virtual HRESULT STDMETHODCALLTYPE attachEvent(
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE detachEvent(
        BSTR event,
        IDispatch *pDisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLNamespace, 0x3050f6bb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLNamespaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLNamespace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLNamespace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLNamespace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLNamespace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLNamespace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLNamespace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLNamespace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLNamespace methods ***/
    HRESULT (STDMETHODCALLTYPE *get_name)(
        IHTMLNamespace *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_urn)(
        IHTMLNamespace *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_tagNames)(
        IHTMLNamespace *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_readyState)(
        IHTMLNamespace *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
        IHTMLNamespace *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_onreadystatechange)(
        IHTMLNamespace *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *doImport)(
        IHTMLNamespace *This,
        BSTR bstrImplementationUrl);

    HRESULT (STDMETHODCALLTYPE *attachEvent)(
        IHTMLNamespace *This,
        BSTR event,
        IDispatch *pDisp,
        VARIANT_BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *detachEvent)(
        IHTMLNamespace *This,
        BSTR event,
        IDispatch *pDisp);

    END_INTERFACE
} IHTMLNamespaceVtbl;

interface IHTMLNamespace {
    CONST_VTBL IHTMLNamespaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLNamespace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLNamespace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLNamespace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLNamespace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLNamespace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLNamespace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLNamespace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLNamespace methods ***/
#define IHTMLNamespace_get_name(This,p) (This)->lpVtbl->get_name(This,p)
#define IHTMLNamespace_get_urn(This,p) (This)->lpVtbl->get_urn(This,p)
#define IHTMLNamespace_get_tagNames(This,p) (This)->lpVtbl->get_tagNames(This,p)
#define IHTMLNamespace_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
#define IHTMLNamespace_put_onreadystatechange(This,v) (This)->lpVtbl->put_onreadystatechange(This,v)
#define IHTMLNamespace_get_onreadystatechange(This,p) (This)->lpVtbl->get_onreadystatechange(This,p)
#define IHTMLNamespace_doImport(This,bstrImplementationUrl) (This)->lpVtbl->doImport(This,bstrImplementationUrl)
#define IHTMLNamespace_attachEvent(This,event,pDisp,pfResult) (This)->lpVtbl->attachEvent(This,event,pDisp,pfResult)
#define IHTMLNamespace_detachEvent(This,event,pDisp) (This)->lpVtbl->detachEvent(This,event,pDisp)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLNamespace_QueryInterface(IHTMLNamespace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLNamespace_AddRef(IHTMLNamespace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLNamespace_Release(IHTMLNamespace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLNamespace_GetTypeInfoCount(IHTMLNamespace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLNamespace_GetTypeInfo(IHTMLNamespace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLNamespace_GetIDsOfNames(IHTMLNamespace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLNamespace_Invoke(IHTMLNamespace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLNamespace methods ***/
static inline HRESULT IHTMLNamespace_get_name(IHTMLNamespace* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static inline HRESULT IHTMLNamespace_get_urn(IHTMLNamespace* This,BSTR *p) {
    return This->lpVtbl->get_urn(This,p);
}
static inline HRESULT IHTMLNamespace_get_tagNames(IHTMLNamespace* This,IDispatch **p) {
    return This->lpVtbl->get_tagNames(This,p);
}
static inline HRESULT IHTMLNamespace_get_readyState(IHTMLNamespace* This,VARIANT *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static inline HRESULT IHTMLNamespace_put_onreadystatechange(IHTMLNamespace* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static inline HRESULT IHTMLNamespace_get_onreadystatechange(IHTMLNamespace* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static inline HRESULT IHTMLNamespace_doImport(IHTMLNamespace* This,BSTR bstrImplementationUrl) {
    return This->lpVtbl->doImport(This,bstrImplementationUrl);
}
static inline HRESULT IHTMLNamespace_attachEvent(IHTMLNamespace* This,BSTR event,IDispatch *pDisp,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->attachEvent(This,event,pDisp,pfResult);
}
static inline HRESULT IHTMLNamespace_detachEvent(IHTMLNamespace* This,BSTR event,IDispatch *pDisp) {
    return This->lpVtbl->detachEvent(This,event,pDisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLNamespace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLNamespaceCollection interface
 */
#ifndef __IHTMLNamespaceCollection_INTERFACE_DEFINED__
#define __IHTMLNamespaceCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLNamespaceCollection, 0x3050f6b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6b8-98b5-11cf-bb82-00aa00bdce0b")
IHTMLNamespaceCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        VARIANT index,
        IDispatch **ppNamespace) = 0;

    virtual HRESULT STDMETHODCALLTYPE add(
        BSTR bstrNamespace,
        BSTR bstrUrn,
        VARIANT implementationUrl,
        IDispatch **ppNamespace) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLNamespaceCollection, 0x3050f6b8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLNamespaceCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLNamespaceCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLNamespaceCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLNamespaceCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLNamespaceCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLNamespaceCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLNamespaceCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLNamespaceCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLNamespaceCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLNamespaceCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLNamespaceCollection *This,
        VARIANT index,
        IDispatch **ppNamespace);

    HRESULT (STDMETHODCALLTYPE *add)(
        IHTMLNamespaceCollection *This,
        BSTR bstrNamespace,
        BSTR bstrUrn,
        VARIANT implementationUrl,
        IDispatch **ppNamespace);

    END_INTERFACE
} IHTMLNamespaceCollectionVtbl;

interface IHTMLNamespaceCollection {
    CONST_VTBL IHTMLNamespaceCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLNamespaceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLNamespaceCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLNamespaceCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLNamespaceCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLNamespaceCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLNamespaceCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLNamespaceCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLNamespaceCollection methods ***/
#define IHTMLNamespaceCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLNamespaceCollection_item(This,index,ppNamespace) (This)->lpVtbl->item(This,index,ppNamespace)
#define IHTMLNamespaceCollection_add(This,bstrNamespace,bstrUrn,implementationUrl,ppNamespace) (This)->lpVtbl->add(This,bstrNamespace,bstrUrn,implementationUrl,ppNamespace)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLNamespaceCollection_QueryInterface(IHTMLNamespaceCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLNamespaceCollection_AddRef(IHTMLNamespaceCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLNamespaceCollection_Release(IHTMLNamespaceCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLNamespaceCollection_GetTypeInfoCount(IHTMLNamespaceCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLNamespaceCollection_GetTypeInfo(IHTMLNamespaceCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLNamespaceCollection_GetIDsOfNames(IHTMLNamespaceCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLNamespaceCollection_Invoke(IHTMLNamespaceCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLNamespaceCollection methods ***/
static inline HRESULT IHTMLNamespaceCollection_get_length(IHTMLNamespaceCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLNamespaceCollection_item(IHTMLNamespaceCollection* This,VARIANT index,IDispatch **ppNamespace) {
    return This->lpVtbl->item(This,index,ppNamespace);
}
static inline HRESULT IHTMLNamespaceCollection_add(IHTMLNamespaceCollection* This,BSTR bstrNamespace,BSTR bstrUrn,VARIANT implementationUrl,IDispatch **ppNamespace) {
    return This->lpVtbl->add(This,bstrNamespace,bstrUrn,implementationUrl,ppNamespace);
}
#endif
#endif

#endif


#endif  /* __IHTMLNamespaceCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLNamespace dispinterface
 */
#ifndef __DispHTMLNamespace_DISPINTERFACE_DEFINED__
#define __DispHTMLNamespace_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLNamespace, 0x3050f54f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f54f-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLNamespace : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLNamespace, 0x3050f54f, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLNamespaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLNamespace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLNamespace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLNamespace *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLNamespace *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLNamespace *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLNamespace *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLNamespace *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLNamespaceVtbl;

interface DispHTMLNamespace {
    CONST_VTBL DispHTMLNamespaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLNamespace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLNamespace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLNamespace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLNamespace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLNamespace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLNamespace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLNamespace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLNamespace_QueryInterface(DispHTMLNamespace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLNamespace_AddRef(DispHTMLNamespace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLNamespace_Release(DispHTMLNamespace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLNamespace_GetTypeInfoCount(DispHTMLNamespace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLNamespace_GetTypeInfo(DispHTMLNamespace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLNamespace_GetIDsOfNames(DispHTMLNamespace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLNamespace_Invoke(DispHTMLNamespace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLNamespace_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLNamespace coclass
 */

DEFINE_GUID(CLSID_HTMLNamespace, 0x3050f6bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f6bc-98b5-11cf-bb82-00aa00bdce0b") HTMLNamespace;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLNamespace, 0x3050f6bc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispHTMLNamespaceCollection dispinterface
 */
#ifndef __DispHTMLNamespaceCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLNamespaceCollection_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLNamespaceCollection, 0x3050f550, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f550-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLNamespaceCollection : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLNamespaceCollection, 0x3050f550, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLNamespaceCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLNamespaceCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLNamespaceCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLNamespaceCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLNamespaceCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLNamespaceCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLNamespaceCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLNamespaceCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLNamespaceCollectionVtbl;

interface DispHTMLNamespaceCollection {
    CONST_VTBL DispHTMLNamespaceCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLNamespaceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLNamespaceCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLNamespaceCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLNamespaceCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLNamespaceCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLNamespaceCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLNamespaceCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLNamespaceCollection_QueryInterface(DispHTMLNamespaceCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLNamespaceCollection_AddRef(DispHTMLNamespaceCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLNamespaceCollection_Release(DispHTMLNamespaceCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLNamespaceCollection_GetTypeInfoCount(DispHTMLNamespaceCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLNamespaceCollection_GetTypeInfo(DispHTMLNamespaceCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLNamespaceCollection_GetIDsOfNames(DispHTMLNamespaceCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLNamespaceCollection_Invoke(DispHTMLNamespaceCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLNamespaceCollection_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLNamespaceCollection coclass
 */

DEFINE_GUID(CLSID_HTMLNamespaceCollection, 0x3050f6b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f6b9-98b5-11cf-bb82-00aa00bdce0b") HTMLNamespaceCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLNamespaceCollection, 0x3050f6b9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * IHTMLPainter interface
 */
#ifndef __IHTMLPainter_INTERFACE_DEFINED__
#define __IHTMLPainter_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPainter, 0x3050f6a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6a6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPainter : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Draw(
        RECT rcBounds,
        RECT rcUpdate,
        LONG lDrawFlags,
        HDC hdc,
        LPVOID pvDrawObject) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnResize(
        SIZE size) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPainterInfo(
        HTML_PAINTER_INFO *pInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE HitTestPoint(
        POINT pt,
        WINBOOL *pbHit,
        LONG *plPartID) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPainter, 0x3050f6a6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPainterVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPainter *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPainter *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPainter *This);

    /*** IHTMLPainter methods ***/
    HRESULT (STDMETHODCALLTYPE *Draw)(
        IHTMLPainter *This,
        RECT rcBounds,
        RECT rcUpdate,
        LONG lDrawFlags,
        HDC hdc,
        LPVOID pvDrawObject);

    HRESULT (STDMETHODCALLTYPE *OnResize)(
        IHTMLPainter *This,
        SIZE size);

    HRESULT (STDMETHODCALLTYPE *GetPainterInfo)(
        IHTMLPainter *This,
        HTML_PAINTER_INFO *pInfo);

    HRESULT (STDMETHODCALLTYPE *HitTestPoint)(
        IHTMLPainter *This,
        POINT pt,
        WINBOOL *pbHit,
        LONG *plPartID);

    END_INTERFACE
} IHTMLPainterVtbl;

interface IHTMLPainter {
    CONST_VTBL IHTMLPainterVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPainter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPainter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPainter_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLPainter methods ***/
#define IHTMLPainter_Draw(This,rcBounds,rcUpdate,lDrawFlags,hdc,pvDrawObject) (This)->lpVtbl->Draw(This,rcBounds,rcUpdate,lDrawFlags,hdc,pvDrawObject)
#define IHTMLPainter_OnResize(This,size) (This)->lpVtbl->OnResize(This,size)
#define IHTMLPainter_GetPainterInfo(This,pInfo) (This)->lpVtbl->GetPainterInfo(This,pInfo)
#define IHTMLPainter_HitTestPoint(This,pt,pbHit,plPartID) (This)->lpVtbl->HitTestPoint(This,pt,pbHit,plPartID)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPainter_QueryInterface(IHTMLPainter* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPainter_AddRef(IHTMLPainter* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPainter_Release(IHTMLPainter* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLPainter methods ***/
static inline HRESULT IHTMLPainter_Draw(IHTMLPainter* This,RECT rcBounds,RECT rcUpdate,LONG lDrawFlags,HDC hdc,LPVOID pvDrawObject) {
    return This->lpVtbl->Draw(This,rcBounds,rcUpdate,lDrawFlags,hdc,pvDrawObject);
}
static inline HRESULT IHTMLPainter_OnResize(IHTMLPainter* This,SIZE size) {
    return This->lpVtbl->OnResize(This,size);
}
static inline HRESULT IHTMLPainter_GetPainterInfo(IHTMLPainter* This,HTML_PAINTER_INFO *pInfo) {
    return This->lpVtbl->GetPainterInfo(This,pInfo);
}
static inline HRESULT IHTMLPainter_HitTestPoint(IHTMLPainter* This,POINT pt,WINBOOL *pbHit,LONG *plPartID) {
    return This->lpVtbl->HitTestPoint(This,pt,pbHit,plPartID);
}
#endif
#endif

#endif


#endif  /* __IHTMLPainter_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPainterEventInfo interface
 */
#ifndef __IHTMLPainterEventInfo_INTERFACE_DEFINED__
#define __IHTMLPainterEventInfo_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPainterEventInfo, 0x3050f6df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6df-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPainterEventInfo : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetEventInfoFlags(
        LONG *plEventInfoFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEventTarget(
        IHTMLElement **ppElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetCursor(
        LONG lPartID) = 0;

    virtual HRESULT STDMETHODCALLTYPE StringFromPartID(
        LONG lPartID,
        BSTR *pbstrPart) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPainterEventInfo, 0x3050f6df, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPainterEventInfoVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPainterEventInfo *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPainterEventInfo *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPainterEventInfo *This);

    /*** IHTMLPainterEventInfo methods ***/
    HRESULT (STDMETHODCALLTYPE *GetEventInfoFlags)(
        IHTMLPainterEventInfo *This,
        LONG *plEventInfoFlags);

    HRESULT (STDMETHODCALLTYPE *GetEventTarget)(
        IHTMLPainterEventInfo *This,
        IHTMLElement **ppElement);

    HRESULT (STDMETHODCALLTYPE *SetCursor)(
        IHTMLPainterEventInfo *This,
        LONG lPartID);

    HRESULT (STDMETHODCALLTYPE *StringFromPartID)(
        IHTMLPainterEventInfo *This,
        LONG lPartID,
        BSTR *pbstrPart);

    END_INTERFACE
} IHTMLPainterEventInfoVtbl;

interface IHTMLPainterEventInfo {
    CONST_VTBL IHTMLPainterEventInfoVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPainterEventInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPainterEventInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPainterEventInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLPainterEventInfo methods ***/
#define IHTMLPainterEventInfo_GetEventInfoFlags(This,plEventInfoFlags) (This)->lpVtbl->GetEventInfoFlags(This,plEventInfoFlags)
#define IHTMLPainterEventInfo_GetEventTarget(This,ppElement) (This)->lpVtbl->GetEventTarget(This,ppElement)
#define IHTMLPainterEventInfo_SetCursor(This,lPartID) (This)->lpVtbl->SetCursor(This,lPartID)
#define IHTMLPainterEventInfo_StringFromPartID(This,lPartID,pbstrPart) (This)->lpVtbl->StringFromPartID(This,lPartID,pbstrPart)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPainterEventInfo_QueryInterface(IHTMLPainterEventInfo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPainterEventInfo_AddRef(IHTMLPainterEventInfo* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPainterEventInfo_Release(IHTMLPainterEventInfo* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLPainterEventInfo methods ***/
static inline HRESULT IHTMLPainterEventInfo_GetEventInfoFlags(IHTMLPainterEventInfo* This,LONG *plEventInfoFlags) {
    return This->lpVtbl->GetEventInfoFlags(This,plEventInfoFlags);
}
static inline HRESULT IHTMLPainterEventInfo_GetEventTarget(IHTMLPainterEventInfo* This,IHTMLElement **ppElement) {
    return This->lpVtbl->GetEventTarget(This,ppElement);
}
static inline HRESULT IHTMLPainterEventInfo_SetCursor(IHTMLPainterEventInfo* This,LONG lPartID) {
    return This->lpVtbl->SetCursor(This,lPartID);
}
static inline HRESULT IHTMLPainterEventInfo_StringFromPartID(IHTMLPainterEventInfo* This,LONG lPartID,BSTR *pbstrPart) {
    return This->lpVtbl->StringFromPartID(This,lPartID,pbstrPart);
}
#endif
#endif

#endif


#endif  /* __IHTMLPainterEventInfo_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPainterOverlay interface
 */
#ifndef __IHTMLPainterOverlay_INTERFACE_DEFINED__
#define __IHTMLPainterOverlay_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPainterOverlay, 0x3050f7e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7e3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPainterOverlay : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE OnMove(
        RECT rcDevice) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPainterOverlay, 0x3050f7e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPainterOverlayVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPainterOverlay *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPainterOverlay *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPainterOverlay *This);

    /*** IHTMLPainterOverlay methods ***/
    HRESULT (STDMETHODCALLTYPE *OnMove)(
        IHTMLPainterOverlay *This,
        RECT rcDevice);

    END_INTERFACE
} IHTMLPainterOverlayVtbl;

interface IHTMLPainterOverlay {
    CONST_VTBL IHTMLPainterOverlayVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPainterOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPainterOverlay_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPainterOverlay_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLPainterOverlay methods ***/
#define IHTMLPainterOverlay_OnMove(This,rcDevice) (This)->lpVtbl->OnMove(This,rcDevice)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPainterOverlay_QueryInterface(IHTMLPainterOverlay* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPainterOverlay_AddRef(IHTMLPainterOverlay* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPainterOverlay_Release(IHTMLPainterOverlay* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLPainterOverlay methods ***/
static inline HRESULT IHTMLPainterOverlay_OnMove(IHTMLPainterOverlay* This,RECT rcDevice) {
    return This->lpVtbl->OnMove(This,rcDevice);
}
#endif
#endif

#endif


#endif  /* __IHTMLPainterOverlay_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLPaintSite interface
 */
#ifndef __IHTMLPaintSite_INTERFACE_DEFINED__
#define __IHTMLPaintSite_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPaintSite, 0x3050f6a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6a7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPaintSite : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE InvalidatePainterInfo(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateRect(
        RECT *prcInvalid) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateRegion(
        HRGN rgnInvalid) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDrawInfo(
        LONG lFlags,
        HTML_PAINT_DRAW_INFO *pDrawInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE TransformGlobalToLocal(
        POINT ptGlobal,
        POINT *pptLocal) = 0;

    virtual HRESULT STDMETHODCALLTYPE TransformLocalToGlobal(
        POINT ptLocal,
        POINT *pptGlobal) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetHitTestCookie(
        LONG *plCookie) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPaintSite, 0x3050f6a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPaintSiteVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPaintSite *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPaintSite *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPaintSite *This);

    /*** IHTMLPaintSite methods ***/
    HRESULT (STDMETHODCALLTYPE *InvalidatePainterInfo)(
        IHTMLPaintSite *This);

    HRESULT (STDMETHODCALLTYPE *InvalidateRect)(
        IHTMLPaintSite *This,
        RECT *prcInvalid);

    HRESULT (STDMETHODCALLTYPE *InvalidateRegion)(
        IHTMLPaintSite *This,
        HRGN rgnInvalid);

    HRESULT (STDMETHODCALLTYPE *GetDrawInfo)(
        IHTMLPaintSite *This,
        LONG lFlags,
        HTML_PAINT_DRAW_INFO *pDrawInfo);

    HRESULT (STDMETHODCALLTYPE *TransformGlobalToLocal)(
        IHTMLPaintSite *This,
        POINT ptGlobal,
        POINT *pptLocal);

    HRESULT (STDMETHODCALLTYPE *TransformLocalToGlobal)(
        IHTMLPaintSite *This,
        POINT ptLocal,
        POINT *pptGlobal);

    HRESULT (STDMETHODCALLTYPE *GetHitTestCookie)(
        IHTMLPaintSite *This,
        LONG *plCookie);

    END_INTERFACE
} IHTMLPaintSiteVtbl;

interface IHTMLPaintSite {
    CONST_VTBL IHTMLPaintSiteVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPaintSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPaintSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPaintSite_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLPaintSite methods ***/
#define IHTMLPaintSite_InvalidatePainterInfo(This) (This)->lpVtbl->InvalidatePainterInfo(This)
#define IHTMLPaintSite_InvalidateRect(This,prcInvalid) (This)->lpVtbl->InvalidateRect(This,prcInvalid)
#define IHTMLPaintSite_InvalidateRegion(This,rgnInvalid) (This)->lpVtbl->InvalidateRegion(This,rgnInvalid)
#define IHTMLPaintSite_GetDrawInfo(This,lFlags,pDrawInfo) (This)->lpVtbl->GetDrawInfo(This,lFlags,pDrawInfo)
#define IHTMLPaintSite_TransformGlobalToLocal(This,ptGlobal,pptLocal) (This)->lpVtbl->TransformGlobalToLocal(This,ptGlobal,pptLocal)
#define IHTMLPaintSite_TransformLocalToGlobal(This,ptLocal,pptGlobal) (This)->lpVtbl->TransformLocalToGlobal(This,ptLocal,pptGlobal)
#define IHTMLPaintSite_GetHitTestCookie(This,plCookie) (This)->lpVtbl->GetHitTestCookie(This,plCookie)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPaintSite_QueryInterface(IHTMLPaintSite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPaintSite_AddRef(IHTMLPaintSite* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPaintSite_Release(IHTMLPaintSite* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLPaintSite methods ***/
static inline HRESULT IHTMLPaintSite_InvalidatePainterInfo(IHTMLPaintSite* This) {
    return This->lpVtbl->InvalidatePainterInfo(This);
}
static inline HRESULT IHTMLPaintSite_InvalidateRect(IHTMLPaintSite* This,RECT *prcInvalid) {
    return This->lpVtbl->InvalidateRect(This,prcInvalid);
}
static inline HRESULT IHTMLPaintSite_InvalidateRegion(IHTMLPaintSite* This,HRGN rgnInvalid) {
    return This->lpVtbl->InvalidateRegion(This,rgnInvalid);
}
static inline HRESULT IHTMLPaintSite_GetDrawInfo(IHTMLPaintSite* This,LONG lFlags,HTML_PAINT_DRAW_INFO *pDrawInfo) {
    return This->lpVtbl->GetDrawInfo(This,lFlags,pDrawInfo);
}
static inline HRESULT IHTMLPaintSite_TransformGlobalToLocal(IHTMLPaintSite* This,POINT ptGlobal,POINT *pptLocal) {
    return This->lpVtbl->TransformGlobalToLocal(This,ptGlobal,pptLocal);
}
static inline HRESULT IHTMLPaintSite_TransformLocalToGlobal(IHTMLPaintSite* This,POINT ptLocal,POINT *pptGlobal) {
    return This->lpVtbl->TransformLocalToGlobal(This,ptLocal,pptGlobal);
}
static inline HRESULT IHTMLPaintSite_GetHitTestCookie(IHTMLPaintSite* This,LONG *plCookie) {
    return This->lpVtbl->GetHitTestCookie(This,plCookie);
}
#endif
#endif

#endif


#endif  /* __IHTMLPaintSite_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLIPrintCollection interface
 */
#ifndef __IHTMLIPrintCollection_INTERFACE_DEFINED__
#define __IHTMLIPrintCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLIPrintCollection, 0x3050f6b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6b5-98b5-11cf-bb82-00aa00bdce0b")
IHTMLIPrintCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_length(
        LONG *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
        LONG index,
        IUnknown **ppIPrint) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLIPrintCollection, 0x3050f6b5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLIPrintCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLIPrintCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLIPrintCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLIPrintCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLIPrintCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLIPrintCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLIPrintCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLIPrintCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLIPrintCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_length)(
        IHTMLIPrintCollection *This,
        LONG *p);

    HRESULT (STDMETHODCALLTYPE *get__newEnum)(
        IHTMLIPrintCollection *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *item)(
        IHTMLIPrintCollection *This,
        LONG index,
        IUnknown **ppIPrint);

    END_INTERFACE
} IHTMLIPrintCollectionVtbl;

interface IHTMLIPrintCollection {
    CONST_VTBL IHTMLIPrintCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLIPrintCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLIPrintCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLIPrintCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLIPrintCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLIPrintCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLIPrintCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLIPrintCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLIPrintCollection methods ***/
#define IHTMLIPrintCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
#define IHTMLIPrintCollection_get__newEnum(This,p) (This)->lpVtbl->get__newEnum(This,p)
#define IHTMLIPrintCollection_item(This,index,ppIPrint) (This)->lpVtbl->item(This,index,ppIPrint)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLIPrintCollection_QueryInterface(IHTMLIPrintCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLIPrintCollection_AddRef(IHTMLIPrintCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLIPrintCollection_Release(IHTMLIPrintCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLIPrintCollection_GetTypeInfoCount(IHTMLIPrintCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLIPrintCollection_GetTypeInfo(IHTMLIPrintCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLIPrintCollection_GetIDsOfNames(IHTMLIPrintCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLIPrintCollection_Invoke(IHTMLIPrintCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLIPrintCollection methods ***/
static inline HRESULT IHTMLIPrintCollection_get_length(IHTMLIPrintCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static inline HRESULT IHTMLIPrintCollection_get__newEnum(IHTMLIPrintCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static inline HRESULT IHTMLIPrintCollection_item(IHTMLIPrintCollection* This,LONG index,IUnknown **ppIPrint) {
    return This->lpVtbl->item(This,index,ppIPrint);
}
#endif
#endif

#endif


#endif  /* __IHTMLIPrintCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEnumPrivacyRecords interface
 */
#ifndef __IEnumPrivacyRecords_INTERFACE_DEFINED__
#define __IEnumPrivacyRecords_INTERFACE_DEFINED__

DEFINE_GUID(IID_IEnumPrivacyRecords, 0x3050f844, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f844-98b5-11cf-bb82-00aa00bdce0b")
IEnumPrivacyRecords : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Reset(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSize(
        ULONG *pSize) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPrivacyImpacted(
        WINBOOL *pState) = 0;

    virtual HRESULT STDMETHODCALLTYPE Next(
        BSTR *pbstrUrl,
        BSTR *pbstrPolicyRef,
        LONG *pdwReserved,
        DWORD *pdwPrivacyFlags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumPrivacyRecords, 0x3050f844, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IEnumPrivacyRecordsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IEnumPrivacyRecords *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IEnumPrivacyRecords *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IEnumPrivacyRecords *This);

    /*** IEnumPrivacyRecords methods ***/
    HRESULT (STDMETHODCALLTYPE *Reset)(
        IEnumPrivacyRecords *This);

    HRESULT (STDMETHODCALLTYPE *GetSize)(
        IEnumPrivacyRecords *This,
        ULONG *pSize);

    HRESULT (STDMETHODCALLTYPE *GetPrivacyImpacted)(
        IEnumPrivacyRecords *This,
        WINBOOL *pState);

    HRESULT (STDMETHODCALLTYPE *Next)(
        IEnumPrivacyRecords *This,
        BSTR *pbstrUrl,
        BSTR *pbstrPolicyRef,
        LONG *pdwReserved,
        DWORD *pdwPrivacyFlags);

    END_INTERFACE
} IEnumPrivacyRecordsVtbl;

interface IEnumPrivacyRecords {
    CONST_VTBL IEnumPrivacyRecordsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumPrivacyRecords_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumPrivacyRecords_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumPrivacyRecords_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumPrivacyRecords methods ***/
#define IEnumPrivacyRecords_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumPrivacyRecords_GetSize(This,pSize) (This)->lpVtbl->GetSize(This,pSize)
#define IEnumPrivacyRecords_GetPrivacyImpacted(This,pState) (This)->lpVtbl->GetPrivacyImpacted(This,pState)
#define IEnumPrivacyRecords_Next(This,pbstrUrl,pbstrPolicyRef,pdwReserved,pdwPrivacyFlags) (This)->lpVtbl->Next(This,pbstrUrl,pbstrPolicyRef,pdwReserved,pdwPrivacyFlags)
#else
/*** IUnknown methods ***/
static inline HRESULT IEnumPrivacyRecords_QueryInterface(IEnumPrivacyRecords* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IEnumPrivacyRecords_AddRef(IEnumPrivacyRecords* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IEnumPrivacyRecords_Release(IEnumPrivacyRecords* This) {
    return This->lpVtbl->Release(This);
}
/*** IEnumPrivacyRecords methods ***/
static inline HRESULT IEnumPrivacyRecords_Reset(IEnumPrivacyRecords* This) {
    return This->lpVtbl->Reset(This);
}
static inline HRESULT IEnumPrivacyRecords_GetSize(IEnumPrivacyRecords* This,ULONG *pSize) {
    return This->lpVtbl->GetSize(This,pSize);
}
static inline HRESULT IEnumPrivacyRecords_GetPrivacyImpacted(IEnumPrivacyRecords* This,WINBOOL *pState) {
    return This->lpVtbl->GetPrivacyImpacted(This,pState);
}
static inline HRESULT IEnumPrivacyRecords_Next(IEnumPrivacyRecords* This,BSTR *pbstrUrl,BSTR *pbstrPolicyRef,LONG *pdwReserved,DWORD *pdwPrivacyFlags) {
    return This->lpVtbl->Next(This,pbstrUrl,pbstrPolicyRef,pdwReserved,pdwPrivacyFlags);
}
#endif
#endif

#endif


#endif  /* __IEnumPrivacyRecords_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWPCBlockedUrls interface
 */
#ifndef __IWPCBlockedUrls_INTERFACE_DEFINED__
#define __IWPCBlockedUrls_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWPCBlockedUrls, 0x30510413, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510413-98b5-11cf-bb82-00aa00bdce0b")
IWPCBlockedUrls : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetCount(
        DWORD *pdwCount) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetUrl(
        DWORD dwIdx,
        BSTR *pbstrUrl) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWPCBlockedUrls, 0x30510413, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IWPCBlockedUrlsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWPCBlockedUrls *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWPCBlockedUrls *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWPCBlockedUrls *This);

    /*** IWPCBlockedUrls methods ***/
    HRESULT (STDMETHODCALLTYPE *GetCount)(
        IWPCBlockedUrls *This,
        DWORD *pdwCount);

    HRESULT (STDMETHODCALLTYPE *GetUrl)(
        IWPCBlockedUrls *This,
        DWORD dwIdx,
        BSTR *pbstrUrl);

    END_INTERFACE
} IWPCBlockedUrlsVtbl;

interface IWPCBlockedUrls {
    CONST_VTBL IWPCBlockedUrlsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWPCBlockedUrls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWPCBlockedUrls_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWPCBlockedUrls_Release(This) (This)->lpVtbl->Release(This)
/*** IWPCBlockedUrls methods ***/
#define IWPCBlockedUrls_GetCount(This,pdwCount) (This)->lpVtbl->GetCount(This,pdwCount)
#define IWPCBlockedUrls_GetUrl(This,dwIdx,pbstrUrl) (This)->lpVtbl->GetUrl(This,dwIdx,pbstrUrl)
#else
/*** IUnknown methods ***/
static inline HRESULT IWPCBlockedUrls_QueryInterface(IWPCBlockedUrls* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IWPCBlockedUrls_AddRef(IWPCBlockedUrls* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IWPCBlockedUrls_Release(IWPCBlockedUrls* This) {
    return This->lpVtbl->Release(This);
}
/*** IWPCBlockedUrls methods ***/
static inline HRESULT IWPCBlockedUrls_GetCount(IWPCBlockedUrls* This,DWORD *pdwCount) {
    return This->lpVtbl->GetCount(This,pdwCount);
}
static inline HRESULT IWPCBlockedUrls_GetUrl(IWPCBlockedUrls* This,DWORD dwIdx,BSTR *pbstrUrl) {
    return This->lpVtbl->GetUrl(This,dwIdx,pbstrUrl);
}
#endif
#endif

#endif


#endif  /* __IWPCBlockedUrls_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDOMConstructorCollection interface
 */
#ifndef __IHTMLDOMConstructorCollection_INTERFACE_DEFINED__
#define __IHTMLDOMConstructorCollection_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDOMConstructorCollection, 0x3051049c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3051049c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMConstructorCollection : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_Attr(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_BehaviorUrnsCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_BookmarkCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CompatibleInfo(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CompatibleInfoCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ControlRangeCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CSSCurrentStyleDeclaration(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CSSRuleList(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CSSRuleStyleDeclaration(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CSSStyleDeclaration(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CSSStyleRule(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CSSStyleSheet(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DataTransfer(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DOMImplementation(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Element(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Event(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_History(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTCElementBehaviorDefaults(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLAnchorElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLAreaElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLAreasCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLBaseElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLBaseFontElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLBGSoundElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLBlockElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLBodyElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLBRElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLButtonElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLCommentElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLDDElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLDivElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLDocument(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLDListElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLDTElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLEmbedElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLFieldSetElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLFontElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLFormElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLFrameElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLFrameSetElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLGenericElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLHeadElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLHeadingElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLHRElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLHtmlElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLIFrameElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLImageElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLInputElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLIsIndexElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLLabelElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLLegendElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLLIElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLLinkElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLMapElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLMarqueeElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLMetaElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLModelessDialog(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLNamespaceInfo(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLNamespaceInfoCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLNextIdElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLNoShowElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLObjectElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLOListElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLOptionElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLParagraphElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLParamElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLPhraseElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLPluginsCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLPopup(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLScriptElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLSelectElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLSpanElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLStyleElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTableCaptionElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTableCellElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTableColElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTableElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTableRowElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTableSectionElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTextAreaElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTextElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLTitleElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLUListElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_HTMLUnknownElement(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Image(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Location(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_NamedNodeMap(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Navigator(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_NodeList(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Option(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Screen(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Selection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_StaticNodeList(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Storage(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_StyleSheetList(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_StyleSheetPage(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_StyleSheetPageList(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Text(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_TextRange(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_TextRangeCollection(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_TextRectangle(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_TextRectangleList(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Window(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_XDomainRequest(
        IDispatch **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_XMLHttpRequest(
        IDispatch **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDOMConstructorCollection, 0x3051049c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDOMConstructorCollectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDOMConstructorCollection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDOMConstructorCollection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDOMConstructorCollection *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDOMConstructorCollection *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDOMConstructorCollection *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDOMConstructorCollection *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDOMConstructorCollection *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDOMConstructorCollection methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Attr)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_BehaviorUrnsCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_BookmarkCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CompatibleInfo)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CompatibleInfoCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_ControlRangeCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CSSCurrentStyleDeclaration)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CSSRuleList)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CSSRuleStyleDeclaration)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CSSStyleDeclaration)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CSSStyleRule)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_CSSStyleSheet)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_DataTransfer)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_DOMImplementation)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Element)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Event)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_History)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTCElementBehaviorDefaults)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLAnchorElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLAreaElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLAreasCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLBaseElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLBaseFontElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLBGSoundElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLBlockElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLBodyElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLBRElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLButtonElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLCommentElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLDDElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLDivElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLDocument)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLDListElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLDTElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLEmbedElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLFieldSetElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLFontElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLFormElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLFrameElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLFrameSetElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLGenericElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLHeadElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLHeadingElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLHRElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLHtmlElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLIFrameElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLImageElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLInputElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLIsIndexElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLLabelElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLLegendElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLLIElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLLinkElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLMapElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLMarqueeElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLMetaElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLModelessDialog)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLNamespaceInfo)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLNamespaceInfoCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLNextIdElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLNoShowElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLObjectElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLOListElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLOptionElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLParagraphElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLParamElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLPhraseElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLPluginsCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLPopup)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLScriptElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLSelectElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLSpanElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLStyleElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTableCaptionElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTableCellElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTableColElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTableElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTableRowElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTableSectionElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTextAreaElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTextElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLTitleElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLUListElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_HTMLUnknownElement)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Image)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Location)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_NamedNodeMap)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Navigator)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_NodeList)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Option)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Screen)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Selection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_StaticNodeList)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Storage)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_StyleSheetList)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_StyleSheetPage)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_StyleSheetPageList)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Text)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_TextRange)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_TextRangeCollection)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_TextRectangle)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_TextRectangleList)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_Window)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_XDomainRequest)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    HRESULT (STDMETHODCALLTYPE *get_XMLHttpRequest)(
        IHTMLDOMConstructorCollection *This,
        IDispatch **p);

    END_INTERFACE
} IHTMLDOMConstructorCollectionVtbl;

interface IHTMLDOMConstructorCollection {
    CONST_VTBL IHTMLDOMConstructorCollectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDOMConstructorCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDOMConstructorCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDOMConstructorCollection_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDOMConstructorCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDOMConstructorCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDOMConstructorCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDOMConstructorCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDOMConstructorCollection methods ***/
#define IHTMLDOMConstructorCollection_get_Attr(This,p) (This)->lpVtbl->get_Attr(This,p)
#define IHTMLDOMConstructorCollection_get_BehaviorUrnsCollection(This,p) (This)->lpVtbl->get_BehaviorUrnsCollection(This,p)
#define IHTMLDOMConstructorCollection_get_BookmarkCollection(This,p) (This)->lpVtbl->get_BookmarkCollection(This,p)
#define IHTMLDOMConstructorCollection_get_CompatibleInfo(This,p) (This)->lpVtbl->get_CompatibleInfo(This,p)
#define IHTMLDOMConstructorCollection_get_CompatibleInfoCollection(This,p) (This)->lpVtbl->get_CompatibleInfoCollection(This,p)
#define IHTMLDOMConstructorCollection_get_ControlRangeCollection(This,p) (This)->lpVtbl->get_ControlRangeCollection(This,p)
#define IHTMLDOMConstructorCollection_get_CSSCurrentStyleDeclaration(This,p) (This)->lpVtbl->get_CSSCurrentStyleDeclaration(This,p)
#define IHTMLDOMConstructorCollection_get_CSSRuleList(This,p) (This)->lpVtbl->get_CSSRuleList(This,p)
#define IHTMLDOMConstructorCollection_get_CSSRuleStyleDeclaration(This,p) (This)->lpVtbl->get_CSSRuleStyleDeclaration(This,p)
#define IHTMLDOMConstructorCollection_get_CSSStyleDeclaration(This,p) (This)->lpVtbl->get_CSSStyleDeclaration(This,p)
#define IHTMLDOMConstructorCollection_get_CSSStyleRule(This,p) (This)->lpVtbl->get_CSSStyleRule(This,p)
#define IHTMLDOMConstructorCollection_get_CSSStyleSheet(This,p) (This)->lpVtbl->get_CSSStyleSheet(This,p)
#define IHTMLDOMConstructorCollection_get_DataTransfer(This,p) (This)->lpVtbl->get_DataTransfer(This,p)
#define IHTMLDOMConstructorCollection_get_DOMImplementation(This,p) (This)->lpVtbl->get_DOMImplementation(This,p)
#define IHTMLDOMConstructorCollection_get_Element(This,p) (This)->lpVtbl->get_Element(This,p)
#define IHTMLDOMConstructorCollection_get_Event(This,p) (This)->lpVtbl->get_Event(This,p)
#define IHTMLDOMConstructorCollection_get_History(This,p) (This)->lpVtbl->get_History(This,p)
#define IHTMLDOMConstructorCollection_get_HTCElementBehaviorDefaults(This,p) (This)->lpVtbl->get_HTCElementBehaviorDefaults(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLAnchorElement(This,p) (This)->lpVtbl->get_HTMLAnchorElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLAreaElement(This,p) (This)->lpVtbl->get_HTMLAreaElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLAreasCollection(This,p) (This)->lpVtbl->get_HTMLAreasCollection(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLBaseElement(This,p) (This)->lpVtbl->get_HTMLBaseElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLBaseFontElement(This,p) (This)->lpVtbl->get_HTMLBaseFontElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLBGSoundElement(This,p) (This)->lpVtbl->get_HTMLBGSoundElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLBlockElement(This,p) (This)->lpVtbl->get_HTMLBlockElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLBodyElement(This,p) (This)->lpVtbl->get_HTMLBodyElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLBRElement(This,p) (This)->lpVtbl->get_HTMLBRElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLButtonElement(This,p) (This)->lpVtbl->get_HTMLButtonElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLCollection(This,p) (This)->lpVtbl->get_HTMLCollection(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLCommentElement(This,p) (This)->lpVtbl->get_HTMLCommentElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLDDElement(This,p) (This)->lpVtbl->get_HTMLDDElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLDivElement(This,p) (This)->lpVtbl->get_HTMLDivElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLDocument(This,p) (This)->lpVtbl->get_HTMLDocument(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLDListElement(This,p) (This)->lpVtbl->get_HTMLDListElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLDTElement(This,p) (This)->lpVtbl->get_HTMLDTElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLEmbedElement(This,p) (This)->lpVtbl->get_HTMLEmbedElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLFieldSetElement(This,p) (This)->lpVtbl->get_HTMLFieldSetElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLFontElement(This,p) (This)->lpVtbl->get_HTMLFontElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLFormElement(This,p) (This)->lpVtbl->get_HTMLFormElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLFrameElement(This,p) (This)->lpVtbl->get_HTMLFrameElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLFrameSetElement(This,p) (This)->lpVtbl->get_HTMLFrameSetElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLGenericElement(This,p) (This)->lpVtbl->get_HTMLGenericElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLHeadElement(This,p) (This)->lpVtbl->get_HTMLHeadElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLHeadingElement(This,p) (This)->lpVtbl->get_HTMLHeadingElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLHRElement(This,p) (This)->lpVtbl->get_HTMLHRElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLHtmlElement(This,p) (This)->lpVtbl->get_HTMLHtmlElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLIFrameElement(This,p) (This)->lpVtbl->get_HTMLIFrameElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLImageElement(This,p) (This)->lpVtbl->get_HTMLImageElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLInputElement(This,p) (This)->lpVtbl->get_HTMLInputElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLIsIndexElement(This,p) (This)->lpVtbl->get_HTMLIsIndexElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLLabelElement(This,p) (This)->lpVtbl->get_HTMLLabelElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLLegendElement(This,p) (This)->lpVtbl->get_HTMLLegendElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLLIElement(This,p) (This)->lpVtbl->get_HTMLLIElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLLinkElement(This,p) (This)->lpVtbl->get_HTMLLinkElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLMapElement(This,p) (This)->lpVtbl->get_HTMLMapElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLMarqueeElement(This,p) (This)->lpVtbl->get_HTMLMarqueeElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLMetaElement(This,p) (This)->lpVtbl->get_HTMLMetaElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLModelessDialog(This,p) (This)->lpVtbl->get_HTMLModelessDialog(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLNamespaceInfo(This,p) (This)->lpVtbl->get_HTMLNamespaceInfo(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLNamespaceInfoCollection(This,p) (This)->lpVtbl->get_HTMLNamespaceInfoCollection(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLNextIdElement(This,p) (This)->lpVtbl->get_HTMLNextIdElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLNoShowElement(This,p) (This)->lpVtbl->get_HTMLNoShowElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLObjectElement(This,p) (This)->lpVtbl->get_HTMLObjectElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLOListElement(This,p) (This)->lpVtbl->get_HTMLOListElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLOptionElement(This,p) (This)->lpVtbl->get_HTMLOptionElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLParagraphElement(This,p) (This)->lpVtbl->get_HTMLParagraphElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLParamElement(This,p) (This)->lpVtbl->get_HTMLParamElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLPhraseElement(This,p) (This)->lpVtbl->get_HTMLPhraseElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLPluginsCollection(This,p) (This)->lpVtbl->get_HTMLPluginsCollection(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLPopup(This,p) (This)->lpVtbl->get_HTMLPopup(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLScriptElement(This,p) (This)->lpVtbl->get_HTMLScriptElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLSelectElement(This,p) (This)->lpVtbl->get_HTMLSelectElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLSpanElement(This,p) (This)->lpVtbl->get_HTMLSpanElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLStyleElement(This,p) (This)->lpVtbl->get_HTMLStyleElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTableCaptionElement(This,p) (This)->lpVtbl->get_HTMLTableCaptionElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTableCellElement(This,p) (This)->lpVtbl->get_HTMLTableCellElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTableColElement(This,p) (This)->lpVtbl->get_HTMLTableColElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTableElement(This,p) (This)->lpVtbl->get_HTMLTableElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTableRowElement(This,p) (This)->lpVtbl->get_HTMLTableRowElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTableSectionElement(This,p) (This)->lpVtbl->get_HTMLTableSectionElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTextAreaElement(This,p) (This)->lpVtbl->get_HTMLTextAreaElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTextElement(This,p) (This)->lpVtbl->get_HTMLTextElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLTitleElement(This,p) (This)->lpVtbl->get_HTMLTitleElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLUListElement(This,p) (This)->lpVtbl->get_HTMLUListElement(This,p)
#define IHTMLDOMConstructorCollection_get_HTMLUnknownElement(This,p) (This)->lpVtbl->get_HTMLUnknownElement(This,p)
#define IHTMLDOMConstructorCollection_get_Image(This,p) (This)->lpVtbl->get_Image(This,p)
#define IHTMLDOMConstructorCollection_get_Location(This,p) (This)->lpVtbl->get_Location(This,p)
#define IHTMLDOMConstructorCollection_get_NamedNodeMap(This,p) (This)->lpVtbl->get_NamedNodeMap(This,p)
#define IHTMLDOMConstructorCollection_get_Navigator(This,p) (This)->lpVtbl->get_Navigator(This,p)
#define IHTMLDOMConstructorCollection_get_NodeList(This,p) (This)->lpVtbl->get_NodeList(This,p)
#define IHTMLDOMConstructorCollection_get_Option(This,p) (This)->lpVtbl->get_Option(This,p)
#define IHTMLDOMConstructorCollection_get_Screen(This,p) (This)->lpVtbl->get_Screen(This,p)
#define IHTMLDOMConstructorCollection_get_Selection(This,p) (This)->lpVtbl->get_Selection(This,p)
#define IHTMLDOMConstructorCollection_get_StaticNodeList(This,p) (This)->lpVtbl->get_StaticNodeList(This,p)
#define IHTMLDOMConstructorCollection_get_Storage(This,p) (This)->lpVtbl->get_Storage(This,p)
#define IHTMLDOMConstructorCollection_get_StyleSheetList(This,p) (This)->lpVtbl->get_StyleSheetList(This,p)
#define IHTMLDOMConstructorCollection_get_StyleSheetPage(This,p) (This)->lpVtbl->get_StyleSheetPage(This,p)
#define IHTMLDOMConstructorCollection_get_StyleSheetPageList(This,p) (This)->lpVtbl->get_StyleSheetPageList(This,p)
#define IHTMLDOMConstructorCollection_get_Text(This,p) (This)->lpVtbl->get_Text(This,p)
#define IHTMLDOMConstructorCollection_get_TextRange(This,p) (This)->lpVtbl->get_TextRange(This,p)
#define IHTMLDOMConstructorCollection_get_TextRangeCollection(This,p) (This)->lpVtbl->get_TextRangeCollection(This,p)
#define IHTMLDOMConstructorCollection_get_TextRectangle(This,p) (This)->lpVtbl->get_TextRectangle(This,p)
#define IHTMLDOMConstructorCollection_get_TextRectangleList(This,p) (This)->lpVtbl->get_TextRectangleList(This,p)
#define IHTMLDOMConstructorCollection_get_Window(This,p) (This)->lpVtbl->get_Window(This,p)
#define IHTMLDOMConstructorCollection_get_XDomainRequest(This,p) (This)->lpVtbl->get_XDomainRequest(This,p)
#define IHTMLDOMConstructorCollection_get_XMLHttpRequest(This,p) (This)->lpVtbl->get_XMLHttpRequest(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDOMConstructorCollection_QueryInterface(IHTMLDOMConstructorCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDOMConstructorCollection_AddRef(IHTMLDOMConstructorCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDOMConstructorCollection_Release(IHTMLDOMConstructorCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDOMConstructorCollection_GetTypeInfoCount(IHTMLDOMConstructorCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDOMConstructorCollection_GetTypeInfo(IHTMLDOMConstructorCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDOMConstructorCollection_GetIDsOfNames(IHTMLDOMConstructorCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDOMConstructorCollection_Invoke(IHTMLDOMConstructorCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDOMConstructorCollection methods ***/
static inline HRESULT IHTMLDOMConstructorCollection_get_Attr(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Attr(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_BehaviorUrnsCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_BehaviorUrnsCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_BookmarkCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_BookmarkCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CompatibleInfo(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CompatibleInfo(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CompatibleInfoCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CompatibleInfoCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_ControlRangeCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_ControlRangeCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CSSCurrentStyleDeclaration(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSCurrentStyleDeclaration(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CSSRuleList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSRuleList(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CSSRuleStyleDeclaration(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSRuleStyleDeclaration(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CSSStyleDeclaration(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSStyleDeclaration(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CSSStyleRule(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSStyleRule(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_CSSStyleSheet(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSStyleSheet(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_DataTransfer(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_DataTransfer(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_DOMImplementation(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_DOMImplementation(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Element(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Element(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Event(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Event(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_History(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_History(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTCElementBehaviorDefaults(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTCElementBehaviorDefaults(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLAnchorElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLAnchorElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLAreaElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLAreaElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLAreasCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLAreasCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLBaseElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBaseElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLBaseFontElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBaseFontElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLBGSoundElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBGSoundElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLBlockElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBlockElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLBodyElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBodyElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLBRElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBRElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLButtonElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLButtonElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLCommentElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLCommentElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLDDElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDDElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLDivElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDivElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLDocument(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDocument(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLDListElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDListElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLDTElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDTElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLEmbedElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLEmbedElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLFieldSetElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFieldSetElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLFontElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFontElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLFormElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFormElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLFrameElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFrameElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLFrameSetElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFrameSetElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLGenericElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLGenericElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLHeadElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHeadElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLHeadingElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHeadingElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLHRElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHRElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLHtmlElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHtmlElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLIFrameElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLIFrameElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLImageElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLImageElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLInputElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLInputElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLIsIndexElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLIsIndexElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLLabelElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLabelElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLLegendElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLegendElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLLIElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLIElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLLinkElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLinkElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLMapElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLMapElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLMarqueeElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLMarqueeElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLMetaElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLMetaElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLModelessDialog(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLModelessDialog(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLNamespaceInfo(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNamespaceInfo(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLNamespaceInfoCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNamespaceInfoCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLNextIdElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNextIdElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLNoShowElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNoShowElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLObjectElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLObjectElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLOListElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLOListElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLOptionElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLOptionElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLParagraphElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLParagraphElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLParamElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLParamElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLPhraseElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLPhraseElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLPluginsCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLPluginsCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLPopup(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLPopup(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLScriptElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLScriptElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLSelectElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLSelectElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLSpanElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLSpanElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLStyleElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLStyleElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTableCaptionElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableCaptionElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTableCellElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableCellElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTableColElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableColElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTableElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTableRowElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableRowElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTableSectionElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableSectionElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTextAreaElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTextAreaElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTextElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTextElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLTitleElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTitleElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLUListElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLUListElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_HTMLUnknownElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLUnknownElement(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Image(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Image(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Location(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Location(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_NamedNodeMap(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_NamedNodeMap(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Navigator(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Navigator(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_NodeList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_NodeList(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Option(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Option(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Screen(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Screen(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Selection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Selection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_StaticNodeList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StaticNodeList(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Storage(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Storage(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_StyleSheetList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StyleSheetList(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_StyleSheetPage(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StyleSheetPage(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_StyleSheetPageList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StyleSheetPageList(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Text(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Text(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_TextRange(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRange(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_TextRangeCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRangeCollection(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_TextRectangle(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRectangle(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_TextRectangleList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRectangleList(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_Window(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Window(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_XDomainRequest(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_XDomainRequest(This,p);
}
static inline HRESULT IHTMLDOMConstructorCollection_get_XMLHttpRequest(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_XMLHttpRequest(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMConstructorCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDialog interface
 */
#ifndef __IHTMLDialog_INTERFACE_DEFINED__
#define __IHTMLDialog_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDialog, 0x3050f216, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f216-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDialog : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_dialogTop(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dialogTop(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dialogLeft(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dialogLeft(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dialogWidth(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dialogWidth(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dialogHeight(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dialogHeight(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dialogArguments(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_menuArguments(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_returnValue(
        VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_returnValue(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE close(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE toString(
        BSTR *String) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDialog, 0x3050f216, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDialogVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDialog *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDialog *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDialog *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDialog *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDialog *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDialog *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDialog *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDialog methods ***/
    HRESULT (STDMETHODCALLTYPE *put_dialogTop)(
        IHTMLDialog *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_dialogTop)(
        IHTMLDialog *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_dialogLeft)(
        IHTMLDialog *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_dialogLeft)(
        IHTMLDialog *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_dialogWidth)(
        IHTMLDialog *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_dialogWidth)(
        IHTMLDialog *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_dialogHeight)(
        IHTMLDialog *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_dialogHeight)(
        IHTMLDialog *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_dialogArguments)(
        IHTMLDialog *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_menuArguments)(
        IHTMLDialog *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *put_returnValue)(
        IHTMLDialog *This,
        VARIANT v);

    HRESULT (STDMETHODCALLTYPE *get_returnValue)(
        IHTMLDialog *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *close)(
        IHTMLDialog *This);

    HRESULT (STDMETHODCALLTYPE *toString)(
        IHTMLDialog *This,
        BSTR *String);

    END_INTERFACE
} IHTMLDialogVtbl;

interface IHTMLDialog {
    CONST_VTBL IHTMLDialogVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDialog_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDialog_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDialog_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDialog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDialog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDialog methods ***/
#define IHTMLDialog_put_dialogTop(This,v) (This)->lpVtbl->put_dialogTop(This,v)
#define IHTMLDialog_get_dialogTop(This,p) (This)->lpVtbl->get_dialogTop(This,p)
#define IHTMLDialog_put_dialogLeft(This,v) (This)->lpVtbl->put_dialogLeft(This,v)
#define IHTMLDialog_get_dialogLeft(This,p) (This)->lpVtbl->get_dialogLeft(This,p)
#define IHTMLDialog_put_dialogWidth(This,v) (This)->lpVtbl->put_dialogWidth(This,v)
#define IHTMLDialog_get_dialogWidth(This,p) (This)->lpVtbl->get_dialogWidth(This,p)
#define IHTMLDialog_put_dialogHeight(This,v) (This)->lpVtbl->put_dialogHeight(This,v)
#define IHTMLDialog_get_dialogHeight(This,p) (This)->lpVtbl->get_dialogHeight(This,p)
#define IHTMLDialog_get_dialogArguments(This,p) (This)->lpVtbl->get_dialogArguments(This,p)
#define IHTMLDialog_get_menuArguments(This,p) (This)->lpVtbl->get_menuArguments(This,p)
#define IHTMLDialog_put_returnValue(This,v) (This)->lpVtbl->put_returnValue(This,v)
#define IHTMLDialog_get_returnValue(This,p) (This)->lpVtbl->get_returnValue(This,p)
#define IHTMLDialog_close(This) (This)->lpVtbl->close(This)
#define IHTMLDialog_toString(This,String) (This)->lpVtbl->toString(This,String)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDialog_QueryInterface(IHTMLDialog* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDialog_AddRef(IHTMLDialog* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDialog_Release(IHTMLDialog* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDialog_GetTypeInfoCount(IHTMLDialog* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDialog_GetTypeInfo(IHTMLDialog* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDialog_GetIDsOfNames(IHTMLDialog* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDialog_Invoke(IHTMLDialog* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDialog methods ***/
static inline HRESULT IHTMLDialog_put_dialogTop(IHTMLDialog* This,VARIANT v) {
    return This->lpVtbl->put_dialogTop(This,v);
}
static inline HRESULT IHTMLDialog_get_dialogTop(IHTMLDialog* This,VARIANT *p) {
    return This->lpVtbl->get_dialogTop(This,p);
}
static inline HRESULT IHTMLDialog_put_dialogLeft(IHTMLDialog* This,VARIANT v) {
    return This->lpVtbl->put_dialogLeft(This,v);
}
static inline HRESULT IHTMLDialog_get_dialogLeft(IHTMLDialog* This,VARIANT *p) {
    return This->lpVtbl->get_dialogLeft(This,p);
}
static inline HRESULT IHTMLDialog_put_dialogWidth(IHTMLDialog* This,VARIANT v) {
    return This->lpVtbl->put_dialogWidth(This,v);
}
static inline HRESULT IHTMLDialog_get_dialogWidth(IHTMLDialog* This,VARIANT *p) {
    return This->lpVtbl->get_dialogWidth(This,p);
}
static inline HRESULT IHTMLDialog_put_dialogHeight(IHTMLDialog* This,VARIANT v) {
    return This->lpVtbl->put_dialogHeight(This,v);
}
static inline HRESULT IHTMLDialog_get_dialogHeight(IHTMLDialog* This,VARIANT *p) {
    return This->lpVtbl->get_dialogHeight(This,p);
}
static inline HRESULT IHTMLDialog_get_dialogArguments(IHTMLDialog* This,VARIANT *p) {
    return This->lpVtbl->get_dialogArguments(This,p);
}
static inline HRESULT IHTMLDialog_get_menuArguments(IHTMLDialog* This,VARIANT *p) {
    return This->lpVtbl->get_menuArguments(This,p);
}
static inline HRESULT IHTMLDialog_put_returnValue(IHTMLDialog* This,VARIANT v) {
    return This->lpVtbl->put_returnValue(This,v);
}
static inline HRESULT IHTMLDialog_get_returnValue(IHTMLDialog* This,VARIANT *p) {
    return This->lpVtbl->get_returnValue(This,p);
}
static inline HRESULT IHTMLDialog_close(IHTMLDialog* This) {
    return This->lpVtbl->close(This);
}
static inline HRESULT IHTMLDialog_toString(IHTMLDialog* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
#endif
#endif

#endif


#endif  /* __IHTMLDialog_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDialog2 interface
 */
#ifndef __IHTMLDialog2_INTERFACE_DEFINED__
#define __IHTMLDialog2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDialog2, 0x3050f5e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5e0-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDialog2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_status(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_status(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_resizable(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_resizable(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDialog2, 0x3050f5e0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDialog2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDialog2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDialog2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDialog2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDialog2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDialog2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDialog2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDialog2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDialog2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_status)(
        IHTMLDialog2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_status)(
        IHTMLDialog2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_resizable)(
        IHTMLDialog2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_resizable)(
        IHTMLDialog2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDialog2Vtbl;

interface IHTMLDialog2 {
    CONST_VTBL IHTMLDialog2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDialog2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDialog2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDialog2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDialog2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDialog2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDialog2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDialog2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDialog2 methods ***/
#define IHTMLDialog2_put_status(This,v) (This)->lpVtbl->put_status(This,v)
#define IHTMLDialog2_get_status(This,p) (This)->lpVtbl->get_status(This,p)
#define IHTMLDialog2_put_resizable(This,v) (This)->lpVtbl->put_resizable(This,v)
#define IHTMLDialog2_get_resizable(This,p) (This)->lpVtbl->get_resizable(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDialog2_QueryInterface(IHTMLDialog2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDialog2_AddRef(IHTMLDialog2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDialog2_Release(IHTMLDialog2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDialog2_GetTypeInfoCount(IHTMLDialog2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDialog2_GetTypeInfo(IHTMLDialog2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDialog2_GetIDsOfNames(IHTMLDialog2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDialog2_Invoke(IHTMLDialog2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDialog2 methods ***/
static inline HRESULT IHTMLDialog2_put_status(IHTMLDialog2* This,BSTR v) {
    return This->lpVtbl->put_status(This,v);
}
static inline HRESULT IHTMLDialog2_get_status(IHTMLDialog2* This,BSTR *p) {
    return This->lpVtbl->get_status(This,p);
}
static inline HRESULT IHTMLDialog2_put_resizable(IHTMLDialog2* This,BSTR v) {
    return This->lpVtbl->put_resizable(This,v);
}
static inline HRESULT IHTMLDialog2_get_resizable(IHTMLDialog2* This,BSTR *p) {
    return This->lpVtbl->get_resizable(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDialog2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLDialog3 interface
 */
#ifndef __IHTMLDialog3_INTERFACE_DEFINED__
#define __IHTMLDialog3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLDialog3, 0x3050f388, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f388-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDialog3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_unadorned(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_unadorned(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dialogHide(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dialogHide(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLDialog3, 0x3050f388, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLDialog3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLDialog3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLDialog3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLDialog3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLDialog3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLDialog3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLDialog3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLDialog3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLDialog3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_unadorned)(
        IHTMLDialog3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_unadorned)(
        IHTMLDialog3 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_dialogHide)(
        IHTMLDialog3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_dialogHide)(
        IHTMLDialog3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLDialog3Vtbl;

interface IHTMLDialog3 {
    CONST_VTBL IHTMLDialog3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLDialog3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLDialog3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLDialog3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLDialog3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLDialog3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLDialog3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLDialog3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLDialog3 methods ***/
#define IHTMLDialog3_put_unadorned(This,v) (This)->lpVtbl->put_unadorned(This,v)
#define IHTMLDialog3_get_unadorned(This,p) (This)->lpVtbl->get_unadorned(This,p)
#define IHTMLDialog3_put_dialogHide(This,v) (This)->lpVtbl->put_dialogHide(This,v)
#define IHTMLDialog3_get_dialogHide(This,p) (This)->lpVtbl->get_dialogHide(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLDialog3_QueryInterface(IHTMLDialog3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLDialog3_AddRef(IHTMLDialog3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLDialog3_Release(IHTMLDialog3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLDialog3_GetTypeInfoCount(IHTMLDialog3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLDialog3_GetTypeInfo(IHTMLDialog3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLDialog3_GetIDsOfNames(IHTMLDialog3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLDialog3_Invoke(IHTMLDialog3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLDialog3 methods ***/
static inline HRESULT IHTMLDialog3_put_unadorned(IHTMLDialog3* This,BSTR v) {
    return This->lpVtbl->put_unadorned(This,v);
}
static inline HRESULT IHTMLDialog3_get_unadorned(IHTMLDialog3* This,BSTR *p) {
    return This->lpVtbl->get_unadorned(This,p);
}
static inline HRESULT IHTMLDialog3_put_dialogHide(IHTMLDialog3* This,BSTR v) {
    return This->lpVtbl->put_dialogHide(This,v);
}
static inline HRESULT IHTMLDialog3_get_dialogHide(IHTMLDialog3* This,BSTR *p) {
    return This->lpVtbl->get_dialogHide(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDialog3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLModelessInit interface
 */
#ifndef __IHTMLModelessInit_INTERFACE_DEFINED__
#define __IHTMLModelessInit_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLModelessInit, 0x3050f5e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5e4-98b5-11cf-bb82-00aa00bdce0b")
IHTMLModelessInit : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_parameters(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_optionString(
        VARIANT *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_moniker(
        IUnknown **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_document(
        IUnknown **p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLModelessInit, 0x3050f5e4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLModelessInitVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLModelessInit *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLModelessInit *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLModelessInit *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLModelessInit *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLModelessInit *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLModelessInit *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLModelessInit *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLModelessInit methods ***/
    HRESULT (STDMETHODCALLTYPE *get_parameters)(
        IHTMLModelessInit *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_optionString)(
        IHTMLModelessInit *This,
        VARIANT *p);

    HRESULT (STDMETHODCALLTYPE *get_moniker)(
        IHTMLModelessInit *This,
        IUnknown **p);

    HRESULT (STDMETHODCALLTYPE *get_document)(
        IHTMLModelessInit *This,
        IUnknown **p);

    END_INTERFACE
} IHTMLModelessInitVtbl;

interface IHTMLModelessInit {
    CONST_VTBL IHTMLModelessInitVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLModelessInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLModelessInit_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLModelessInit_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLModelessInit_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLModelessInit_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLModelessInit_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLModelessInit_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLModelessInit methods ***/
#define IHTMLModelessInit_get_parameters(This,p) (This)->lpVtbl->get_parameters(This,p)
#define IHTMLModelessInit_get_optionString(This,p) (This)->lpVtbl->get_optionString(This,p)
#define IHTMLModelessInit_get_moniker(This,p) (This)->lpVtbl->get_moniker(This,p)
#define IHTMLModelessInit_get_document(This,p) (This)->lpVtbl->get_document(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLModelessInit_QueryInterface(IHTMLModelessInit* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLModelessInit_AddRef(IHTMLModelessInit* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLModelessInit_Release(IHTMLModelessInit* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLModelessInit_GetTypeInfoCount(IHTMLModelessInit* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLModelessInit_GetTypeInfo(IHTMLModelessInit* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLModelessInit_GetIDsOfNames(IHTMLModelessInit* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLModelessInit_Invoke(IHTMLModelessInit* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLModelessInit methods ***/
static inline HRESULT IHTMLModelessInit_get_parameters(IHTMLModelessInit* This,VARIANT *p) {
    return This->lpVtbl->get_parameters(This,p);
}
static inline HRESULT IHTMLModelessInit_get_optionString(IHTMLModelessInit* This,VARIANT *p) {
    return This->lpVtbl->get_optionString(This,p);
}
static inline HRESULT IHTMLModelessInit_get_moniker(IHTMLModelessInit* This,IUnknown **p) {
    return This->lpVtbl->get_moniker(This,p);
}
static inline HRESULT IHTMLModelessInit_get_document(IHTMLModelessInit* This,IUnknown **p) {
    return This->lpVtbl->get_document(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLModelessInit_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ThreadDialogProcParam coclass
 */

DEFINE_GUID(CLSID_ThreadDialogProcParam, 0x3050f5eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f5eb-98b5-11cf-bb82-00aa00bdce0b") ThreadDialogProcParam;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ThreadDialogProcParam, 0x3050f5eb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * HTMLDialog coclass
 */

DEFINE_GUID(CLSID_HTMLDialog, 0x3050f28a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f28a-98b5-11cf-bb82-00aa00bdce0b") HTMLDialog;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLDialog, 0x3050f28a, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * IHTMLPopup interface
 */
#ifndef __IHTMLPopup_INTERFACE_DEFINED__
#define __IHTMLPopup_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPopup, 0x3050f666, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f666-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPopup : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE show(
        LONG x,
        LONG y,
        LONG w,
        LONG h,
        VARIANT *pElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE hide(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_document(
        IHTMLDocument **p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isOpen(
        VARIANT_BOOL *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPopup, 0x3050f666, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPopupVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLPopup *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLPopup *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLPopup *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLPopup *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLPopup *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLPopup *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLPopup *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLPopup methods ***/
    HRESULT (STDMETHODCALLTYPE *show)(
        IHTMLPopup *This,
        LONG x,
        LONG y,
        LONG w,
        LONG h,
        VARIANT *pElement);

    HRESULT (STDMETHODCALLTYPE *hide)(
        IHTMLPopup *This);

    HRESULT (STDMETHODCALLTYPE *get_document)(
        IHTMLPopup *This,
        IHTMLDocument **p);

    HRESULT (STDMETHODCALLTYPE *get_isOpen)(
        IHTMLPopup *This,
        VARIANT_BOOL *p);

    END_INTERFACE
} IHTMLPopupVtbl;

interface IHTMLPopup {
    CONST_VTBL IHTMLPopupVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPopup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPopup_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPopup_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLPopup_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLPopup_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLPopup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLPopup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLPopup methods ***/
#define IHTMLPopup_show(This,x,y,w,h,pElement) (This)->lpVtbl->show(This,x,y,w,h,pElement)
#define IHTMLPopup_hide(This) (This)->lpVtbl->hide(This)
#define IHTMLPopup_get_document(This,p) (This)->lpVtbl->get_document(This,p)
#define IHTMLPopup_get_isOpen(This,p) (This)->lpVtbl->get_isOpen(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLPopup_QueryInterface(IHTMLPopup* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLPopup_AddRef(IHTMLPopup* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLPopup_Release(IHTMLPopup* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLPopup_GetTypeInfoCount(IHTMLPopup* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLPopup_GetTypeInfo(IHTMLPopup* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLPopup_GetIDsOfNames(IHTMLPopup* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLPopup_Invoke(IHTMLPopup* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLPopup methods ***/
static inline HRESULT IHTMLPopup_show(IHTMLPopup* This,LONG x,LONG y,LONG w,LONG h,VARIANT *pElement) {
    return This->lpVtbl->show(This,x,y,w,h,pElement);
}
static inline HRESULT IHTMLPopup_hide(IHTMLPopup* This) {
    return This->lpVtbl->hide(This);
}
static inline HRESULT IHTMLPopup_get_document(IHTMLPopup* This,IHTMLDocument **p) {
    return This->lpVtbl->get_document(This,p);
}
static inline HRESULT IHTMLPopup_get_isOpen(IHTMLPopup* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isOpen(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLPopup_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLPopup dispinterface
 */
#ifndef __DispHTMLPopup_DISPINTERFACE_DEFINED__
#define __DispHTMLPopup_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLPopup, 0x3050f589, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f589-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLPopup : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLPopup, 0x3050f589, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLPopupVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLPopup *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLPopup *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLPopup *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLPopup *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLPopup *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLPopup *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLPopup *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLPopupVtbl;

interface DispHTMLPopup {
    CONST_VTBL DispHTMLPopupVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLPopup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLPopup_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLPopup_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLPopup_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLPopup_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLPopup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLPopup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLPopup_QueryInterface(DispHTMLPopup* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLPopup_AddRef(DispHTMLPopup* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLPopup_Release(DispHTMLPopup* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLPopup_GetTypeInfoCount(DispHTMLPopup* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLPopup_GetTypeInfo(DispHTMLPopup* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLPopup_GetIDsOfNames(DispHTMLPopup* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLPopup_Invoke(DispHTMLPopup* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLPopup_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLPopup coclass
 */

DEFINE_GUID(CLSID_HTMLPopup, 0x3050f667, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f667-98b5-11cf-bb82-00aa00bdce0b") HTMLPopup;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLPopup, 0x3050f667, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * IHTMLAppBehavior interface
 */
#ifndef __IHTMLAppBehavior_INTERFACE_DEFINED__
#define __IHTMLAppBehavior_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAppBehavior, 0x3050f5ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5ca-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAppBehavior : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_applicationName(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_applicationName(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_version(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_version(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_icon(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_icon(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_singleInstance(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_singleInstance(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_minimizeButton(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_minimizeButton(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_maximizeButton(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_maximizeButton(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_border(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_border(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_borderStyle(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_borderStyle(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_sysMenu(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_sysMenu(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_caption(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_caption(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_windowState(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_windowState(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_showInTaskBar(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_showInTaskBar(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_commandLine(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAppBehavior, 0x3050f5ca, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAppBehaviorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAppBehavior *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAppBehavior *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAppBehavior *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAppBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAppBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAppBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAppBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAppBehavior methods ***/
    HRESULT (STDMETHODCALLTYPE *put_applicationName)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_applicationName)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_version)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_version)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_icon)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_icon)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_singleInstance)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_singleInstance)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_minimizeButton)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_minimizeButton)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_maximizeButton)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_maximizeButton)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_border)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_border)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_borderStyle)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_borderStyle)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_sysMenu)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_sysMenu)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_caption)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_caption)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_windowState)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_windowState)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_showInTaskBar)(
        IHTMLAppBehavior *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_showInTaskBar)(
        IHTMLAppBehavior *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *get_commandLine)(
        IHTMLAppBehavior *This,
        BSTR *p);

    END_INTERFACE
} IHTMLAppBehaviorVtbl;

interface IHTMLAppBehavior {
    CONST_VTBL IHTMLAppBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAppBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAppBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAppBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAppBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAppBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAppBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAppBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAppBehavior methods ***/
#define IHTMLAppBehavior_put_applicationName(This,v) (This)->lpVtbl->put_applicationName(This,v)
#define IHTMLAppBehavior_get_applicationName(This,p) (This)->lpVtbl->get_applicationName(This,p)
#define IHTMLAppBehavior_put_version(This,v) (This)->lpVtbl->put_version(This,v)
#define IHTMLAppBehavior_get_version(This,p) (This)->lpVtbl->get_version(This,p)
#define IHTMLAppBehavior_put_icon(This,v) (This)->lpVtbl->put_icon(This,v)
#define IHTMLAppBehavior_get_icon(This,p) (This)->lpVtbl->get_icon(This,p)
#define IHTMLAppBehavior_put_singleInstance(This,v) (This)->lpVtbl->put_singleInstance(This,v)
#define IHTMLAppBehavior_get_singleInstance(This,p) (This)->lpVtbl->get_singleInstance(This,p)
#define IHTMLAppBehavior_put_minimizeButton(This,v) (This)->lpVtbl->put_minimizeButton(This,v)
#define IHTMLAppBehavior_get_minimizeButton(This,p) (This)->lpVtbl->get_minimizeButton(This,p)
#define IHTMLAppBehavior_put_maximizeButton(This,v) (This)->lpVtbl->put_maximizeButton(This,v)
#define IHTMLAppBehavior_get_maximizeButton(This,p) (This)->lpVtbl->get_maximizeButton(This,p)
#define IHTMLAppBehavior_put_border(This,v) (This)->lpVtbl->put_border(This,v)
#define IHTMLAppBehavior_get_border(This,p) (This)->lpVtbl->get_border(This,p)
#define IHTMLAppBehavior_put_borderStyle(This,v) (This)->lpVtbl->put_borderStyle(This,v)
#define IHTMLAppBehavior_get_borderStyle(This,p) (This)->lpVtbl->get_borderStyle(This,p)
#define IHTMLAppBehavior_put_sysMenu(This,v) (This)->lpVtbl->put_sysMenu(This,v)
#define IHTMLAppBehavior_get_sysMenu(This,p) (This)->lpVtbl->get_sysMenu(This,p)
#define IHTMLAppBehavior_put_caption(This,v) (This)->lpVtbl->put_caption(This,v)
#define IHTMLAppBehavior_get_caption(This,p) (This)->lpVtbl->get_caption(This,p)
#define IHTMLAppBehavior_put_windowState(This,v) (This)->lpVtbl->put_windowState(This,v)
#define IHTMLAppBehavior_get_windowState(This,p) (This)->lpVtbl->get_windowState(This,p)
#define IHTMLAppBehavior_put_showInTaskBar(This,v) (This)->lpVtbl->put_showInTaskBar(This,v)
#define IHTMLAppBehavior_get_showInTaskBar(This,p) (This)->lpVtbl->get_showInTaskBar(This,p)
#define IHTMLAppBehavior_get_commandLine(This,p) (This)->lpVtbl->get_commandLine(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAppBehavior_QueryInterface(IHTMLAppBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAppBehavior_AddRef(IHTMLAppBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAppBehavior_Release(IHTMLAppBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAppBehavior_GetTypeInfoCount(IHTMLAppBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAppBehavior_GetTypeInfo(IHTMLAppBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAppBehavior_GetIDsOfNames(IHTMLAppBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAppBehavior_Invoke(IHTMLAppBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAppBehavior methods ***/
static inline HRESULT IHTMLAppBehavior_put_applicationName(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_applicationName(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_applicationName(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_applicationName(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_version(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_version(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_version(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_version(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_icon(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_icon(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_icon(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_icon(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_singleInstance(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_singleInstance(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_singleInstance(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_singleInstance(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_minimizeButton(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_minimizeButton(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_minimizeButton(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_minimizeButton(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_maximizeButton(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_maximizeButton(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_maximizeButton(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_maximizeButton(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_border(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_border(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_border(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_border(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_borderStyle(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_borderStyle(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_borderStyle(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_sysMenu(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_sysMenu(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_sysMenu(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_sysMenu(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_caption(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_caption(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_caption(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_caption(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_windowState(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_windowState(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_windowState(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_windowState(This,p);
}
static inline HRESULT IHTMLAppBehavior_put_showInTaskBar(IHTMLAppBehavior* This,BSTR v) {
    return This->lpVtbl->put_showInTaskBar(This,v);
}
static inline HRESULT IHTMLAppBehavior_get_showInTaskBar(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_showInTaskBar(This,p);
}
static inline HRESULT IHTMLAppBehavior_get_commandLine(IHTMLAppBehavior* This,BSTR *p) {
    return This->lpVtbl->get_commandLine(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAppBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAppBehavior2 interface
 */
#ifndef __IHTMLAppBehavior2_INTERFACE_DEFINED__
#define __IHTMLAppBehavior2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAppBehavior2, 0x3050f5c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5c9-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAppBehavior2 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_contextMenu(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_contextMenu(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_innerBorder(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_innerBorder(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scroll(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scroll(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_scrollFlat(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_scrollFlat(
        BSTR *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_selection(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_selection(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAppBehavior2, 0x3050f5c9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAppBehavior2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAppBehavior2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAppBehavior2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAppBehavior2 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAppBehavior2 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAppBehavior2 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAppBehavior2 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAppBehavior2 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAppBehavior2 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_contextMenu)(
        IHTMLAppBehavior2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_contextMenu)(
        IHTMLAppBehavior2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_innerBorder)(
        IHTMLAppBehavior2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_innerBorder)(
        IHTMLAppBehavior2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_scroll)(
        IHTMLAppBehavior2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_scroll)(
        IHTMLAppBehavior2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_scrollFlat)(
        IHTMLAppBehavior2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_scrollFlat)(
        IHTMLAppBehavior2 *This,
        BSTR *p);

    HRESULT (STDMETHODCALLTYPE *put_selection)(
        IHTMLAppBehavior2 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_selection)(
        IHTMLAppBehavior2 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLAppBehavior2Vtbl;

interface IHTMLAppBehavior2 {
    CONST_VTBL IHTMLAppBehavior2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAppBehavior2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAppBehavior2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAppBehavior2_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAppBehavior2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAppBehavior2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAppBehavior2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAppBehavior2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAppBehavior2 methods ***/
#define IHTMLAppBehavior2_put_contextMenu(This,v) (This)->lpVtbl->put_contextMenu(This,v)
#define IHTMLAppBehavior2_get_contextMenu(This,p) (This)->lpVtbl->get_contextMenu(This,p)
#define IHTMLAppBehavior2_put_innerBorder(This,v) (This)->lpVtbl->put_innerBorder(This,v)
#define IHTMLAppBehavior2_get_innerBorder(This,p) (This)->lpVtbl->get_innerBorder(This,p)
#define IHTMLAppBehavior2_put_scroll(This,v) (This)->lpVtbl->put_scroll(This,v)
#define IHTMLAppBehavior2_get_scroll(This,p) (This)->lpVtbl->get_scroll(This,p)
#define IHTMLAppBehavior2_put_scrollFlat(This,v) (This)->lpVtbl->put_scrollFlat(This,v)
#define IHTMLAppBehavior2_get_scrollFlat(This,p) (This)->lpVtbl->get_scrollFlat(This,p)
#define IHTMLAppBehavior2_put_selection(This,v) (This)->lpVtbl->put_selection(This,v)
#define IHTMLAppBehavior2_get_selection(This,p) (This)->lpVtbl->get_selection(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAppBehavior2_QueryInterface(IHTMLAppBehavior2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAppBehavior2_AddRef(IHTMLAppBehavior2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAppBehavior2_Release(IHTMLAppBehavior2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAppBehavior2_GetTypeInfoCount(IHTMLAppBehavior2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAppBehavior2_GetTypeInfo(IHTMLAppBehavior2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAppBehavior2_GetIDsOfNames(IHTMLAppBehavior2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAppBehavior2_Invoke(IHTMLAppBehavior2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAppBehavior2 methods ***/
static inline HRESULT IHTMLAppBehavior2_put_contextMenu(IHTMLAppBehavior2* This,BSTR v) {
    return This->lpVtbl->put_contextMenu(This,v);
}
static inline HRESULT IHTMLAppBehavior2_get_contextMenu(IHTMLAppBehavior2* This,BSTR *p) {
    return This->lpVtbl->get_contextMenu(This,p);
}
static inline HRESULT IHTMLAppBehavior2_put_innerBorder(IHTMLAppBehavior2* This,BSTR v) {
    return This->lpVtbl->put_innerBorder(This,v);
}
static inline HRESULT IHTMLAppBehavior2_get_innerBorder(IHTMLAppBehavior2* This,BSTR *p) {
    return This->lpVtbl->get_innerBorder(This,p);
}
static inline HRESULT IHTMLAppBehavior2_put_scroll(IHTMLAppBehavior2* This,BSTR v) {
    return This->lpVtbl->put_scroll(This,v);
}
static inline HRESULT IHTMLAppBehavior2_get_scroll(IHTMLAppBehavior2* This,BSTR *p) {
    return This->lpVtbl->get_scroll(This,p);
}
static inline HRESULT IHTMLAppBehavior2_put_scrollFlat(IHTMLAppBehavior2* This,BSTR v) {
    return This->lpVtbl->put_scrollFlat(This,v);
}
static inline HRESULT IHTMLAppBehavior2_get_scrollFlat(IHTMLAppBehavior2* This,BSTR *p) {
    return This->lpVtbl->get_scrollFlat(This,p);
}
static inline HRESULT IHTMLAppBehavior2_put_selection(IHTMLAppBehavior2* This,BSTR v) {
    return This->lpVtbl->put_selection(This,v);
}
static inline HRESULT IHTMLAppBehavior2_get_selection(IHTMLAppBehavior2* This,BSTR *p) {
    return This->lpVtbl->get_selection(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAppBehavior2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHTMLAppBehavior3 interface
 */
#ifndef __IHTMLAppBehavior3_INTERFACE_DEFINED__
#define __IHTMLAppBehavior3_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLAppBehavior3, 0x3050f5cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f5cd-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAppBehavior3 : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE put_navigable(
        BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_navigable(
        BSTR *p) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLAppBehavior3, 0x3050f5cd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLAppBehavior3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHTMLAppBehavior3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHTMLAppBehavior3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHTMLAppBehavior3 *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IHTMLAppBehavior3 *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IHTMLAppBehavior3 *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IHTMLAppBehavior3 *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IHTMLAppBehavior3 *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IHTMLAppBehavior3 methods ***/
    HRESULT (STDMETHODCALLTYPE *put_navigable)(
        IHTMLAppBehavior3 *This,
        BSTR v);

    HRESULT (STDMETHODCALLTYPE *get_navigable)(
        IHTMLAppBehavior3 *This,
        BSTR *p);

    END_INTERFACE
} IHTMLAppBehavior3Vtbl;

interface IHTMLAppBehavior3 {
    CONST_VTBL IHTMLAppBehavior3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLAppBehavior3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLAppBehavior3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLAppBehavior3_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IHTMLAppBehavior3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IHTMLAppBehavior3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IHTMLAppBehavior3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IHTMLAppBehavior3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IHTMLAppBehavior3 methods ***/
#define IHTMLAppBehavior3_put_navigable(This,v) (This)->lpVtbl->put_navigable(This,v)
#define IHTMLAppBehavior3_get_navigable(This,p) (This)->lpVtbl->get_navigable(This,p)
#else
/*** IUnknown methods ***/
static inline HRESULT IHTMLAppBehavior3_QueryInterface(IHTMLAppBehavior3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHTMLAppBehavior3_AddRef(IHTMLAppBehavior3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHTMLAppBehavior3_Release(IHTMLAppBehavior3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IHTMLAppBehavior3_GetTypeInfoCount(IHTMLAppBehavior3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IHTMLAppBehavior3_GetTypeInfo(IHTMLAppBehavior3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IHTMLAppBehavior3_GetIDsOfNames(IHTMLAppBehavior3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IHTMLAppBehavior3_Invoke(IHTMLAppBehavior3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IHTMLAppBehavior3 methods ***/
static inline HRESULT IHTMLAppBehavior3_put_navigable(IHTMLAppBehavior3* This,BSTR v) {
    return This->lpVtbl->put_navigable(This,v);
}
static inline HRESULT IHTMLAppBehavior3_get_navigable(IHTMLAppBehavior3* This,BSTR *p) {
    return This->lpVtbl->get_navigable(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAppBehavior3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * DispHTMLAppBehavior dispinterface
 */
#ifndef __DispHTMLAppBehavior_DISPINTERFACE_DEFINED__
#define __DispHTMLAppBehavior_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispHTMLAppBehavior, 0x3050f57c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f57c-98b5-11cf-bb82-00aa00bdce0b")
DispHTMLAppBehavior : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispHTMLAppBehavior, 0x3050f57c, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispHTMLAppBehaviorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispHTMLAppBehavior *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispHTMLAppBehavior *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispHTMLAppBehavior *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispHTMLAppBehavior *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispHTMLAppBehavior *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispHTMLAppBehavior *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispHTMLAppBehavior *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispHTMLAppBehaviorVtbl;

interface DispHTMLAppBehavior {
    CONST_VTBL DispHTMLAppBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispHTMLAppBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispHTMLAppBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispHTMLAppBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispHTMLAppBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispHTMLAppBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispHTMLAppBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispHTMLAppBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispHTMLAppBehavior_QueryInterface(DispHTMLAppBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispHTMLAppBehavior_AddRef(DispHTMLAppBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispHTMLAppBehavior_Release(DispHTMLAppBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispHTMLAppBehavior_GetTypeInfoCount(DispHTMLAppBehavior* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispHTMLAppBehavior_GetTypeInfo(DispHTMLAppBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispHTMLAppBehavior_GetIDsOfNames(DispHTMLAppBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispHTMLAppBehavior_Invoke(DispHTMLAppBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispHTMLAppBehavior_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLAppBehavior coclass
 */

DEFINE_GUID(CLSID_HTMLAppBehavior, 0x3050f5cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f5cb-98b5-11cf-bb82-00aa00bdce0b") HTMLAppBehavior;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLAppBehavior, 0x3050f5cb, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * OldHTMLDocument coclass
 */

DEFINE_GUID(CLSID_OldHTMLDocument, 0xd48a6ec9, 0x6a4a, 0x11cf, 0x94,0xa7, 0x44,0x45,0x53,0x54,0x00,0x00);

#ifdef __cplusplus
class DECLSPEC_UUID("d48a6ec9-6a4a-11cf-94a7-444553540000") OldHTMLDocument;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(OldHTMLDocument, 0xd48a6ec9, 0x6a4a, 0x11cf, 0x94,0xa7, 0x44,0x45,0x53,0x54,0x00,0x00)
#endif
#endif

/*****************************************************************************
 * OldHTMLFormElement coclass
 */

DEFINE_GUID(CLSID_OldHTMLFormElement, 0x0d04d285, 0x6bec, 0x11cf, 0x8b,0x97, 0x00,0xaa,0x00,0x47,0x6d,0xa6);

#ifdef __cplusplus
class DECLSPEC_UUID("0d04d285-6bec-11cf-8b97-00aa00476da6") OldHTMLFormElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(OldHTMLFormElement, 0x0d04d285, 0x6bec, 0x11cf, 0x8b,0x97, 0x00,0xaa,0x00,0x47,0x6d,0xa6)
#endif
#endif

/*****************************************************************************
 * DispIHTMLInputButtonElement dispinterface
 */
#ifndef __DispIHTMLInputButtonElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputButtonElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispIHTMLInputButtonElement, 0x3050f51e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f51e-98b5-11cf-bb82-00aa00bdce0b")
DispIHTMLInputButtonElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispIHTMLInputButtonElement, 0x3050f51e, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispIHTMLInputButtonElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispIHTMLInputButtonElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispIHTMLInputButtonElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispIHTMLInputButtonElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispIHTMLInputButtonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispIHTMLInputButtonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispIHTMLInputButtonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispIHTMLInputButtonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispIHTMLInputButtonElementVtbl;

interface DispIHTMLInputButtonElement {
    CONST_VTBL DispIHTMLInputButtonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispIHTMLInputButtonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispIHTMLInputButtonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispIHTMLInputButtonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispIHTMLInputButtonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispIHTMLInputButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispIHTMLInputButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispIHTMLInputButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispIHTMLInputButtonElement_QueryInterface(DispIHTMLInputButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispIHTMLInputButtonElement_AddRef(DispIHTMLInputButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispIHTMLInputButtonElement_Release(DispIHTMLInputButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispIHTMLInputButtonElement_GetTypeInfoCount(DispIHTMLInputButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispIHTMLInputButtonElement_GetTypeInfo(DispIHTMLInputButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispIHTMLInputButtonElement_GetIDsOfNames(DispIHTMLInputButtonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispIHTMLInputButtonElement_Invoke(DispIHTMLInputButtonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispIHTMLInputButtonElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputButtonElement coclass
 */

DEFINE_GUID(CLSID_HTMLInputButtonElement, 0x3050f2b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2b4-98b5-11cf-bb82-00aa00bdce0b") HTMLInputButtonElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputButtonElement, 0x3050f2b4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispIHTMLInputTextElement dispinterface
 */
#ifndef __DispIHTMLInputTextElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputTextElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispIHTMLInputTextElement, 0x3050f520, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f520-98b5-11cf-bb82-00aa00bdce0b")
DispIHTMLInputTextElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispIHTMLInputTextElement, 0x3050f520, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispIHTMLInputTextElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispIHTMLInputTextElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispIHTMLInputTextElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispIHTMLInputTextElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispIHTMLInputTextElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispIHTMLInputTextElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispIHTMLInputTextElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispIHTMLInputTextElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispIHTMLInputTextElementVtbl;

interface DispIHTMLInputTextElement {
    CONST_VTBL DispIHTMLInputTextElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispIHTMLInputTextElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispIHTMLInputTextElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispIHTMLInputTextElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispIHTMLInputTextElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispIHTMLInputTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispIHTMLInputTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispIHTMLInputTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispIHTMLInputTextElement_QueryInterface(DispIHTMLInputTextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispIHTMLInputTextElement_AddRef(DispIHTMLInputTextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispIHTMLInputTextElement_Release(DispIHTMLInputTextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispIHTMLInputTextElement_GetTypeInfoCount(DispIHTMLInputTextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispIHTMLInputTextElement_GetTypeInfo(DispIHTMLInputTextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispIHTMLInputTextElement_GetIDsOfNames(DispIHTMLInputTextElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispIHTMLInputTextElement_Invoke(DispIHTMLInputTextElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispIHTMLInputTextElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputTextElement coclass
 */

DEFINE_GUID(CLSID_HTMLInputTextElement, 0x3050f2ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2ab-98b5-11cf-bb82-00aa00bdce0b") HTMLInputTextElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputTextElement, 0x3050f2ab, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispIHTMLInputFileElement dispinterface
 */
#ifndef __DispIHTMLInputFileElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputFileElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispIHTMLInputFileElement, 0x3050f542, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f542-98b5-11cf-bb82-00aa00bdce0b")
DispIHTMLInputFileElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispIHTMLInputFileElement, 0x3050f542, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispIHTMLInputFileElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispIHTMLInputFileElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispIHTMLInputFileElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispIHTMLInputFileElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispIHTMLInputFileElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispIHTMLInputFileElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispIHTMLInputFileElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispIHTMLInputFileElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispIHTMLInputFileElementVtbl;

interface DispIHTMLInputFileElement {
    CONST_VTBL DispIHTMLInputFileElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispIHTMLInputFileElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispIHTMLInputFileElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispIHTMLInputFileElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispIHTMLInputFileElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispIHTMLInputFileElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispIHTMLInputFileElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispIHTMLInputFileElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispIHTMLInputFileElement_QueryInterface(DispIHTMLInputFileElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispIHTMLInputFileElement_AddRef(DispIHTMLInputFileElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispIHTMLInputFileElement_Release(DispIHTMLInputFileElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispIHTMLInputFileElement_GetTypeInfoCount(DispIHTMLInputFileElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispIHTMLInputFileElement_GetTypeInfo(DispIHTMLInputFileElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispIHTMLInputFileElement_GetIDsOfNames(DispIHTMLInputFileElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispIHTMLInputFileElement_Invoke(DispIHTMLInputFileElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispIHTMLInputFileElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputFileElement coclass
 */

DEFINE_GUID(CLSID_HTMLInputFileElement, 0x3050f2ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2ae-98b5-11cf-bb82-00aa00bdce0b") HTMLInputFileElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputFileElement, 0x3050f2ae, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispIHTMLOptionButtonElement dispinterface
 */
#ifndef __DispIHTMLOptionButtonElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLOptionButtonElement_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispIHTMLOptionButtonElement, 0x3050f509, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f509-98b5-11cf-bb82-00aa00bdce0b")
DispIHTMLOptionButtonElement : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispIHTMLOptionButtonElement, 0x3050f509, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispIHTMLOptionButtonElementVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispIHTMLOptionButtonElement *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispIHTMLOptionButtonElement *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispIHTMLOptionButtonElement *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispIHTMLOptionButtonElement *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispIHTMLOptionButtonElement *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispIHTMLOptionButtonElement *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispIHTMLOptionButtonElement *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispIHTMLOptionButtonElementVtbl;

interface DispIHTMLOptionButtonElement {
    CONST_VTBL DispIHTMLOptionButtonElementVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispIHTMLOptionButtonElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispIHTMLOptionButtonElement_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispIHTMLOptionButtonElement_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispIHTMLOptionButtonElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispIHTMLOptionButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispIHTMLOptionButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispIHTMLOptionButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispIHTMLOptionButtonElement_QueryInterface(DispIHTMLOptionButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispIHTMLOptionButtonElement_AddRef(DispIHTMLOptionButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispIHTMLOptionButtonElement_Release(DispIHTMLOptionButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispIHTMLOptionButtonElement_GetTypeInfoCount(DispIHTMLOptionButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispIHTMLOptionButtonElement_GetTypeInfo(DispIHTMLOptionButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispIHTMLOptionButtonElement_GetIDsOfNames(DispIHTMLOptionButtonElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispIHTMLOptionButtonElement_Invoke(DispIHTMLOptionButtonElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispIHTMLOptionButtonElement_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLOptionButtonElement coclass
 */

DEFINE_GUID(CLSID_HTMLOptionButtonElement, 0x3050f2be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2be-98b5-11cf-bb82-00aa00bdce0b") HTMLOptionButtonElement;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLOptionButtonElement, 0x3050f2be, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * DispIHTMLInputImage dispinterface
 */
#ifndef __DispIHTMLInputImage_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputImage_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID_DispIHTMLInputImage, 0x3050f51d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f51d-98b5-11cf-bb82-00aa00bdce0b")
DispIHTMLInputImage : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DispIHTMLInputImage, 0x3050f51d, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct DispIHTMLInputImageVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        DispIHTMLInputImage *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        DispIHTMLInputImage *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        DispIHTMLInputImage *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        DispIHTMLInputImage *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        DispIHTMLInputImage *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        DispIHTMLInputImage *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        DispIHTMLInputImage *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} DispIHTMLInputImageVtbl;

interface DispIHTMLInputImage {
    CONST_VTBL DispIHTMLInputImageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define DispIHTMLInputImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define DispIHTMLInputImage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define DispIHTMLInputImage_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define DispIHTMLInputImage_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define DispIHTMLInputImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define DispIHTMLInputImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define DispIHTMLInputImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static inline HRESULT DispIHTMLInputImage_QueryInterface(DispIHTMLInputImage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG DispIHTMLInputImage_AddRef(DispIHTMLInputImage* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG DispIHTMLInputImage_Release(DispIHTMLInputImage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT DispIHTMLInputImage_GetTypeInfoCount(DispIHTMLInputImage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT DispIHTMLInputImage_GetTypeInfo(DispIHTMLInputImage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT DispIHTMLInputImage_GetIDsOfNames(DispIHTMLInputImage* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT DispIHTMLInputImage_Invoke(DispIHTMLInputImage* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* __DispIHTMLInputImage_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * HTMLInputImage coclass
 */

DEFINE_GUID(CLSID_HTMLInputImage, 0x3050f2c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

#ifdef __cplusplus
class DECLSPEC_UUID("3050f2c4-98b5-11cf-bb82-00aa00bdce0b") HTMLInputImage;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HTMLInputImage, 0x3050f2c4, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#endif

/*****************************************************************************
 * IElementBehaviorFactory interface
 */
#ifndef __IElementBehaviorFactory_INTERFACE_DEFINED__
#define __IElementBehaviorFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorFactory, 0x3050f429, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f429-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorFactory : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE FindBehavior(
        BSTR bstrBehavior,
        BSTR bstrBehaviorUrl,
        IElementBehaviorSite *pSite,
        IElementBehavior **ppBehavior) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorFactory, 0x3050f429, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorFactory *This);

    /*** IElementBehaviorFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *FindBehavior)(
        IElementBehaviorFactory *This,
        BSTR bstrBehavior,
        BSTR bstrBehaviorUrl,
        IElementBehaviorSite *pSite,
        IElementBehavior **ppBehavior);

    END_INTERFACE
} IElementBehaviorFactoryVtbl;

interface IElementBehaviorFactory {
    CONST_VTBL IElementBehaviorFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorFactory methods ***/
#define IElementBehaviorFactory_FindBehavior(This,bstrBehavior,bstrBehaviorUrl,pSite,ppBehavior) (This)->lpVtbl->FindBehavior(This,bstrBehavior,bstrBehaviorUrl,pSite,ppBehavior)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorFactory_QueryInterface(IElementBehaviorFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorFactory_AddRef(IElementBehaviorFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorFactory_Release(IElementBehaviorFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorFactory methods ***/
static inline HRESULT IElementBehaviorFactory_FindBehavior(IElementBehaviorFactory* This,BSTR bstrBehavior,BSTR bstrBehaviorUrl,IElementBehaviorSite *pSite,IElementBehavior **ppBehavior) {
    return This->lpVtbl->FindBehavior(This,bstrBehavior,bstrBehaviorUrl,pSite,ppBehavior);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementNamespace interface
 */
#ifndef __IElementNamespace_INTERFACE_DEFINED__
#define __IElementNamespace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementNamespace, 0x3050f671, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f671-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespace : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE AddTag(
        BSTR bstrTagName,
        LONG lFlags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementNamespace, 0x3050f671, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementNamespaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementNamespace *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementNamespace *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementNamespace *This);

    /*** IElementNamespace methods ***/
    HRESULT (STDMETHODCALLTYPE *AddTag)(
        IElementNamespace *This,
        BSTR bstrTagName,
        LONG lFlags);

    END_INTERFACE
} IElementNamespaceVtbl;

interface IElementNamespace {
    CONST_VTBL IElementNamespaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementNamespace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementNamespace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementNamespace_Release(This) (This)->lpVtbl->Release(This)
/*** IElementNamespace methods ***/
#define IElementNamespace_AddTag(This,bstrTagName,lFlags) (This)->lpVtbl->AddTag(This,bstrTagName,lFlags)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementNamespace_QueryInterface(IElementNamespace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementNamespace_AddRef(IElementNamespace* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementNamespace_Release(IElementNamespace* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementNamespace methods ***/
static inline HRESULT IElementNamespace_AddTag(IElementNamespace* This,BSTR bstrTagName,LONG lFlags) {
    return This->lpVtbl->AddTag(This,bstrTagName,lFlags);
}
#endif
#endif

#endif


#endif  /* __IElementNamespace_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementNamespaceTable interface
 */
#ifndef __IElementNamespaceTable_INTERFACE_DEFINED__
#define __IElementNamespaceTable_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementNamespaceTable, 0x3050f670, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f670-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceTable : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE AddNamespace(
        BSTR bstrNamespace,
        BSTR bstrUrn,
        LONG lFlags,
        VARIANT *pvarFactory) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementNamespaceTable, 0x3050f670, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementNamespaceTableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementNamespaceTable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementNamespaceTable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementNamespaceTable *This);

    /*** IElementNamespaceTable methods ***/
    HRESULT (STDMETHODCALLTYPE *AddNamespace)(
        IElementNamespaceTable *This,
        BSTR bstrNamespace,
        BSTR bstrUrn,
        LONG lFlags,
        VARIANT *pvarFactory);

    END_INTERFACE
} IElementNamespaceTableVtbl;

interface IElementNamespaceTable {
    CONST_VTBL IElementNamespaceTableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementNamespaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementNamespaceTable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementNamespaceTable_Release(This) (This)->lpVtbl->Release(This)
/*** IElementNamespaceTable methods ***/
#define IElementNamespaceTable_AddNamespace(This,bstrNamespace,bstrUrn,lFlags,pvarFactory) (This)->lpVtbl->AddNamespace(This,bstrNamespace,bstrUrn,lFlags,pvarFactory)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementNamespaceTable_QueryInterface(IElementNamespaceTable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementNamespaceTable_AddRef(IElementNamespaceTable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementNamespaceTable_Release(IElementNamespaceTable* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementNamespaceTable methods ***/
static inline HRESULT IElementNamespaceTable_AddNamespace(IElementNamespaceTable* This,BSTR bstrNamespace,BSTR bstrUrn,LONG lFlags,VARIANT *pvarFactory) {
    return This->lpVtbl->AddNamespace(This,bstrNamespace,bstrUrn,lFlags,pvarFactory);
}
#endif
#endif

#endif


#endif  /* __IElementNamespaceTable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementNamespaceFactory interface
 */
#ifndef __IElementNamespaceFactory_INTERFACE_DEFINED__
#define __IElementNamespaceFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementNamespaceFactory, 0x3050f672, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f672-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceFactory : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Create(
        IElementNamespace *pNamespace) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementNamespaceFactory, 0x3050f672, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementNamespaceFactoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementNamespaceFactory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementNamespaceFactory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementNamespaceFactory *This);

    /*** IElementNamespaceFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *Create)(
        IElementNamespaceFactory *This,
        IElementNamespace *pNamespace);

    END_INTERFACE
} IElementNamespaceFactoryVtbl;

interface IElementNamespaceFactory {
    CONST_VTBL IElementNamespaceFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementNamespaceFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementNamespaceFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementNamespaceFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IElementNamespaceFactory methods ***/
#define IElementNamespaceFactory_Create(This,pNamespace) (This)->lpVtbl->Create(This,pNamespace)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementNamespaceFactory_QueryInterface(IElementNamespaceFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementNamespaceFactory_AddRef(IElementNamespaceFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementNamespaceFactory_Release(IElementNamespaceFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementNamespaceFactory methods ***/
static inline HRESULT IElementNamespaceFactory_Create(IElementNamespaceFactory* This,IElementNamespace *pNamespace) {
    return This->lpVtbl->Create(This,pNamespace);
}
#endif
#endif

#endif


#endif  /* __IElementNamespaceFactory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementNamespaceFactory2 interface
 */
#ifndef __IElementNamespaceFactory2_INTERFACE_DEFINED__
#define __IElementNamespaceFactory2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementNamespaceFactory2, 0x3050f805, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f805-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceFactory2 : public IElementNamespaceFactory
{
    virtual HRESULT STDMETHODCALLTYPE CreateWithImplementation(
        IElementNamespace *pNamespace,
        BSTR bstrImplementation) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementNamespaceFactory2, 0x3050f805, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementNamespaceFactory2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementNamespaceFactory2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementNamespaceFactory2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementNamespaceFactory2 *This);

    /*** IElementNamespaceFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *Create)(
        IElementNamespaceFactory2 *This,
        IElementNamespace *pNamespace);

    /*** IElementNamespaceFactory2 methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateWithImplementation)(
        IElementNamespaceFactory2 *This,
        IElementNamespace *pNamespace,
        BSTR bstrImplementation);

    END_INTERFACE
} IElementNamespaceFactory2Vtbl;

interface IElementNamespaceFactory2 {
    CONST_VTBL IElementNamespaceFactory2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementNamespaceFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementNamespaceFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementNamespaceFactory2_Release(This) (This)->lpVtbl->Release(This)
/*** IElementNamespaceFactory methods ***/
#define IElementNamespaceFactory2_Create(This,pNamespace) (This)->lpVtbl->Create(This,pNamespace)
/*** IElementNamespaceFactory2 methods ***/
#define IElementNamespaceFactory2_CreateWithImplementation(This,pNamespace,bstrImplementation) (This)->lpVtbl->CreateWithImplementation(This,pNamespace,bstrImplementation)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementNamespaceFactory2_QueryInterface(IElementNamespaceFactory2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementNamespaceFactory2_AddRef(IElementNamespaceFactory2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementNamespaceFactory2_Release(IElementNamespaceFactory2* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementNamespaceFactory methods ***/
static inline HRESULT IElementNamespaceFactory2_Create(IElementNamespaceFactory2* This,IElementNamespace *pNamespace) {
    return This->lpVtbl->Create(This,pNamespace);
}
/*** IElementNamespaceFactory2 methods ***/
static inline HRESULT IElementNamespaceFactory2_CreateWithImplementation(IElementNamespaceFactory2* This,IElementNamespace *pNamespace,BSTR bstrImplementation) {
    return This->lpVtbl->CreateWithImplementation(This,pNamespace,bstrImplementation);
}
#endif
#endif

#endif


#endif  /* __IElementNamespaceFactory2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementNamespaceFactoryCallback interface
 */
#ifndef __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__
#define __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementNamespaceFactoryCallback, 0x3050f7fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f7fd-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceFactoryCallback : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Resolve(
        BSTR bstrNamespace,
        BSTR bstrTagName,
        BSTR bstrAttrs,
        IElementNamespace *pNamespace) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementNamespaceFactoryCallback, 0x3050f7fd, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementNamespaceFactoryCallbackVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementNamespaceFactoryCallback *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementNamespaceFactoryCallback *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementNamespaceFactoryCallback *This);

    /*** IElementNamespaceFactoryCallback methods ***/
    HRESULT (STDMETHODCALLTYPE *Resolve)(
        IElementNamespaceFactoryCallback *This,
        BSTR bstrNamespace,
        BSTR bstrTagName,
        BSTR bstrAttrs,
        IElementNamespace *pNamespace);

    END_INTERFACE
} IElementNamespaceFactoryCallbackVtbl;

interface IElementNamespaceFactoryCallback {
    CONST_VTBL IElementNamespaceFactoryCallbackVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementNamespaceFactoryCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementNamespaceFactoryCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementNamespaceFactoryCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IElementNamespaceFactoryCallback methods ***/
#define IElementNamespaceFactoryCallback_Resolve(This,bstrNamespace,bstrTagName,bstrAttrs,pNamespace) (This)->lpVtbl->Resolve(This,bstrNamespace,bstrTagName,bstrAttrs,pNamespace)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementNamespaceFactoryCallback_QueryInterface(IElementNamespaceFactoryCallback* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementNamespaceFactoryCallback_AddRef(IElementNamespaceFactoryCallback* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementNamespaceFactoryCallback_Release(IElementNamespaceFactoryCallback* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementNamespaceFactoryCallback methods ***/
static inline HRESULT IElementNamespaceFactoryCallback_Resolve(IElementNamespaceFactoryCallback* This,BSTR bstrNamespace,BSTR bstrTagName,BSTR bstrAttrs,IElementNamespace *pNamespace) {
    return This->lpVtbl->Resolve(This,bstrNamespace,bstrTagName,bstrAttrs,pNamespace);
}
#endif
#endif

#endif


#endif  /* __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehavior interface
 */
#ifndef __IElementBehavior_INTERFACE_DEFINED__
#define __IElementBehavior_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehavior, 0x3050f425, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f425-98b5-11cf-bb82-00aa00bdce0b")
IElementBehavior : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Init(
        IElementBehaviorSite *pBehaviorSite) = 0;

    virtual HRESULT STDMETHODCALLTYPE Notify(
        LONG lEvent,
        VARIANT *pVar) = 0;

    virtual HRESULT STDMETHODCALLTYPE Detach(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehavior, 0x3050f425, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehavior *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehavior *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehavior *This);

    /*** IElementBehavior methods ***/
    HRESULT (STDMETHODCALLTYPE *Init)(
        IElementBehavior *This,
        IElementBehaviorSite *pBehaviorSite);

    HRESULT (STDMETHODCALLTYPE *Notify)(
        IElementBehavior *This,
        LONG lEvent,
        VARIANT *pVar);

    HRESULT (STDMETHODCALLTYPE *Detach)(
        IElementBehavior *This);

    END_INTERFACE
} IElementBehaviorVtbl;

interface IElementBehavior {
    CONST_VTBL IElementBehaviorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehavior_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehavior methods ***/
#define IElementBehavior_Init(This,pBehaviorSite) (This)->lpVtbl->Init(This,pBehaviorSite)
#define IElementBehavior_Notify(This,lEvent,pVar) (This)->lpVtbl->Notify(This,lEvent,pVar)
#define IElementBehavior_Detach(This) (This)->lpVtbl->Detach(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehavior_QueryInterface(IElementBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehavior_AddRef(IElementBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehavior_Release(IElementBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehavior methods ***/
static inline HRESULT IElementBehavior_Init(IElementBehavior* This,IElementBehaviorSite *pBehaviorSite) {
    return This->lpVtbl->Init(This,pBehaviorSite);
}
static inline HRESULT IElementBehavior_Notify(IElementBehavior* This,LONG lEvent,VARIANT *pVar) {
    return This->lpVtbl->Notify(This,lEvent,pVar);
}
static inline HRESULT IElementBehavior_Detach(IElementBehavior* This) {
    return This->lpVtbl->Detach(This);
}
#endif
#endif

#endif


#endif  /* __IElementBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSite interface
 */
#ifndef __IElementBehaviorSite_INTERFACE_DEFINED__
#define __IElementBehaviorSite_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSite, 0x3050f427, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f427-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSite : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetElement(
        IHTMLElement **ppElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterNotification(
        LONG lEvent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSite, 0x3050f427, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSiteVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSite *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSite *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSite *This);

    /*** IElementBehaviorSite methods ***/
    HRESULT (STDMETHODCALLTYPE *GetElement)(
        IElementBehaviorSite *This,
        IHTMLElement **ppElement);

    HRESULT (STDMETHODCALLTYPE *RegisterNotification)(
        IElementBehaviorSite *This,
        LONG lEvent);

    END_INTERFACE
} IElementBehaviorSiteVtbl;

interface IElementBehaviorSite {
    CONST_VTBL IElementBehaviorSiteVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSite_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSite methods ***/
#define IElementBehaviorSite_GetElement(This,ppElement) (This)->lpVtbl->GetElement(This,ppElement)
#define IElementBehaviorSite_RegisterNotification(This,lEvent) (This)->lpVtbl->RegisterNotification(This,lEvent)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSite_QueryInterface(IElementBehaviorSite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSite_AddRef(IElementBehaviorSite* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSite_Release(IElementBehaviorSite* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSite methods ***/
static inline HRESULT IElementBehaviorSite_GetElement(IElementBehaviorSite* This,IHTMLElement **ppElement) {
    return This->lpVtbl->GetElement(This,ppElement);
}
static inline HRESULT IElementBehaviorSite_RegisterNotification(IElementBehaviorSite* This,LONG lEvent) {
    return This->lpVtbl->RegisterNotification(This,lEvent);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSite_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSiteOM interface
 */
#ifndef __IElementBehaviorSiteOM_INTERFACE_DEFINED__
#define __IElementBehaviorSiteOM_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSiteOM, 0x3050f489, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f489-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteOM : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE RegisterEvent(
        LPOLESTR pchEvent,
        LONG lFlags,
        LONG *plCookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEventCookie(
        LPOLESTR pchEvent,
        LONG *plCookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE FireEvent(
        LONG lCookie,
        IHTMLEventObj *pEventObject) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateEventObject(
        IHTMLEventObj **ppEventObject) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterName(
        LPOLESTR pchName) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterUrn(
        LPOLESTR pchUrn) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSiteOM, 0x3050f489, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSiteOMVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSiteOM *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSiteOM *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSiteOM *This);

    /*** IElementBehaviorSiteOM methods ***/
    HRESULT (STDMETHODCALLTYPE *RegisterEvent)(
        IElementBehaviorSiteOM *This,
        LPOLESTR pchEvent,
        LONG lFlags,
        LONG *plCookie);

    HRESULT (STDMETHODCALLTYPE *GetEventCookie)(
        IElementBehaviorSiteOM *This,
        LPOLESTR pchEvent,
        LONG *plCookie);

    HRESULT (STDMETHODCALLTYPE *FireEvent)(
        IElementBehaviorSiteOM *This,
        LONG lCookie,
        IHTMLEventObj *pEventObject);

    HRESULT (STDMETHODCALLTYPE *CreateEventObject)(
        IElementBehaviorSiteOM *This,
        IHTMLEventObj **ppEventObject);

    HRESULT (STDMETHODCALLTYPE *RegisterName)(
        IElementBehaviorSiteOM *This,
        LPOLESTR pchName);

    HRESULT (STDMETHODCALLTYPE *RegisterUrn)(
        IElementBehaviorSiteOM *This,
        LPOLESTR pchUrn);

    END_INTERFACE
} IElementBehaviorSiteOMVtbl;

interface IElementBehaviorSiteOM {
    CONST_VTBL IElementBehaviorSiteOMVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSiteOM_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSiteOM_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSiteOM_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSiteOM methods ***/
#define IElementBehaviorSiteOM_RegisterEvent(This,pchEvent,lFlags,plCookie) (This)->lpVtbl->RegisterEvent(This,pchEvent,lFlags,plCookie)
#define IElementBehaviorSiteOM_GetEventCookie(This,pchEvent,plCookie) (This)->lpVtbl->GetEventCookie(This,pchEvent,plCookie)
#define IElementBehaviorSiteOM_FireEvent(This,lCookie,pEventObject) (This)->lpVtbl->FireEvent(This,lCookie,pEventObject)
#define IElementBehaviorSiteOM_CreateEventObject(This,ppEventObject) (This)->lpVtbl->CreateEventObject(This,ppEventObject)
#define IElementBehaviorSiteOM_RegisterName(This,pchName) (This)->lpVtbl->RegisterName(This,pchName)
#define IElementBehaviorSiteOM_RegisterUrn(This,pchUrn) (This)->lpVtbl->RegisterUrn(This,pchUrn)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSiteOM_QueryInterface(IElementBehaviorSiteOM* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSiteOM_AddRef(IElementBehaviorSiteOM* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSiteOM_Release(IElementBehaviorSiteOM* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSiteOM methods ***/
static inline HRESULT IElementBehaviorSiteOM_RegisterEvent(IElementBehaviorSiteOM* This,LPOLESTR pchEvent,LONG lFlags,LONG *plCookie) {
    return This->lpVtbl->RegisterEvent(This,pchEvent,lFlags,plCookie);
}
static inline HRESULT IElementBehaviorSiteOM_GetEventCookie(IElementBehaviorSiteOM* This,LPOLESTR pchEvent,LONG *plCookie) {
    return This->lpVtbl->GetEventCookie(This,pchEvent,plCookie);
}
static inline HRESULT IElementBehaviorSiteOM_FireEvent(IElementBehaviorSiteOM* This,LONG lCookie,IHTMLEventObj *pEventObject) {
    return This->lpVtbl->FireEvent(This,lCookie,pEventObject);
}
static inline HRESULT IElementBehaviorSiteOM_CreateEventObject(IElementBehaviorSiteOM* This,IHTMLEventObj **ppEventObject) {
    return This->lpVtbl->CreateEventObject(This,ppEventObject);
}
static inline HRESULT IElementBehaviorSiteOM_RegisterName(IElementBehaviorSiteOM* This,LPOLESTR pchName) {
    return This->lpVtbl->RegisterName(This,pchName);
}
static inline HRESULT IElementBehaviorSiteOM_RegisterUrn(IElementBehaviorSiteOM* This,LPOLESTR pchUrn) {
    return This->lpVtbl->RegisterUrn(This,pchUrn);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSiteOM_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSiteOM2 interface
 */
#ifndef __IElementBehaviorSiteOM2_INTERFACE_DEFINED__
#define __IElementBehaviorSiteOM2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSiteOM2, 0x3050f659, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f659-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteOM2 : public IElementBehaviorSiteOM
{
    virtual HRESULT STDMETHODCALLTYPE GetDefaults(
        IHTMLElementDefaults **ppDefaults) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSiteOM2, 0x3050f659, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSiteOM2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSiteOM2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSiteOM2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSiteOM2 *This);

    /*** IElementBehaviorSiteOM methods ***/
    HRESULT (STDMETHODCALLTYPE *RegisterEvent)(
        IElementBehaviorSiteOM2 *This,
        LPOLESTR pchEvent,
        LONG lFlags,
        LONG *plCookie);

    HRESULT (STDMETHODCALLTYPE *GetEventCookie)(
        IElementBehaviorSiteOM2 *This,
        LPOLESTR pchEvent,
        LONG *plCookie);

    HRESULT (STDMETHODCALLTYPE *FireEvent)(
        IElementBehaviorSiteOM2 *This,
        LONG lCookie,
        IHTMLEventObj *pEventObject);

    HRESULT (STDMETHODCALLTYPE *CreateEventObject)(
        IElementBehaviorSiteOM2 *This,
        IHTMLEventObj **ppEventObject);

    HRESULT (STDMETHODCALLTYPE *RegisterName)(
        IElementBehaviorSiteOM2 *This,
        LPOLESTR pchName);

    HRESULT (STDMETHODCALLTYPE *RegisterUrn)(
        IElementBehaviorSiteOM2 *This,
        LPOLESTR pchUrn);

    /*** IElementBehaviorSiteOM2 methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDefaults)(
        IElementBehaviorSiteOM2 *This,
        IHTMLElementDefaults **ppDefaults);

    END_INTERFACE
} IElementBehaviorSiteOM2Vtbl;

interface IElementBehaviorSiteOM2 {
    CONST_VTBL IElementBehaviorSiteOM2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSiteOM2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSiteOM2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSiteOM2_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSiteOM methods ***/
#define IElementBehaviorSiteOM2_RegisterEvent(This,pchEvent,lFlags,plCookie) (This)->lpVtbl->RegisterEvent(This,pchEvent,lFlags,plCookie)
#define IElementBehaviorSiteOM2_GetEventCookie(This,pchEvent,plCookie) (This)->lpVtbl->GetEventCookie(This,pchEvent,plCookie)
#define IElementBehaviorSiteOM2_FireEvent(This,lCookie,pEventObject) (This)->lpVtbl->FireEvent(This,lCookie,pEventObject)
#define IElementBehaviorSiteOM2_CreateEventObject(This,ppEventObject) (This)->lpVtbl->CreateEventObject(This,ppEventObject)
#define IElementBehaviorSiteOM2_RegisterName(This,pchName) (This)->lpVtbl->RegisterName(This,pchName)
#define IElementBehaviorSiteOM2_RegisterUrn(This,pchUrn) (This)->lpVtbl->RegisterUrn(This,pchUrn)
/*** IElementBehaviorSiteOM2 methods ***/
#define IElementBehaviorSiteOM2_GetDefaults(This,ppDefaults) (This)->lpVtbl->GetDefaults(This,ppDefaults)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSiteOM2_QueryInterface(IElementBehaviorSiteOM2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSiteOM2_AddRef(IElementBehaviorSiteOM2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSiteOM2_Release(IElementBehaviorSiteOM2* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSiteOM methods ***/
static inline HRESULT IElementBehaviorSiteOM2_RegisterEvent(IElementBehaviorSiteOM2* This,LPOLESTR pchEvent,LONG lFlags,LONG *plCookie) {
    return This->lpVtbl->RegisterEvent(This,pchEvent,lFlags,plCookie);
}
static inline HRESULT IElementBehaviorSiteOM2_GetEventCookie(IElementBehaviorSiteOM2* This,LPOLESTR pchEvent,LONG *plCookie) {
    return This->lpVtbl->GetEventCookie(This,pchEvent,plCookie);
}
static inline HRESULT IElementBehaviorSiteOM2_FireEvent(IElementBehaviorSiteOM2* This,LONG lCookie,IHTMLEventObj *pEventObject) {
    return This->lpVtbl->FireEvent(This,lCookie,pEventObject);
}
static inline HRESULT IElementBehaviorSiteOM2_CreateEventObject(IElementBehaviorSiteOM2* This,IHTMLEventObj **ppEventObject) {
    return This->lpVtbl->CreateEventObject(This,ppEventObject);
}
static inline HRESULT IElementBehaviorSiteOM2_RegisterName(IElementBehaviorSiteOM2* This,LPOLESTR pchName) {
    return This->lpVtbl->RegisterName(This,pchName);
}
static inline HRESULT IElementBehaviorSiteOM2_RegisterUrn(IElementBehaviorSiteOM2* This,LPOLESTR pchUrn) {
    return This->lpVtbl->RegisterUrn(This,pchUrn);
}
/*** IElementBehaviorSiteOM2 methods ***/
static inline HRESULT IElementBehaviorSiteOM2_GetDefaults(IElementBehaviorSiteOM2* This,IHTMLElementDefaults **ppDefaults) {
    return This->lpVtbl->GetDefaults(This,ppDefaults);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSiteOM2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorRender interface
 */
#ifndef __IElementBehaviorRender_INTERFACE_DEFINED__
#define __IElementBehaviorRender_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorRender, 0x3050f4aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4aa-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorRender : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Draw(
        HDC hdc,
        LONG lLayer,
        RECT *pRect,
        IUnknown *pReserved) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetRenderInfo(
        LONG *plRenderInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE HitTestPoint(
        POINT *pPoint,
        IUnknown *pReserved,
        WINBOOL *pbHit) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorRender, 0x3050f4aa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorRenderVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorRender *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorRender *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorRender *This);

    /*** IElementBehaviorRender methods ***/
    HRESULT (STDMETHODCALLTYPE *Draw)(
        IElementBehaviorRender *This,
        HDC hdc,
        LONG lLayer,
        RECT *pRect,
        IUnknown *pReserved);

    HRESULT (STDMETHODCALLTYPE *GetRenderInfo)(
        IElementBehaviorRender *This,
        LONG *plRenderInfo);

    HRESULT (STDMETHODCALLTYPE *HitTestPoint)(
        IElementBehaviorRender *This,
        POINT *pPoint,
        IUnknown *pReserved,
        WINBOOL *pbHit);

    END_INTERFACE
} IElementBehaviorRenderVtbl;

interface IElementBehaviorRender {
    CONST_VTBL IElementBehaviorRenderVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorRender_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorRender_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorRender_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorRender methods ***/
#define IElementBehaviorRender_Draw(This,hdc,lLayer,pRect,pReserved) (This)->lpVtbl->Draw(This,hdc,lLayer,pRect,pReserved)
#define IElementBehaviorRender_GetRenderInfo(This,plRenderInfo) (This)->lpVtbl->GetRenderInfo(This,plRenderInfo)
#define IElementBehaviorRender_HitTestPoint(This,pPoint,pReserved,pbHit) (This)->lpVtbl->HitTestPoint(This,pPoint,pReserved,pbHit)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorRender_QueryInterface(IElementBehaviorRender* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorRender_AddRef(IElementBehaviorRender* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorRender_Release(IElementBehaviorRender* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorRender methods ***/
static inline HRESULT IElementBehaviorRender_Draw(IElementBehaviorRender* This,HDC hdc,LONG lLayer,RECT *pRect,IUnknown *pReserved) {
    return This->lpVtbl->Draw(This,hdc,lLayer,pRect,pReserved);
}
static inline HRESULT IElementBehaviorRender_GetRenderInfo(IElementBehaviorRender* This,LONG *plRenderInfo) {
    return This->lpVtbl->GetRenderInfo(This,plRenderInfo);
}
static inline HRESULT IElementBehaviorRender_HitTestPoint(IElementBehaviorRender* This,POINT *pPoint,IUnknown *pReserved,WINBOOL *pbHit) {
    return This->lpVtbl->HitTestPoint(This,pPoint,pReserved,pbHit);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorRender_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSiteRender interface
 */
#ifndef __IElementBehaviorSiteRender_INTERFACE_DEFINED__
#define __IElementBehaviorSiteRender_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSiteRender, 0x3050f4a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4a7-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteRender : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Invalidate(
        RECT *pRect) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateRenderInfo(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateStyle(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSiteRender, 0x3050f4a7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSiteRenderVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSiteRender *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSiteRender *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSiteRender *This);

    /*** IElementBehaviorSiteRender methods ***/
    HRESULT (STDMETHODCALLTYPE *Invalidate)(
        IElementBehaviorSiteRender *This,
        RECT *pRect);

    HRESULT (STDMETHODCALLTYPE *InvalidateRenderInfo)(
        IElementBehaviorSiteRender *This);

    HRESULT (STDMETHODCALLTYPE *InvalidateStyle)(
        IElementBehaviorSiteRender *This);

    END_INTERFACE
} IElementBehaviorSiteRenderVtbl;

interface IElementBehaviorSiteRender {
    CONST_VTBL IElementBehaviorSiteRenderVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSiteRender_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSiteRender_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSiteRender_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSiteRender methods ***/
#define IElementBehaviorSiteRender_Invalidate(This,pRect) (This)->lpVtbl->Invalidate(This,pRect)
#define IElementBehaviorSiteRender_InvalidateRenderInfo(This) (This)->lpVtbl->InvalidateRenderInfo(This)
#define IElementBehaviorSiteRender_InvalidateStyle(This) (This)->lpVtbl->InvalidateStyle(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSiteRender_QueryInterface(IElementBehaviorSiteRender* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSiteRender_AddRef(IElementBehaviorSiteRender* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSiteRender_Release(IElementBehaviorSiteRender* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSiteRender methods ***/
static inline HRESULT IElementBehaviorSiteRender_Invalidate(IElementBehaviorSiteRender* This,RECT *pRect) {
    return This->lpVtbl->Invalidate(This,pRect);
}
static inline HRESULT IElementBehaviorSiteRender_InvalidateRenderInfo(IElementBehaviorSiteRender* This) {
    return This->lpVtbl->InvalidateRenderInfo(This);
}
static inline HRESULT IElementBehaviorSiteRender_InvalidateStyle(IElementBehaviorSiteRender* This) {
    return This->lpVtbl->InvalidateStyle(This);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSiteRender_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorCategory interface
 */
#ifndef __IElementBehaviorCategory_INTERFACE_DEFINED__
#define __IElementBehaviorCategory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorCategory, 0x3050f4ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ed-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorCategory : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetCategory(
        LPOLESTR *ppchCategory) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorCategory, 0x3050f4ed, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorCategoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorCategory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorCategory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorCategory *This);

    /*** IElementBehaviorCategory methods ***/
    HRESULT (STDMETHODCALLTYPE *GetCategory)(
        IElementBehaviorCategory *This,
        LPOLESTR *ppchCategory);

    END_INTERFACE
} IElementBehaviorCategoryVtbl;

interface IElementBehaviorCategory {
    CONST_VTBL IElementBehaviorCategoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorCategory_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorCategory methods ***/
#define IElementBehaviorCategory_GetCategory(This,ppchCategory) (This)->lpVtbl->GetCategory(This,ppchCategory)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorCategory_QueryInterface(IElementBehaviorCategory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorCategory_AddRef(IElementBehaviorCategory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorCategory_Release(IElementBehaviorCategory* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorCategory methods ***/
static inline HRESULT IElementBehaviorCategory_GetCategory(IElementBehaviorCategory* This,LPOLESTR *ppchCategory) {
    return This->lpVtbl->GetCategory(This,ppchCategory);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorCategory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSiteCategory interface
 */
#ifndef __IElementBehaviorSiteCategory_INTERFACE_DEFINED__
#define __IElementBehaviorSiteCategory_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSiteCategory, 0x3050f4ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f4ee-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteCategory : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetRelatedBehaviors(
        LONG lDirection,
        LPOLESTR pchCategory,
        IEnumUnknown **ppEnumerator) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSiteCategory, 0x3050f4ee, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSiteCategoryVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSiteCategory *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSiteCategory *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSiteCategory *This);

    /*** IElementBehaviorSiteCategory methods ***/
    HRESULT (STDMETHODCALLTYPE *GetRelatedBehaviors)(
        IElementBehaviorSiteCategory *This,
        LONG lDirection,
        LPOLESTR pchCategory,
        IEnumUnknown **ppEnumerator);

    END_INTERFACE
} IElementBehaviorSiteCategoryVtbl;

interface IElementBehaviorSiteCategory {
    CONST_VTBL IElementBehaviorSiteCategoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSiteCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSiteCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSiteCategory_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSiteCategory methods ***/
#define IElementBehaviorSiteCategory_GetRelatedBehaviors(This,lDirection,pchCategory,ppEnumerator) (This)->lpVtbl->GetRelatedBehaviors(This,lDirection,pchCategory,ppEnumerator)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSiteCategory_QueryInterface(IElementBehaviorSiteCategory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSiteCategory_AddRef(IElementBehaviorSiteCategory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSiteCategory_Release(IElementBehaviorSiteCategory* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSiteCategory methods ***/
static inline HRESULT IElementBehaviorSiteCategory_GetRelatedBehaviors(IElementBehaviorSiteCategory* This,LONG lDirection,LPOLESTR pchCategory,IEnumUnknown **ppEnumerator) {
    return This->lpVtbl->GetRelatedBehaviors(This,lDirection,pchCategory,ppEnumerator);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSiteCategory_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSubmit interface
 */
#ifndef __IElementBehaviorSubmit_INTERFACE_DEFINED__
#define __IElementBehaviorSubmit_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSubmit, 0x3050f646, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f646-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSubmit : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetSubmitInfo(
        IHTMLSubmitData *pSubmitData) = 0;

    virtual HRESULT STDMETHODCALLTYPE Reset(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSubmit, 0x3050f646, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSubmitVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSubmit *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSubmit *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSubmit *This);

    /*** IElementBehaviorSubmit methods ***/
    HRESULT (STDMETHODCALLTYPE *GetSubmitInfo)(
        IElementBehaviorSubmit *This,
        IHTMLSubmitData *pSubmitData);

    HRESULT (STDMETHODCALLTYPE *Reset)(
        IElementBehaviorSubmit *This);

    END_INTERFACE
} IElementBehaviorSubmitVtbl;

interface IElementBehaviorSubmit {
    CONST_VTBL IElementBehaviorSubmitVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSubmit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSubmit_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSubmit_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSubmit methods ***/
#define IElementBehaviorSubmit_GetSubmitInfo(This,pSubmitData) (This)->lpVtbl->GetSubmitInfo(This,pSubmitData)
#define IElementBehaviorSubmit_Reset(This) (This)->lpVtbl->Reset(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSubmit_QueryInterface(IElementBehaviorSubmit* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSubmit_AddRef(IElementBehaviorSubmit* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSubmit_Release(IElementBehaviorSubmit* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSubmit methods ***/
static inline HRESULT IElementBehaviorSubmit_GetSubmitInfo(IElementBehaviorSubmit* This,IHTMLSubmitData *pSubmitData) {
    return This->lpVtbl->GetSubmitInfo(This,pSubmitData);
}
static inline HRESULT IElementBehaviorSubmit_Reset(IElementBehaviorSubmit* This) {
    return This->lpVtbl->Reset(This);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSubmit_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorFocus interface
 */
#ifndef __IElementBehaviorFocus_INTERFACE_DEFINED__
#define __IElementBehaviorFocus_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorFocus, 0x3050f6b6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6b6-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorFocus : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetFocusRect(
        RECT *pRect) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorFocus, 0x3050f6b6, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorFocusVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorFocus *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorFocus *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorFocus *This);

    /*** IElementBehaviorFocus methods ***/
    HRESULT (STDMETHODCALLTYPE *GetFocusRect)(
        IElementBehaviorFocus *This,
        RECT *pRect);

    END_INTERFACE
} IElementBehaviorFocusVtbl;

interface IElementBehaviorFocus {
    CONST_VTBL IElementBehaviorFocusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorFocus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorFocus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorFocus_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorFocus methods ***/
#define IElementBehaviorFocus_GetFocusRect(This,pRect) (This)->lpVtbl->GetFocusRect(This,pRect)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorFocus_QueryInterface(IElementBehaviorFocus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorFocus_AddRef(IElementBehaviorFocus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorFocus_Release(IElementBehaviorFocus* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorFocus methods ***/
static inline HRESULT IElementBehaviorFocus_GetFocusRect(IElementBehaviorFocus* This,RECT *pRect) {
    return This->lpVtbl->GetFocusRect(This,pRect);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorFocus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorLayout interface
 */
#ifndef __IElementBehaviorLayout_INTERFACE_DEFINED__
#define __IElementBehaviorLayout_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorLayout, 0x3050f6ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6ba-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorLayout : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetSize(
        LONG dwFlags,
        SIZE sizeContent,
        POINT *pptTranslateBy,
        POINT *pptTopLeft,
        SIZE *psizeProposed) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLayoutInfo(
        LONG *plLayoutInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPosition(
        LONG lFlags,
        POINT *pptTopLeft) = 0;

    virtual HRESULT STDMETHODCALLTYPE MapSize(
        SIZE *psizeIn,
        RECT *prcOut) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorLayout, 0x3050f6ba, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorLayoutVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorLayout *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorLayout *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorLayout *This);

    /*** IElementBehaviorLayout methods ***/
    HRESULT (STDMETHODCALLTYPE *GetSize)(
        IElementBehaviorLayout *This,
        LONG dwFlags,
        SIZE sizeContent,
        POINT *pptTranslateBy,
        POINT *pptTopLeft,
        SIZE *psizeProposed);

    HRESULT (STDMETHODCALLTYPE *GetLayoutInfo)(
        IElementBehaviorLayout *This,
        LONG *plLayoutInfo);

    HRESULT (STDMETHODCALLTYPE *GetPosition)(
        IElementBehaviorLayout *This,
        LONG lFlags,
        POINT *pptTopLeft);

    HRESULT (STDMETHODCALLTYPE *MapSize)(
        IElementBehaviorLayout *This,
        SIZE *psizeIn,
        RECT *prcOut);

    END_INTERFACE
} IElementBehaviorLayoutVtbl;

interface IElementBehaviorLayout {
    CONST_VTBL IElementBehaviorLayoutVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorLayout_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorLayout methods ***/
#define IElementBehaviorLayout_GetSize(This,dwFlags,sizeContent,pptTranslateBy,pptTopLeft,psizeProposed) (This)->lpVtbl->GetSize(This,dwFlags,sizeContent,pptTranslateBy,pptTopLeft,psizeProposed)
#define IElementBehaviorLayout_GetLayoutInfo(This,plLayoutInfo) (This)->lpVtbl->GetLayoutInfo(This,plLayoutInfo)
#define IElementBehaviorLayout_GetPosition(This,lFlags,pptTopLeft) (This)->lpVtbl->GetPosition(This,lFlags,pptTopLeft)
#define IElementBehaviorLayout_MapSize(This,psizeIn,prcOut) (This)->lpVtbl->MapSize(This,psizeIn,prcOut)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorLayout_QueryInterface(IElementBehaviorLayout* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorLayout_AddRef(IElementBehaviorLayout* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorLayout_Release(IElementBehaviorLayout* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorLayout methods ***/
static inline HRESULT IElementBehaviorLayout_GetSize(IElementBehaviorLayout* This,LONG dwFlags,SIZE sizeContent,POINT *pptTranslateBy,POINT *pptTopLeft,SIZE *psizeProposed) {
    return This->lpVtbl->GetSize(This,dwFlags,sizeContent,pptTranslateBy,pptTopLeft,psizeProposed);
}
static inline HRESULT IElementBehaviorLayout_GetLayoutInfo(IElementBehaviorLayout* This,LONG *plLayoutInfo) {
    return This->lpVtbl->GetLayoutInfo(This,plLayoutInfo);
}
static inline HRESULT IElementBehaviorLayout_GetPosition(IElementBehaviorLayout* This,LONG lFlags,POINT *pptTopLeft) {
    return This->lpVtbl->GetPosition(This,lFlags,pptTopLeft);
}
static inline HRESULT IElementBehaviorLayout_MapSize(IElementBehaviorLayout* This,SIZE *psizeIn,RECT *prcOut) {
    return This->lpVtbl->MapSize(This,psizeIn,prcOut);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorLayout_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorLayout2 interface
 */
#ifndef __IElementBehaviorLayout2_INTERFACE_DEFINED__
#define __IElementBehaviorLayout2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorLayout2, 0x3050f846, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f846-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorLayout2 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetTextDescent(
        LONG *plDescent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorLayout2, 0x3050f846, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorLayout2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorLayout2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorLayout2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorLayout2 *This);

    /*** IElementBehaviorLayout2 methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTextDescent)(
        IElementBehaviorLayout2 *This,
        LONG *plDescent);

    END_INTERFACE
} IElementBehaviorLayout2Vtbl;

interface IElementBehaviorLayout2 {
    CONST_VTBL IElementBehaviorLayout2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorLayout2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorLayout2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorLayout2_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorLayout2 methods ***/
#define IElementBehaviorLayout2_GetTextDescent(This,plDescent) (This)->lpVtbl->GetTextDescent(This,plDescent)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorLayout2_QueryInterface(IElementBehaviorLayout2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorLayout2_AddRef(IElementBehaviorLayout2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorLayout2_Release(IElementBehaviorLayout2* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorLayout2 methods ***/
static inline HRESULT IElementBehaviorLayout2_GetTextDescent(IElementBehaviorLayout2* This,LONG *plDescent) {
    return This->lpVtbl->GetTextDescent(This,plDescent);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorLayout2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSiteLayout interface
 */
#ifndef __IElementBehaviorSiteLayout_INTERFACE_DEFINED__
#define __IElementBehaviorSiteLayout_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSiteLayout, 0x3050f6b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6b7-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteLayout : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE InvalidateLayoutInfo(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateSize(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetMediaResolution(
        SIZE *psizeResolution) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSiteLayout, 0x3050f6b7, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSiteLayoutVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSiteLayout *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSiteLayout *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSiteLayout *This);

    /*** IElementBehaviorSiteLayout methods ***/
    HRESULT (STDMETHODCALLTYPE *InvalidateLayoutInfo)(
        IElementBehaviorSiteLayout *This);

    HRESULT (STDMETHODCALLTYPE *InvalidateSize)(
        IElementBehaviorSiteLayout *This);

    HRESULT (STDMETHODCALLTYPE *GetMediaResolution)(
        IElementBehaviorSiteLayout *This,
        SIZE *psizeResolution);

    END_INTERFACE
} IElementBehaviorSiteLayoutVtbl;

interface IElementBehaviorSiteLayout {
    CONST_VTBL IElementBehaviorSiteLayoutVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSiteLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSiteLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSiteLayout_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSiteLayout methods ***/
#define IElementBehaviorSiteLayout_InvalidateLayoutInfo(This) (This)->lpVtbl->InvalidateLayoutInfo(This)
#define IElementBehaviorSiteLayout_InvalidateSize(This) (This)->lpVtbl->InvalidateSize(This)
#define IElementBehaviorSiteLayout_GetMediaResolution(This,psizeResolution) (This)->lpVtbl->GetMediaResolution(This,psizeResolution)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSiteLayout_QueryInterface(IElementBehaviorSiteLayout* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSiteLayout_AddRef(IElementBehaviorSiteLayout* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSiteLayout_Release(IElementBehaviorSiteLayout* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSiteLayout methods ***/
static inline HRESULT IElementBehaviorSiteLayout_InvalidateLayoutInfo(IElementBehaviorSiteLayout* This) {
    return This->lpVtbl->InvalidateLayoutInfo(This);
}
static inline HRESULT IElementBehaviorSiteLayout_InvalidateSize(IElementBehaviorSiteLayout* This) {
    return This->lpVtbl->InvalidateSize(This);
}
static inline HRESULT IElementBehaviorSiteLayout_GetMediaResolution(IElementBehaviorSiteLayout* This,SIZE *psizeResolution) {
    return This->lpVtbl->GetMediaResolution(This,psizeResolution);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSiteLayout_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IElementBehaviorSiteLayout2 interface
 */
#ifndef __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__
#define __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IElementBehaviorSiteLayout2, 0x3050f847, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f847-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteLayout2 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetFontInfo(
        LOGFONTW *plf) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IElementBehaviorSiteLayout2, 0x3050f847, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IElementBehaviorSiteLayout2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IElementBehaviorSiteLayout2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IElementBehaviorSiteLayout2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IElementBehaviorSiteLayout2 *This);

    /*** IElementBehaviorSiteLayout2 methods ***/
    HRESULT (STDMETHODCALLTYPE *GetFontInfo)(
        IElementBehaviorSiteLayout2 *This,
        LOGFONTW *plf);

    END_INTERFACE
} IElementBehaviorSiteLayout2Vtbl;

interface IElementBehaviorSiteLayout2 {
    CONST_VTBL IElementBehaviorSiteLayout2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IElementBehaviorSiteLayout2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IElementBehaviorSiteLayout2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IElementBehaviorSiteLayout2_Release(This) (This)->lpVtbl->Release(This)
/*** IElementBehaviorSiteLayout2 methods ***/
#define IElementBehaviorSiteLayout2_GetFontInfo(This,plf) (This)->lpVtbl->GetFontInfo(This,plf)
#else
/*** IUnknown methods ***/
static inline HRESULT IElementBehaviorSiteLayout2_QueryInterface(IElementBehaviorSiteLayout2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IElementBehaviorSiteLayout2_AddRef(IElementBehaviorSiteLayout2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IElementBehaviorSiteLayout2_Release(IElementBehaviorSiteLayout2* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSiteLayout2 methods ***/
static inline HRESULT IElementBehaviorSiteLayout2_GetFontInfo(IElementBehaviorSiteLayout2* This,LOGFONTW *plf) {
    return This->lpVtbl->GetFontInfo(This,plf);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IHostBehaviorInit interface
 */
#ifndef __IHostBehaviorInit_INTERFACE_DEFINED__
#define __IHostBehaviorInit_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHostBehaviorInit, 0x3050f842, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f842-98b5-11cf-bb82-00aa00bdce0b")
IHostBehaviorInit : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE PopulateNamespaceTable(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHostBehaviorInit, 0x3050f842, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHostBehaviorInitVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IHostBehaviorInit *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IHostBehaviorInit *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IHostBehaviorInit *This);

    /*** IHostBehaviorInit methods ***/
    HRESULT (STDMETHODCALLTYPE *PopulateNamespaceTable)(
        IHostBehaviorInit *This);

    END_INTERFACE
} IHostBehaviorInitVtbl;

interface IHostBehaviorInit {
    CONST_VTBL IHostBehaviorInitVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHostBehaviorInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHostBehaviorInit_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHostBehaviorInit_Release(This) (This)->lpVtbl->Release(This)
/*** IHostBehaviorInit methods ***/
#define IHostBehaviorInit_PopulateNamespaceTable(This) (This)->lpVtbl->PopulateNamespaceTable(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IHostBehaviorInit_QueryInterface(IHostBehaviorInit* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IHostBehaviorInit_AddRef(IHostBehaviorInit* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IHostBehaviorInit_Release(IHostBehaviorInit* This) {
    return This->lpVtbl->Release(This);
}
/*** IHostBehaviorInit methods ***/
static inline HRESULT IHostBehaviorInit_PopulateNamespaceTable(IHostBehaviorInit* This) {
    return This->lpVtbl->PopulateNamespaceTable(This);
}
#endif
#endif

#endif


#endif  /* __IHostBehaviorInit_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IViewObjectPresentSite interface
 */
#ifndef __IViewObjectPresentSite_INTERFACE_DEFINED__
#define __IViewObjectPresentSite_INTERFACE_DEFINED__

DEFINE_GUID(IID_IViewObjectPresentSite, 0x305106e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e1-98b5-11cf-bb82-00aa00bdce0b")
IViewObjectPresentSite : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE CreateSurfacePresenter(
        IUnknown *pDevice,
        UINT width,
        UINT height,
        UINT backBufferCount,
        DXGI_FORMAT format,
        VIEW_OBJECT_ALPHA_MODE mode,
        ISurfacePresenter **ppQueue) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsHardwareComposition(
        WINBOOL *pIsHardwareComposition) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetCompositionMode(
        VIEW_OBJECT_COMPOSITION_MODE mode) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IViewObjectPresentSite, 0x305106e1, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IViewObjectPresentSiteVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IViewObjectPresentSite *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IViewObjectPresentSite *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IViewObjectPresentSite *This);

    /*** IViewObjectPresentSite methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateSurfacePresenter)(
        IViewObjectPresentSite *This,
        IUnknown *pDevice,
        UINT width,
        UINT height,
        UINT backBufferCount,
        DXGI_FORMAT format,
        VIEW_OBJECT_ALPHA_MODE mode,
        ISurfacePresenter **ppQueue);

    HRESULT (STDMETHODCALLTYPE *IsHardwareComposition)(
        IViewObjectPresentSite *This,
        WINBOOL *pIsHardwareComposition);

    HRESULT (STDMETHODCALLTYPE *SetCompositionMode)(
        IViewObjectPresentSite *This,
        VIEW_OBJECT_COMPOSITION_MODE mode);

    END_INTERFACE
} IViewObjectPresentSiteVtbl;

interface IViewObjectPresentSite {
    CONST_VTBL IViewObjectPresentSiteVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IViewObjectPresentSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IViewObjectPresentSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IViewObjectPresentSite_Release(This) (This)->lpVtbl->Release(This)
/*** IViewObjectPresentSite methods ***/
#define IViewObjectPresentSite_CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue) (This)->lpVtbl->CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue)
#define IViewObjectPresentSite_IsHardwareComposition(This,pIsHardwareComposition) (This)->lpVtbl->IsHardwareComposition(This,pIsHardwareComposition)
#define IViewObjectPresentSite_SetCompositionMode(This,mode) (This)->lpVtbl->SetCompositionMode(This,mode)
#else
/*** IUnknown methods ***/
static inline HRESULT IViewObjectPresentSite_QueryInterface(IViewObjectPresentSite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IViewObjectPresentSite_AddRef(IViewObjectPresentSite* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IViewObjectPresentSite_Release(IViewObjectPresentSite* This) {
    return This->lpVtbl->Release(This);
}
/*** IViewObjectPresentSite methods ***/
static inline HRESULT IViewObjectPresentSite_CreateSurfacePresenter(IViewObjectPresentSite* This,IUnknown *pDevice,UINT width,UINT height,UINT backBufferCount,DXGI_FORMAT format,VIEW_OBJECT_ALPHA_MODE mode,ISurfacePresenter **ppQueue) {
    return This->lpVtbl->CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue);
}
static inline HRESULT IViewObjectPresentSite_IsHardwareComposition(IViewObjectPresentSite* This,WINBOOL *pIsHardwareComposition) {
    return This->lpVtbl->IsHardwareComposition(This,pIsHardwareComposition);
}
static inline HRESULT IViewObjectPresentSite_SetCompositionMode(IViewObjectPresentSite* This,VIEW_OBJECT_COMPOSITION_MODE mode) {
    return This->lpVtbl->SetCompositionMode(This,mode);
}
#endif
#endif

#endif


#endif  /* __IViewObjectPresentSite_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISurfacePresenter interface
 */
#ifndef __ISurfacePresenter_INTERFACE_DEFINED__
#define __ISurfacePresenter_INTERFACE_DEFINED__

DEFINE_GUID(IID_ISurfacePresenter, 0x305106e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e2-98b5-11cf-bb82-00aa00bdce0b")
ISurfacePresenter : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE Present(
        UINT uBuffer,
        RECT *pDirty) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetBuffer(
        UINT backBufferIndex,
        REFIID riid,
        void **ppBuffer) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsCurrent(
        WINBOOL *pIsCurrent) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISurfacePresenter, 0x305106e2, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ISurfacePresenterVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ISurfacePresenter *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ISurfacePresenter *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ISurfacePresenter *This);

    /*** ISurfacePresenter methods ***/
    HRESULT (STDMETHODCALLTYPE *Present)(
        ISurfacePresenter *This,
        UINT uBuffer,
        RECT *pDirty);

    HRESULT (STDMETHODCALLTYPE *GetBuffer)(
        ISurfacePresenter *This,
        UINT backBufferIndex,
        REFIID riid,
        void **ppBuffer);

    HRESULT (STDMETHODCALLTYPE *IsCurrent)(
        ISurfacePresenter *This,
        WINBOOL *pIsCurrent);

    END_INTERFACE
} ISurfacePresenterVtbl;

interface ISurfacePresenter {
    CONST_VTBL ISurfacePresenterVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISurfacePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISurfacePresenter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISurfacePresenter_Release(This) (This)->lpVtbl->Release(This)
/*** ISurfacePresenter methods ***/
#define ISurfacePresenter_Present(This,uBuffer,pDirty) (This)->lpVtbl->Present(This,uBuffer,pDirty)
#define ISurfacePresenter_GetBuffer(This,backBufferIndex,riid,ppBuffer) (This)->lpVtbl->GetBuffer(This,backBufferIndex,riid,ppBuffer)
#define ISurfacePresenter_IsCurrent(This,pIsCurrent) (This)->lpVtbl->IsCurrent(This,pIsCurrent)
#else
/*** IUnknown methods ***/
static inline HRESULT ISurfacePresenter_QueryInterface(ISurfacePresenter* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ISurfacePresenter_AddRef(ISurfacePresenter* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ISurfacePresenter_Release(ISurfacePresenter* This) {
    return This->lpVtbl->Release(This);
}
/*** ISurfacePresenter methods ***/
static inline HRESULT ISurfacePresenter_Present(ISurfacePresenter* This,UINT uBuffer,RECT *pDirty) {
    return This->lpVtbl->Present(This,uBuffer,pDirty);
}
static inline HRESULT ISurfacePresenter_GetBuffer(ISurfacePresenter* This,UINT backBufferIndex,REFIID riid,void **ppBuffer) {
    return This->lpVtbl->GetBuffer(This,backBufferIndex,riid,ppBuffer);
}
static inline HRESULT ISurfacePresenter_IsCurrent(ISurfacePresenter* This,WINBOOL *pIsCurrent) {
    return This->lpVtbl->IsCurrent(This,pIsCurrent);
}
#endif
#endif

#endif


#endif  /* __ISurfacePresenter_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ICanvasPixelArrayData interface
 */
#ifndef __ICanvasPixelArrayData_INTERFACE_DEFINED__
#define __ICanvasPixelArrayData_INTERFACE_DEFINED__

DEFINE_GUID(IID_ICanvasPixelArrayData, 0x305107f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107f9-98b5-11cf-bb82-00aa00bdce0b")
ICanvasPixelArrayData : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetBufferPointer(
        BYTE **ppBuffer,
        ULONG *pBufferLength) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICanvasPixelArrayData, 0x305107f9, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ICanvasPixelArrayDataVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ICanvasPixelArrayData *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ICanvasPixelArrayData *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ICanvasPixelArrayData *This);

    /*** ICanvasPixelArrayData methods ***/
    HRESULT (STDMETHODCALLTYPE *GetBufferPointer)(
        ICanvasPixelArrayData *This,
        BYTE **ppBuffer,
        ULONG *pBufferLength);

    END_INTERFACE
} ICanvasPixelArrayDataVtbl;

interface ICanvasPixelArrayData {
    CONST_VTBL ICanvasPixelArrayDataVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICanvasPixelArrayData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICanvasPixelArrayData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICanvasPixelArrayData_Release(This) (This)->lpVtbl->Release(This)
/*** ICanvasPixelArrayData methods ***/
#define ICanvasPixelArrayData_GetBufferPointer(This,ppBuffer,pBufferLength) (This)->lpVtbl->GetBufferPointer(This,ppBuffer,pBufferLength)
#else
/*** IUnknown methods ***/
static inline HRESULT ICanvasPixelArrayData_QueryInterface(ICanvasPixelArrayData* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ICanvasPixelArrayData_AddRef(ICanvasPixelArrayData* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ICanvasPixelArrayData_Release(ICanvasPixelArrayData* This) {
    return This->lpVtbl->Release(This);
}
/*** ICanvasPixelArrayData methods ***/
static inline HRESULT ICanvasPixelArrayData_GetBufferPointer(ICanvasPixelArrayData* This,BYTE **ppBuffer,ULONG *pBufferLength) {
    return This->lpVtbl->GetBufferPointer(This,ppBuffer,pBufferLength);
}
#endif
#endif

#endif


#endif  /* __ICanvasPixelArrayData_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IViewObjectPrint interface
 */
#ifndef __IViewObjectPrint_INTERFACE_DEFINED__
#define __IViewObjectPrint_INTERFACE_DEFINED__

DEFINE_GUID(IID_IViewObjectPrint, 0x305106e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305106e3-98b5-11cf-bb82-00aa00bdce0b")
IViewObjectPrint : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetPrintBitmap(
        IUnknown **ppPrintBitmap) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IViewObjectPrint, 0x305106e3, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IViewObjectPrintVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IViewObjectPrint *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IViewObjectPrint *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IViewObjectPrint *This);

    /*** IViewObjectPrint methods ***/
    HRESULT (STDMETHODCALLTYPE *GetPrintBitmap)(
        IViewObjectPrint *This,
        IUnknown **ppPrintBitmap);

    END_INTERFACE
} IViewObjectPrintVtbl;

interface IViewObjectPrint {
    CONST_VTBL IViewObjectPrintVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IViewObjectPrint_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IViewObjectPrint_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IViewObjectPrint_Release(This) (This)->lpVtbl->Release(This)
/*** IViewObjectPrint methods ***/
#define IViewObjectPrint_GetPrintBitmap(This,ppPrintBitmap) (This)->lpVtbl->GetPrintBitmap(This,ppPrintBitmap)
#else
/*** IUnknown methods ***/
static inline HRESULT IViewObjectPrint_QueryInterface(IViewObjectPrint* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IViewObjectPrint_AddRef(IViewObjectPrint* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IViewObjectPrint_Release(IViewObjectPrint* This) {
    return This->lpVtbl->Release(This);
}
/*** IViewObjectPrint methods ***/
static inline HRESULT IViewObjectPrint_GetPrintBitmap(IViewObjectPrint* This,IUnknown **ppPrintBitmap) {
    return This->lpVtbl->GetPrintBitmap(This,ppPrintBitmap);
}
#endif
#endif

#endif


#endif  /* __IViewObjectPrint_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IViewObjectPresentNotifySite interface
 */
#ifndef __IViewObjectPresentNotifySite_INTERFACE_DEFINED__
#define __IViewObjectPresentNotifySite_INTERFACE_DEFINED__

DEFINE_GUID(IID_IViewObjectPresentNotifySite, 0x305107fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107fa-98b5-11cf-bb82-00aa00bdce0b")
IViewObjectPresentNotifySite : public IViewObjectPresentSite
{
    virtual HRESULT STDMETHODCALLTYPE RequestFrame(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IViewObjectPresentNotifySite, 0x305107fa, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IViewObjectPresentNotifySiteVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IViewObjectPresentNotifySite *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IViewObjectPresentNotifySite *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IViewObjectPresentNotifySite *This);

    /*** IViewObjectPresentSite methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateSurfacePresenter)(
        IViewObjectPresentNotifySite *This,
        IUnknown *pDevice,
        UINT width,
        UINT height,
        UINT backBufferCount,
        DXGI_FORMAT format,
        VIEW_OBJECT_ALPHA_MODE mode,
        ISurfacePresenter **ppQueue);

    HRESULT (STDMETHODCALLTYPE *IsHardwareComposition)(
        IViewObjectPresentNotifySite *This,
        WINBOOL *pIsHardwareComposition);

    HRESULT (STDMETHODCALLTYPE *SetCompositionMode)(
        IViewObjectPresentNotifySite *This,
        VIEW_OBJECT_COMPOSITION_MODE mode);

    /*** IViewObjectPresentNotifySite methods ***/
    HRESULT (STDMETHODCALLTYPE *RequestFrame)(
        IViewObjectPresentNotifySite *This);

    END_INTERFACE
} IViewObjectPresentNotifySiteVtbl;

interface IViewObjectPresentNotifySite {
    CONST_VTBL IViewObjectPresentNotifySiteVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IViewObjectPresentNotifySite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IViewObjectPresentNotifySite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IViewObjectPresentNotifySite_Release(This) (This)->lpVtbl->Release(This)
/*** IViewObjectPresentSite methods ***/
#define IViewObjectPresentNotifySite_CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue) (This)->lpVtbl->CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue)
#define IViewObjectPresentNotifySite_IsHardwareComposition(This,pIsHardwareComposition) (This)->lpVtbl->IsHardwareComposition(This,pIsHardwareComposition)
#define IViewObjectPresentNotifySite_SetCompositionMode(This,mode) (This)->lpVtbl->SetCompositionMode(This,mode)
/*** IViewObjectPresentNotifySite methods ***/
#define IViewObjectPresentNotifySite_RequestFrame(This) (This)->lpVtbl->RequestFrame(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IViewObjectPresentNotifySite_QueryInterface(IViewObjectPresentNotifySite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IViewObjectPresentNotifySite_AddRef(IViewObjectPresentNotifySite* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IViewObjectPresentNotifySite_Release(IViewObjectPresentNotifySite* This) {
    return This->lpVtbl->Release(This);
}
/*** IViewObjectPresentSite methods ***/
static inline HRESULT IViewObjectPresentNotifySite_CreateSurfacePresenter(IViewObjectPresentNotifySite* This,IUnknown *pDevice,UINT width,UINT height,UINT backBufferCount,DXGI_FORMAT format,VIEW_OBJECT_ALPHA_MODE mode,ISurfacePresenter **ppQueue) {
    return This->lpVtbl->CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue);
}
static inline HRESULT IViewObjectPresentNotifySite_IsHardwareComposition(IViewObjectPresentNotifySite* This,WINBOOL *pIsHardwareComposition) {
    return This->lpVtbl->IsHardwareComposition(This,pIsHardwareComposition);
}
static inline HRESULT IViewObjectPresentNotifySite_SetCompositionMode(IViewObjectPresentNotifySite* This,VIEW_OBJECT_COMPOSITION_MODE mode) {
    return This->lpVtbl->SetCompositionMode(This,mode);
}
/*** IViewObjectPresentNotifySite methods ***/
static inline HRESULT IViewObjectPresentNotifySite_RequestFrame(IViewObjectPresentNotifySite* This) {
    return This->lpVtbl->RequestFrame(This);
}
#endif
#endif

#endif


#endif  /* __IViewObjectPresentNotifySite_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IViewObjectPresentNotify interface
 */
#ifndef __IViewObjectPresentNotify_INTERFACE_DEFINED__
#define __IViewObjectPresentNotify_INTERFACE_DEFINED__

DEFINE_GUID(IID_IViewObjectPresentNotify, 0x305107f8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("305107f8-98b5-11cf-bb82-00aa00bdce0b")
IViewObjectPresentNotify : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE OnPreRender(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IViewObjectPresentNotify, 0x305107f8, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IViewObjectPresentNotifyVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IViewObjectPresentNotify *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IViewObjectPresentNotify *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IViewObjectPresentNotify *This);

    /*** IViewObjectPresentNotify methods ***/
    HRESULT (STDMETHODCALLTYPE *OnPreRender)(
        IViewObjectPresentNotify *This);

    END_INTERFACE
} IViewObjectPresentNotifyVtbl;

interface IViewObjectPresentNotify {
    CONST_VTBL IViewObjectPresentNotifyVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IViewObjectPresentNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IViewObjectPresentNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IViewObjectPresentNotify_Release(This) (This)->lpVtbl->Release(This)
/*** IViewObjectPresentNotify methods ***/
#define IViewObjectPresentNotify_OnPreRender(This) (This)->lpVtbl->OnPreRender(This)
#else
/*** IUnknown methods ***/
static inline HRESULT IViewObjectPresentNotify_QueryInterface(IViewObjectPresentNotify* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IViewObjectPresentNotify_AddRef(IViewObjectPresentNotify* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IViewObjectPresentNotify_Release(IViewObjectPresentNotify* This) {
    return This->lpVtbl->Release(This);
}
/*** IViewObjectPresentNotify methods ***/
static inline HRESULT IViewObjectPresentNotify_OnPreRender(IViewObjectPresentNotify* This) {
    return This->lpVtbl->OnPreRender(This);
}
#endif
#endif

#endif


#endif  /* __IViewObjectPresentNotify_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITrackingProtection interface
 */
#ifndef __ITrackingProtection_INTERFACE_DEFINED__
#define __ITrackingProtection_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITrackingProtection, 0x30510803, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30510803-98b5-11cf-bb82-00aa00bdce0b")
ITrackingProtection : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE EvaluateUrl(
        BSTR bstrUrl,
        WINBOOL *pfAllowed) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEnabled(
        WINBOOL *pfEnabled) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITrackingProtection, 0x30510803, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct ITrackingProtectionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITrackingProtection *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITrackingProtection *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITrackingProtection *This);

    /*** ITrackingProtection methods ***/
    HRESULT (STDMETHODCALLTYPE *EvaluateUrl)(
        ITrackingProtection *This,
        BSTR bstrUrl,
        WINBOOL *pfAllowed);

    HRESULT (STDMETHODCALLTYPE *GetEnabled)(
        ITrackingProtection *This,
        WINBOOL *pfEnabled);

    END_INTERFACE
} ITrackingProtectionVtbl;

interface ITrackingProtection {
    CONST_VTBL ITrackingProtectionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITrackingProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITrackingProtection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITrackingProtection_Release(This) (This)->lpVtbl->Release(This)
/*** ITrackingProtection methods ***/
#define ITrackingProtection_EvaluateUrl(This,bstrUrl,pfAllowed) (This)->lpVtbl->EvaluateUrl(This,bstrUrl,pfAllowed)
#define ITrackingProtection_GetEnabled(This,pfEnabled) (This)->lpVtbl->GetEnabled(This,pfEnabled)
#else
/*** IUnknown methods ***/
static inline HRESULT ITrackingProtection_QueryInterface(ITrackingProtection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ITrackingProtection_AddRef(ITrackingProtection* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ITrackingProtection_Release(ITrackingProtection* This) {
    return This->lpVtbl->Release(This);
}
/*** ITrackingProtection methods ***/
static inline HRESULT ITrackingProtection_EvaluateUrl(ITrackingProtection* This,BSTR bstrUrl,WINBOOL *pfAllowed) {
    return This->lpVtbl->EvaluateUrl(This,bstrUrl,pfAllowed);
}
static inline HRESULT ITrackingProtection_GetEnabled(ITrackingProtection* This,WINBOOL *pfEnabled) {
    return This->lpVtbl->GetEnabled(This,pfEnabled);
}
#endif
#endif

#endif


#endif  /* __ITrackingProtection_INTERFACE_DEFINED__ */

#endif /* __MSHTML_LIBRARY_DEFINED__ */
#endif
/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
ULONG           __RPC_USER HDC_UserSize     (ULONG *, ULONG, HDC *);
unsigned char * __RPC_USER HDC_UserMarshal  (ULONG *, unsigned char *, HDC *);
unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
void            __RPC_USER HDC_UserFree     (ULONG *, HDC *);
ULONG           __RPC_USER HGLOBAL_UserSize     (ULONG *, ULONG, HGLOBAL *);
unsigned char * __RPC_USER HGLOBAL_UserMarshal  (ULONG *, unsigned char *, HGLOBAL *);
unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(ULONG *, unsigned char *, HGLOBAL *);
void            __RPC_USER HGLOBAL_UserFree     (ULONG *, HGLOBAL *);
ULONG           __RPC_USER HRGN_UserSize     (ULONG *, ULONG, HRGN *);
unsigned char * __RPC_USER HRGN_UserMarshal  (ULONG *, unsigned char *, HRGN *);
unsigned char * __RPC_USER HRGN_UserUnmarshal(ULONG *, unsigned char *, HRGN *);
void            __RPC_USER HRGN_UserFree     (ULONG *, HRGN *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __mshtml_h__ */
